mirror of
https://github.com/arsvendg/Stirling-PDF.git
synced 2026-07-14 18:44:05 +02:00
05b80fbe4fa55ba723d7725fc4bb3d5ccbc4608a
88
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
4047d02086 | chore: address restructure PR review feedback (#6423) | ||
|
|
0a50e765b7 |
Restructure/frontend editor (#6404)
## Move editor under `frontend/editor/`
Pure restructure: `frontend/` becomes the workspace, `frontend/editor/`
holds
the PDF editor. 1775 file renames + 40 wiring edits. No logic changes.
### Why
`frontend/` is currently the editor — its `src/`, `public/`,
`src-tauri/`,
config files all sit at the root. Promoting `frontend/` to a
workspace and putting the editor in a sibling folder leaves room for
future
apps to drop in alongside it, sharing one `package.json` /
`node_modules` /
lint config / Storybook.
### What moves
frontend/
├── editor/ ← NEW: everything editor-specific
│ ├── src/ ← was frontend/src/
│ ├── public/ ← was frontend/public/
│ ├── src-tauri/ ← was frontend/src-tauri/
│ ├── index.html, vite.config.ts, vitest.config.ts, playwright.config.ts
│ ├── tsconfig*.json, tailwind.config.js, postcss.config.js
│ ├── scripts/
│ ├── .env, .env.desktop, .env.saas
│ └── DeveloperGuide.md
├── package.json, package-lock.json, node_modules/ ← workspace install
├── eslint.config.mjs, .prettierrc, .prettierignore ← shared tooling
├── .gitignore
└── README.md
### Wiring edits (40 files)
- `.taskfiles/frontend.yml`, `desktop.yml`, `e2e.yml`
- `build.gradle`, `app/core/build.gradle`
- `eslint.config.mjs`, `frontend/package.json`, `.gitignore`,
`.prettierignore`
- `docker/frontend/Dockerfile`
- 8 `.github/workflows/*.yml`, plus `.github/dependabot.yml`,
`.github/config/.files.yaml`, `.github/labeler-config-srvaroa.yml`
- `scripts/translations/**`
- Docs: `AGENTS.md`, `CLAUDE.md`, `ADDING_TOOLS.md`,
`DeveloperGuide.md`,
`WINDOWS_SIGNING.md`, `devGuide/HowToAddNewLanguage.md`,
`frontend/README.md`,
`frontend/editor/DeveloperGuide.md`
Plus 3 renamed + edited: `editor/vite.config.ts` (env path +
node_modules
walk-up), `editor/scripts/setup-env.mts` (renamed from `.ts` for
`import.meta.url`), `editor/scripts/build-provisioner.mjs` (resolve
src-tauri
relative to script).
### Verification
| Check | Result |
|---|---|
| `task frontend:typecheck:all` (6 variants) | exit 0 |
| `task frontend:lint` (eslint + dpdm) | exit 0 |
| `task frontend:format:check` | exit 0 |
| `task frontend:test` | 657 tests pass, 50 files |
| `task frontend:build:{core,proprietary,saas,desktop,prototypes}` | all
green |
| `task desktop:build` | full Tauri pipeline →
`Stirling-PDF_2.11.0_x64_en-US.msi` |
| `playwright test --list --project=stubbed` | 172 tests discovered |
`task desktop:build` exercises the heaviest path — Rust + WiX + MSI
bundle
against the moved `editor/src-tauri/`. If anything in the restructure
was
wrong it wouldn't have built.
### Test plan
- [ ] `frontend-validation.yml` green
- [ ] `e2e-stubbed.yml` green
- [ ] `tauri-build.yml` green on at least one platform
- [ ] `check_toml.yml` runs on a translation-touching PR
---------
Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
|
||
|
|
ece1bb6865 |
Feature/pdf to markdown agent (#6271)
Co-authored-by: James Brunton <[email protected]> |
||
|
|
44f2d0d679 |
build(deps): bump the embedpdf group across 1 directory with 23 updates (#6299)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
1a63aa045e |
build(deps): bump the tauri group across 1 directory with 7 updates (#6305)
Bumps the tauri group with 5 updates in the /frontend/src-tauri directory: | Package | From | To | | --- | --- | --- | | [tauri](https://github.com/tauri-apps/tauri) | `2.10.2` | `2.10.3` | | [tauri-plugin-fs](https://github.com/tauri-apps/plugins-workspace) | `2.4.5` | `2.5.0` | | [tauri-plugin-dialog](https://github.com/tauri-apps/plugins-workspace) | `2.6.0` | `2.7.0` | | [tauri-plugin-http](https://github.com/tauri-apps/plugins-workspace) | `2.5.7` | `2.5.8` | | [tauri-plugin-single-instance](https://github.com/tauri-apps/plugins-workspace) | `2.4.0` | `2.4.1` | Updates `tauri` from 2.10.2 to 2.10.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tauri-apps/tauri/releases">tauri's releases</a>.</em></p> <blockquote> <h2>tauri v2.10.3</h2> <!-- raw HTML omitted --> <pre><code>Fetching advisory database from `https://github.com/RustSec/advisory-db.git` Loaded 941 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (1052 crate dependencies) Crate: atk Version: 0.18.2 Warning: unmaintained Title: gtk-rs GTK3 bindings - no longer maintained Date: 2024-03-04 ID: RUSTSEC-2024-0413 URL: https://rustsec.org/advisories/RUSTSEC-2024-0413 Dependency tree: atk 0.18.2 └── gtk 0.18.2 ├── wry 0.54.0 │ └── tauri-runtime-wry 2.10.1 │ └── tauri 2.10.3 │ ├── tauri-utils 2.8.3 │ │ ├── tauri-schema-generator 0.0.0 │ │ ├── tauri-runtime-wry 2.10.1 │ │ ├── tauri-runtime 2.10.1 │ │ │ ├── tauri-runtime-wry 2.10.1 │ │ │ └── tauri 2.10.3 │ │ ├── tauri-plugin 2.5.4 │ │ │ ├── tauri-plugin-sample 0.1.0 │ │ │ │ └── api 0.1.0 │ │ │ └── tauri-plugin-log 2.6.0 │ │ │ └── api 0.1.0 │ │ ├── tauri-macros 2.5.5 │ │ │ └── tauri 2.10.3 │ │ ├── tauri-codegen 2.5.5 │ │ │ ├── tauri-macros 2.5.5 │ │ │ └── tauri-build 2.5.6 │ │ │ ├── tauri-file-associations-demo 0.1.0 │ │ │ ├── tauri 2.10.3 │ │ │ ├── resources 0.1.0 │ │ │ ├── bench_helloworld 0.1.0 │ │ │ ├── bench_files_transfer 0.1.0 │ │ │ ├── bench_cpu_intensive 0.1.0 │ │ │ └── api 0.1.0 │ │ ├── tauri-cli 2.10.1 │ │ │ └── tauri-cli-node 0.0.0 │ │ ├── tauri-bundler 2.8.1 │ │ │ └── tauri-cli 2.10.1 │ │ ├── tauri-build 2.5.6 </tr></table> </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tauri-apps/tauri/commit/9b17a7aeae9a83222ffe829aa4e2d8a5ba6bed8c"><code>9b17a7a</code></a> fix(ci): bump rustsec/audit-check to v2 and ignore time audit (<a href="https://redirect.github.com/tauri-apps/tauri/issues/15030">#15030</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/d86827980d45826bb30749a3dbc11c9326ed8bd9"><code>d868279</code></a> apply version updates (<a href="https://redirect.github.com/tauri-apps/tauri/issues/14897">#14897</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/3a65cc6885ea61e35dc5be23b229043ab6e92372"><code>3a65cc6</code></a> fix(test): disable <code>resolve_resource_dir</code> on Android (<a href="https://redirect.github.com/tauri-apps/tauri/issues/15026">#15026</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/52cf195b78e0b78f02d8aae997116c620355b095"><code>52cf195</code></a> refactor(cli): reduce some nesting code (<a href="https://redirect.github.com/tauri-apps/tauri/issues/14844">#14844</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/c3cbff3f7430161715f80f82128b345a6f7140c9"><code>c3cbff3</code></a> fix: resource path handles <code>./</code> path differently (<a href="https://redirect.github.com/tauri-apps/tauri/issues/14662">#14662</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/33754ae5e3740d022483b6164511c5c001a3c24b"><code>33754ae</code></a> fix(cli): unusable empty password private keys (<a href="https://redirect.github.com/tauri-apps/tauri/issues/15022">#15022</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/3935dee121e1dcb4f377c9933233c0ace186b0bb"><code>3935dee</code></a> Add AI tool policy to contributing guide (<a href="https://redirect.github.com/tauri-apps/tauri/issues/15002">#15002</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/33932a72b27c970dde242da5241f7a340277507d"><code>33932a7</code></a> chore(deps-dev): bump svelte from 5.51.5 to 5.53.5 (<a href="https://redirect.github.com/tauri-apps/tauri/issues/15015">#15015</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/7d3c7593a9d41ac1cc7f72e959263f22d32bc61d"><code>7d3c759</code></a> chore(deps): update dependency rollup to v4.59.0 (<a href="https://redirect.github.com/tauri-apps/tauri/issues/15001">#15001</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/f20256bca542dfd6ba4b5e2741a6a9439cc57be8"><code>f20256b</code></a> chore: fix clippy warnings (<a href="https://redirect.github.com/tauri-apps/tauri/issues/14999">#14999</a>)</li> <li>Additional commits viewable in <a href="https://github.com/tauri-apps/tauri/compare/tauri-v2.10.2...tauri-v2.10.3">compare view</a></li> </ul> </details> <br /> Updates `tauri-plugin-fs` from 2.4.5 to 2.5.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tauri-apps/plugins-workspace/releases">tauri-plugin-fs's releases</a>.</em></p> <blockquote> <h2>dialog-js v2.5.0</h2> <h2>[2.5.0]</h2> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/dff6fa986a9a05ba98b6ca660fea78ae97251fc2"><code>dff6fa98</code></a> (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/pull/3034">#3034</a> by <a href="https://github.com/tauri-apps/plugins-workspace/../../onehumandev"><code>@onehumandev</code></a>) Add <code>pickerMode</code> option to file picker (currently only used on iOS)</li> </ul> <h3>Dependencies</h3> <ul> <li>Upgraded to <code>[email protected]</code></li> </ul> <h3>feat</h3> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/c23fa03f07d5c1c220bcf0bca482364513e3f754"><code>c23fa03f</code></a> (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/pull/3098">#3098</a> by <a href="https://github.com/tauri-apps/plugins-workspace/../../Lepidopteran"><code>@Lepidopteran</code></a>) Add <code>xdg-portal</code> as an optional feature for <code>rfd</code></li> </ul> <!-- raw HTML omitted --> <pre><code>npm warn Unknown user config "always-auth". This will stop working in the next major version of npm. npm warn publish npm auto-corrected some errors in your package.json when publishing. Please run "npm pkg fix" to address these errors. npm warn publish errors corrected: npm warn publish "repository" was changed from a string to an object npm warn publish "repository.url" was normalized to "git+https://github.com/tauri-apps/plugins-workspace.git" npm notice npm notice 📦 @tauri-apps/[email protected] npm notice Tarball Contents npm notice 888B LICENSE.spdx npm notice 3.5kB README.md npm notice 6.4kB dist-js/index.cjs npm notice 12.2kB dist-js/index.d.ts npm notice 6.3kB dist-js/index.js npm notice 11B dist-js/init.d.ts npm notice 656B package.json npm notice Tarball Details npm notice name: @tauri-apps/plugin-dialog npm notice version: 2.5.0 npm notice filename: tauri-apps-plugin-dialog-2.5.0.tgz npm notice package size: 5.8 kB npm notice unpacked size: 30.0 kB npm notice shasum: 52057077b52cc51643ac9829d48c2c590e5e1a54 npm notice integrity: sha512-I0R0ygwRd9AN8[...]lxPHD5vDcFjiA== npm notice total files: 7 npm notice npm notice Security Notice: Classic tokens have been revoked. Granular tokens are now limited to 90 days and require 2FA by default. Update your CI/CD workflows to avoid disruption. Learn more https://gh.io/all-npm-classic-tokens-revoked npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access npm notice publish Signed provenance statement with source and build information from GitHub Actions npm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=804721691 + @tauri-apps/[email protected] </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/d6a3898001a4bcc659e045f9501498751b77dbe6"><code>d6a3898</code></a> Publish New Versions (v2) (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3268">#3268</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/2e5bcdf202f98ec0fb0481725dd32f0626c766c8"><code>2e5bcdf</code></a> chore(deps): fix audits (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3373">#3373</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/4374b4fc1a9a7c0506034d86707fd3288d347f9b"><code>4374b4f</code></a> chore(notification): remove unused dev-deps (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3372">#3372</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/f75d21db3351d6f12adf585c2c797c20ece94f7f"><code>f75d21d</code></a> chore(deps): remove used of tauri-utils build feature (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3360">#3360</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/4b95f5e079593d5b2b98220c332f420dc70d18d1"><code>4b95f5e</code></a> chore(deps): update dependency eslint to v10.1.0 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3357">#3357</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/99c3e37b54c115e8712f67c2b53ed1f2f0b4aae6"><code>99c3e37</code></a> chore(deps): bump tar in /plugins/updater/tests/updater-migration/v1-app (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3352">#3352</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/eaac19a5b7e325a06d4c1c6d740e38d86c55cd89"><code>eaac19a</code></a> chore(deps): update rust crate tar to v0.4.45 [security] (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3353">#3353</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/5183e314cbabc179228e232992ad67025f30272d"><code>5183e31</code></a> chore(deps): update dependency typescript-eslint to v8.57.1 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3344">#3344</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/2c0883e64e9a53ea18102ed350cd5e65ba7c8f4b"><code>2c0883e</code></a> chore(deps): update dependency vite to v8 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3346">#3346</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/024ec0c29c20cf94579dab9b79d6be0da61a8daa"><code>024ec0c</code></a> fix(deep-link): ChromeOS deep link calls filtered and ignored by plugin (fix ...</li> <li>Additional commits viewable in <a href="https://github.com/tauri-apps/plugins-workspace/compare/fs-v2.4.5...fs-v2.5.0">compare view</a></li> </ul> </details> <br /> Updates `tauri-plugin-dialog` from 2.6.0 to 2.7.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tauri-apps/plugins-workspace/releases">tauri-plugin-dialog's releases</a>.</em></p> <blockquote> <h2>dialog-js v2.7.0</h2> <h2>[2.7.0]</h2> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/24154472a6710a690173df0a121125d1f1b871e8"><code>24154472</code></a> (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/pull/3287">#3287</a> by <a href="https://github.com/tauri-apps/plugins-workspace/../../Legend-Master"><code>@Legend-Master</code></a>) Re-use <code>message</code> command in Rust side for <code>ask</code> and <code>confirm</code> commands, <code>allow-ask</code> and <code>allow-confirm</code> permissions are now aliases to <code>allow-message</code></li> </ul> <h3>Dependencies</h3> <ul> <li>Upgraded to <code>[email protected]</code></li> </ul> <!-- raw HTML omitted --> <pre><code>npm warn Unknown user config "always-auth". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. npm warn publish npm auto-corrected some errors in your package.json when publishing. Please run "npm pkg fix" to address these errors. npm warn publish errors corrected: npm warn publish "repository" was changed from a string to an object npm warn publish "repository.url" was normalized to "git+https://github.com/tauri-apps/plugins-workspace.git" npm notice npm notice 📦 @tauri-apps/[email protected] npm notice Tarball Contents npm notice 888B LICENSE.spdx npm notice 3.5kB README.md npm notice 6.9kB dist-js/index.cjs npm notice 14.6kB dist-js/index.d.ts npm notice 6.8kB dist-js/index.js npm notice 11B dist-js/init.d.ts npm notice 657B package.json npm notice Tarball Details npm notice name: @tauri-apps/plugin-dialog npm notice version: 2.7.0 npm notice filename: tauri-apps-plugin-dialog-2.7.0.tgz npm notice package size: 6.7 kB npm notice unpacked size: 33.3 kB npm notice shasum: b510ecd42d9900725eaf51f42ec98523c40d29b4 npm notice integrity: sha512-4nS/hfGMGCXiA[...]RtrKXkANKDHvw== npm notice total files: 7 npm notice npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access npm notice publish Signed provenance statement with source and build information from GitHub Actions npm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=1235993203 + @tauri-apps/[email protected] </code></pre> <!-- raw HTML omitted --> <h2>dialog v2.7.0</h2> <h2>[2.7.0]</h2> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/24154472a6710a690173df0a121125d1f1b871e8"><code>24154472</code></a> (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/pull/3287">#3287</a> by <a href="https://github.com/tauri-apps/plugins-workspace/../../Legend-Master"><code>@Legend-Master</code></a>) Re-use <code>message</code> command in Rust side for <code>ask</code> and <code>confirm</code> commands, <code>allow-ask</code> and <code>allow-confirm</code> permissions are now aliases to <code>allow-message</code></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/51b430be986ed98635c02ba504f6f30a35771c01"><code>51b430b</code></a> ci: delete .changes/updater-new-bundle-support.md</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/fd439b143e265fc3ab4de435d6d4b641cffc66f1"><code>fd439b1</code></a> Publish New Versions (v2) (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2964">#2964</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/2522b71f6bcae65c03b24415eb9295c9e7c84ffc"><code>2522b71</code></a> fix(deep-link): revert the breaking change introduced by <a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2928">#2928</a> (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2970">#2970</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/9021a732474322073769c1b21f6eee2e4b0dd15e"><code>9021a73</code></a> chore(deps): update dependency rollup to v4.50.0 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2966">#2966</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/625bb1c0965394b88522643731f78ccbcca84add"><code>625bb1c</code></a> feat(log): re-export the log crate (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2965">#2965</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/6215afe0239f815740a2c28150614ca4fef0b486"><code>6215afe</code></a> chore(deps): update dependency rollup to v4.49.0 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2962">#2962</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/8cf8eeab02efddd4e44e3bba92b33902a8c00956"><code>8cf8eea</code></a> feat(updater): inject bundle_type into endpoint url (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2960">#2960</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/509eba8d441c4f6ecf0af77b572cb2afd69a752d"><code>509eba8</code></a> feat: support message dialogs with 3 buttons (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2641">#2641</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/9ac5fe84e704ef20c437456cb1017b54b101b333"><code>9ac5fe8</code></a> feat(updater): support bundle-specific targets (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2624">#2624</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/c24741031993894929a9ed00972ff9f6cd9540be"><code>c247410</code></a> chore(deps): update dependency typescript-eslint to v8.41.0 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2956">#2956</a>)</li> <li>Additional commits viewable in <a href="https://github.com/tauri-apps/plugins-workspace/compare/log-v2.6.0...log-v2.7.0">compare view</a></li> </ul> </details> <br /> Updates `tauri-plugin-http` from 2.5.7 to 2.5.8 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tauri-apps/plugins-workspace/releases">tauri-plugin-http's releases</a>.</em></p> <blockquote> <h2>http-js v2.5.8</h2> <h2>[2.5.8]</h2> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/29712892526cfc2d35c9002e0a56925084ae1b73"><code>29712892</code></a> (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/pull/3252">#3252</a> by <a href="https://github.com/tauri-apps/plugins-workspace/../../NVolcz"><code>@NVolcz</code></a>) Correct Response header initialization to support cloning and ensure Set-Cookie visibility.</li> </ul> <h3>Dependencies</h3> <ul> <li>Upgraded to <code>[email protected]</code></li> </ul> <!-- raw HTML omitted --> <pre><code>npm warn Unknown user config "always-auth". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. npm warn publish npm auto-corrected some errors in your package.json when publishing. Please run "npm pkg fix" to address these errors. npm warn publish errors corrected: npm warn publish "repository" was changed from a string to an object npm warn publish "repository.url" was normalized to "git+https://github.com/tauri-apps/plugins-workspace.git" npm notice npm notice 📦 @tauri-apps/[email protected] npm notice Tarball Contents npm notice 888B LICENSE.spdx npm notice 2.6kB README.md npm notice 7.1kB dist-js/index.cjs npm notice 2.4kB dist-js/index.d.ts npm notice 7.0kB dist-js/index.js npm notice 655B package.json npm notice Tarball Details npm notice name: @tauri-apps/plugin-http npm notice version: 2.5.8 npm notice filename: tauri-apps-plugin-http-2.5.8.tgz npm notice package size: 5.1 kB npm notice unpacked size: 20.5 kB npm notice shasum: a6e638fd0d1b17563ef0c53745373c0b1eb50260 npm notice integrity: sha512-oxd7oypzQeu8k[...]hKUbhuKWcunRw== npm notice total files: 6 npm notice npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access npm notice publish Signed provenance statement with source and build information from GitHub Actions npm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=1235993387 + @tauri-apps/[email protected] </code></pre> <!-- raw HTML omitted --> <h2>http v2.5.8</h2> <h2>[2.5.8]</h2> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/29712892526cfc2d35c9002e0a56925084ae1b73"><code>29712892</code></a> (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/pull/3252">#3252</a> by <a href="https://github.com/tauri-apps/plugins-workspace/../../NVolcz"><code>@NVolcz</code></a>) Correct Response header initialization to support cloning and ensure Set-Cookie visibility.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/d6a3898001a4bcc659e045f9501498751b77dbe6"><code>d6a3898</code></a> Publish New Versions (v2) (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3268">#3268</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/2e5bcdf202f98ec0fb0481725dd32f0626c766c8"><code>2e5bcdf</code></a> chore(deps): fix audits (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3373">#3373</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/4374b4fc1a9a7c0506034d86707fd3288d347f9b"><code>4374b4f</code></a> chore(notification): remove unused dev-deps (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3372">#3372</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/f75d21db3351d6f12adf585c2c797c20ece94f7f"><code>f75d21d</code></a> chore(deps): remove used of tauri-utils build feature (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3360">#3360</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/4b95f5e079593d5b2b98220c332f420dc70d18d1"><code>4b95f5e</code></a> chore(deps): update dependency eslint to v10.1.0 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3357">#3357</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/99c3e37b54c115e8712f67c2b53ed1f2f0b4aae6"><code>99c3e37</code></a> chore(deps): bump tar in /plugins/updater/tests/updater-migration/v1-app (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3352">#3352</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/eaac19a5b7e325a06d4c1c6d740e38d86c55cd89"><code>eaac19a</code></a> chore(deps): update rust crate tar to v0.4.45 [security] (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3353">#3353</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/5183e314cbabc179228e232992ad67025f30272d"><code>5183e31</code></a> chore(deps): update dependency typescript-eslint to v8.57.1 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3344">#3344</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/2c0883e64e9a53ea18102ed350cd5e65ba7c8f4b"><code>2c0883e</code></a> chore(deps): update dependency vite to v8 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3346">#3346</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/024ec0c29c20cf94579dab9b79d6be0da61a8daa"><code>024ec0c</code></a> fix(deep-link): ChromeOS deep link calls filtered and ignored by plugin (fix ...</li> <li>Additional commits viewable in <a href="https://github.com/tauri-apps/plugins-workspace/compare/http-v2.5.7...http-v2.5.8">compare view</a></li> </ul> </details> <br /> Updates `tauri-plugin-single-instance` from 2.4.0 to 2.4.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tauri-apps/plugins-workspace/releases">tauri-plugin-single-instance's releases</a>.</em></p> <blockquote> <h2>store-js v2.4.1</h2> <h2>[2.4.1]</h2> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/93426f85120f49beb9f40222bff45185a32d54a9"><code>93426f85</code></a> Fixed an issue that caused docs.rs builds to fail. No user facing changes.</li> </ul> <!-- raw HTML omitted --> <pre><code>npm warn publish npm auto-corrected some errors in your package.json when publishing. Please run "npm pkg fix" to address these errors. npm warn publish errors corrected: npm warn publish "repository" was changed from a string to an object npm warn publish "repository.url" was normalized to "git+https://github.com/tauri-apps/plugins-workspace.git" npm notice npm notice 📦 @tauri-apps/[email protected] npm notice Tarball Contents npm notice 888B LICENSE.spdx npm notice 4.4kB README.md npm notice 6.6kB dist-js/index.cjs npm notice 8.5kB dist-js/index.d.ts npm notice 6.4kB dist-js/index.js npm notice 711B package.json npm notice Tarball Details npm notice name: @tauri-apps/plugin-store npm notice version: 2.4.1 npm notice filename: tauri-apps-plugin-store-2.4.1.tgz npm notice package size: 5.5 kB npm notice unpacked size: 27.5 kB npm notice shasum: 5e2d3362e41861d2fa79a3f1a78c091e12963236 npm notice integrity: sha512-ckGSEzZ5Ii4Hf[...]ugpGRDOFOunkA== npm notice total files: 6 npm notice npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access npm notice publish Signed provenance statement with source and build information from GitHub Actions npm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=644610830 + @tauri-apps/[email protected] </code></pre> <!-- raw HTML omitted --> <h2>store v2.4.1</h2> <h2>[2.4.1]</h2> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/93426f85120f49beb9f40222bff45185a32d54a9"><code>93426f85</code></a> Fixed an issue that caused docs.rs builds to fail. No user facing changes.</li> </ul> <!-- raw HTML omitted --> <pre><code>Updating crates.io index </tr></table> </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/d66aa6ff78cbbeaef1542a1fa930c33399578a25"><code>d66aa6f</code></a> publish new versions (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2822">#2822</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/6f345870df4e7b187deb869df03b79858e03b4fe"><code>6f34587</code></a> fix(single-instance): disable dbus name replacement (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2860">#2860</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/708fa4e2b77e847ce554115e80f7eb685f4a322e"><code>708fa4e</code></a> chore(deps): update dependency eslint-config-prettier to v10.1.8 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2858">#2858</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/b7292030594daa04e78979214478031241b6e38e"><code>b729203</code></a> fix(upload): fix download() locks main thread on Android (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2838">#2838</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/2f9c71aae77cddd4ca2ffe9d13e9e1f23ee4f478"><code>2f9c71a</code></a> chore(deps): update dependency rollup to v4.45.1 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2850">#2850</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/80d4d8e128922b022e76049189a657b71ce95a97"><code>80d4d8e</code></a> chore(deps): update eslint monorepo to v9.31.0 (v2) (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2839">#2839</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/e7a98b0d2e60463ff86a0f031ce3c84c83a21274"><code>e7a98b0</code></a> chore(deps): update dependency typescript-eslint to v8.37.0 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2848">#2848</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/44a1f659125a341191420e650608b0b6ff316a0e"><code>44a1f65</code></a> fix(fs): <code>writeFile</code> create file by default (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2846">#2846</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/6210cd31df00bb3c55642013c74dc1da81fa00f9"><code>6210cd3</code></a> chore(deps): update dependency rollup to v4.45.0 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2841">#2841</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/467f07b7de4103a653e40fec8badb6f24abcef39"><code>467f07b</code></a> chore(deps): update dependency vite to v7 (v2) (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/2800">#2800</a>)</li> <li>Additional commits viewable in <a href="https://github.com/tauri-apps/plugins-workspace/compare/fs-v2.4.0...fs-v2.4.1">compare view</a></li> </ul> </details> <br /> Updates `tauri-plugin-deep-link` from 2.4.7 to 2.4.9 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tauri-apps/plugins-workspace/releases">tauri-plugin-deep-link's releases</a>.</em></p> <blockquote> <h2>deep-link-js v2.4.9</h2> <h2>[2.4.9]</h2> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/e6cdc9f52e2cd975b11b8e4c12879d597f1f76c3"><code>e6cdc9f5</code></a> (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/pull/3396">#3396</a> by <a href="https://github.com/tauri-apps/plugins-workspace/../../Legend-Master"><code>@Legend-Master</code></a>) Fix broken iOS custom URL schemes</li> </ul> <!-- raw HTML omitted --> <pre><code>npm warn Unknown user config "always-auth". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. npm warn publish npm auto-corrected some errors in your package.json when publishing. Please run "npm pkg fix" to address these errors. npm warn publish errors corrected: npm warn publish "repository" was changed from a string to an object npm warn publish "repository.url" was normalized to "git+https://github.com/tauri-apps/plugins-workspace.git" npm notice npm notice 📦 @tauri-apps/[email protected] npm notice Tarball Contents npm notice 888B LICENSE.spdx npm notice 6.2kB README.md npm notice 3.5kB dist-js/index.cjs npm notice 2.9kB dist-js/index.d.ts npm notice 3.4kB dist-js/index.js npm notice 801B package.json npm notice Tarball Details npm notice name: @tauri-apps/plugin-deep-link npm notice version: 2.4.9 npm notice filename: tauri-apps-plugin-deep-link-2.4.9.tgz npm notice package size: 4.4 kB npm notice unpacked size: 17.7 kB npm notice shasum: ae56d59130380f806b533b3107c3f16654e66a8d npm notice integrity: sha512-u0SKOUHnJ1wqe[...]hIvqLBRpgHJlA== npm notice total files: 6 npm notice npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access npm notice publish Signed provenance statement with source and build information from GitHub Actions npm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=1429011657 + @tauri-apps/[email protected] </code></pre> <!-- raw HTML omitted --> <h2>deep-link v2.4.9</h2> <h2>[2.4.9]</h2> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/e6cdc9f52e2cd975b11b8e4c12879d597f1f76c3"><code>e6cdc9f5</code></a> (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/pull/3396">#3396</a> by <a href="https://github.com/tauri-apps/plugins-workspace/../../Legend-Master"><code>@Legend-Master</code></a>) Fix broken iOS custom URL schemes</li> </ul> <!-- raw HTML omitted --> <pre><code></tr></table> </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/5c7668b6bb7c9a509f394d584568b3a922161e50"><code>5c7668b</code></a> publish new versions (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3397">#3397</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/ec0540138bece081e9a87982091947360e61987a"><code>ec05401</code></a> chore(deps): update rust crate toml to v1 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3323">#3323</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/b86e999beb9fb48ef54adf3d0af631f94c06a5d0"><code>b86e999</code></a> chore(deps): update tauri packages to 2.11 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3407">#3407</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/c463d8ab1422a4cf44f627a7b4e6ba9d3553f334"><code>c463d8a</code></a> chore(deps): update rustls-webpki in lockfile, ignore core2 in audit (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3405">#3405</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/1bb7beb3076a8bf76b084223d0e4225bb2e53bc9"><code>1bb7beb</code></a> chore(deps): bump openssl (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3402">#3402</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/3412fa2741b3b6e7a251e3548a43b21f2c26c635"><code>3412fa2</code></a> docs(readme): fix platform support matrix (opener supports mobile)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/af81fdac9881d4ed52fbc18b9511bf10f7540ebb"><code>af81fda</code></a> docs(readme): fix platform support matrix (mobile is supported)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/c1fd33b3a2735f2e25c1d026dc524af932db3315"><code>c1fd33b</code></a> fix(opener): allow open network share locations (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3343">#3343</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/250857b7b72cd59825a14caa046160dc2ba1bb12"><code>250857b</code></a> chore(deps): update dependency typescript to v6 (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3363">#3363</a>)</li> <li><a href="https://github.com/tauri-apps/plugins-workspace/commit/964e13f124ad1feeb93c10168b265dc4936f738c"><code>964e13f</code></a> fix(store): dead lock trying to set while exiting (<a href="https://redirect.github.com/tauri-apps/plugins-workspace/issues/3395">#3395</a>)</li> <li>Additional commits viewable in <a href="https://github.com/tauri-apps/plugins-workspace/compare/deep-link-v2.4.7...deep-link-v2.4.9">compare view</a></li> </ul> </details> <br /> Updates `tauri-build` from 2.5.5 to 2.6.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tauri-apps/tauri/releases">tauri-build's releases</a>.</em></p> <blockquote> <h2>tauri-build v2.6.0</h2> <!-- raw HTML omitted --> <pre><code>Fetching advisory database from `https://github.com/RustSec/advisory-db.git` Loaded 1060 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (1086 crate dependencies) Crate: atk Version: 0.18.2 Warning: unmaintained Title: gtk-rs GTK3 bindings - no longer maintained Date: 2024-03-04 ID: RUSTSEC-2024-0413 URL: https://rustsec.org/advisories/RUSTSEC-2024-0413 Dependency tree: atk 0.18.2 └── gtk 0.18.2 ├── wry 0.55.0 │ └── tauri-runtime-wry 2.11.0 │ └── tauri 2.11.0 │ ├── tauri-utils 2.9.0 │ │ ├── tauri-schema-generator 0.0.0 │ │ ├── tauri-runtime-wry 2.11.0 │ │ ├── tauri-runtime 2.11.0 │ │ │ ├── tauri-runtime-wry 2.11.0 │ │ │ └── tauri 2.11.0 │ │ ├── tauri-plugin 2.6.0 │ │ │ ├── tauri-plugin-sample 0.1.0 │ │ │ │ └── api 0.1.0 │ │ │ └── tauri-plugin-log 2.6.0 │ │ │ └── api 0.1.0 │ │ ├── tauri-macros 2.6.0 │ │ │ └── tauri 2.11.0 │ │ ├── tauri-codegen 2.6.0 │ │ │ ├── tauri-macros 2.6.0 │ │ │ └── tauri-build 2.6.0 │ │ │ ├── tauri-file-associations-demo 0.1.0 │ │ │ ├── tauri 2.11.0 │ │ │ ├── resources 0.1.0 │ │ │ ├── bench_helloworld 0.1.0 │ │ │ ├── bench_files_transfer 0.1.0 │ │ │ ├── bench_cpu_intensive 0.1.0 │ │ │ └── api 0.1.0 │ │ ├── tauri-cli 2.11.0 │ │ │ └── tauri-cli-node 0.0.0 │ │ ├── tauri-bundler 2.9.0 │ │ │ └── tauri-cli 2.11.0 │ │ ├── tauri-build 2.6.0 </tr></table> </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tauri-apps/tauri/commit/e60834fc67d87c10e2f44b2568052295cb61c325"><code>e60834f</code></a> Apply Version Updates From Current Changes (<a href="https://redirect.github.com/tauri-apps/tauri/issues/15041">#15041</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/df05c00563a91fc936bd15c6b10dd2825472f96b"><code>df05c00</code></a> chore: minor bump for codegen crate</li> <li><a href="https://github.com/tauri-apps/tauri/commit/13bea1777fed60c75e37fe67d7ded5dde0b2997d"><code>13bea17</code></a> chore: fmt</li> <li><a href="https://github.com/tauri-apps/tauri/commit/9808236ebf7755d498d674b614f3fc75eeac1ec4"><code>9808236</code></a> fix(macOS): correct value for work_area.position.y (<a href="https://redirect.github.com/tauri-apps/tauri/issues/14655">#14655</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/eb0312ea9e493954298ac0b3fdaae7eafb52750e"><code>eb0312e</code></a> feat(mobile): Propagate tao::Event::Suspended and tao::Event::Resumed to the ...</li> <li><a href="https://github.com/tauri-apps/tauri/commit/4ef5797f0fb27fa2df3f39f4a54e48ef319560ec"><code>4ef5797</code></a> feat(ios): add --no-sign and --archive-only flags to ios build (<a href="https://redirect.github.com/tauri-apps/tauri/issues/15061">#15061</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/110336c88a8c0a04476619db0a5c8f7694d969a5"><code>110336c</code></a> fix(macOS): fix incorrect window position on multi-monitor setups (<a href="https://redirect.github.com/tauri-apps/tauri/issues/15250">#15250</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/c00a3dbffccd6e051d3b7332f706b6c63759865d"><code>c00a3db</code></a> feat(macros): add support for rename command macro in tauri-macros <a href="https://redirect.github.com/tauri-apps/tauri/issues/14173">#14173</a> (<a href="https://redirect.github.com/tauri-apps/tauri/issues/1">#1</a>...</li> <li><a href="https://github.com/tauri-apps/tauri/commit/764b9139a32de149d8a914a6b5ec6cd1937c64eb"><code>764b913</code></a> feat(cli): restart Android emulator if it is disconnected from adb (<a href="https://redirect.github.com/tauri-apps/tauri/issues/14313">#14313</a>)</li> <li><a href="https://github.com/tauri-apps/tauri/commit/1035f12eeb8b23d9780881606d442d11c786e39e"><code>1035f12</code></a> fix(windows): tauri-bundler detect arm system (<a href="https://redirect.github.com/tauri-apps/tauri/issues/14923">#14923</a>)</li> <li>Additional commits viewable in <a href="https://github.com/tauri-apps/tauri/compare/tauri-build-v2.5.5...tauri-build-v2.6.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Anthony Stirling <[email protected]> |
||
|
|
561d07b8b1 |
build(deps): bump globals from 17.4.0 to 17.5.0 in /frontend (#6285)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Anthony Stirling <[email protected]> |
||
|
|
4ab7d3b3ae |
build(deps): bump the mui group across 1 directory with 2 updates (#6301)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Anthony Stirling <[email protected]> |
||
|
|
3fe8adc5cb |
Switch key areas to lazily import to improve Vite chunk size (#6278)
# Description of Changes Vite currently warns that when it's bundling our code that the chunk size is way too high because most of the imports are static so it can't split them into smaller chunks. This PR changes a few key areas to use lazy imports to try and make the chunks as small as possible with minimal code changes. Vite's warnings kick in at minified chunks being >500kB, and we've got a little way to go still to reach that, but we can keep chipping away at this and I'd rather get the biggest wins done now. I've also included Lighthouse scores because there's been discussion about improving ours recently. It's not the aim of this PR to improve it, but it's nice that it makes it a little better. ## Current main chunks Build split into 12 chunks. Largest chunk in build is: ``` [frontend:build] dist/assets/index-B6JiWDxZ.js 5,175.51 kB │ gzip: 1,495.85 kB ``` <img width="1442" height="775" alt="image" src="https://github.com/user-attachments/assets/b0e8a3fa-4ef3-4ccd-8c1d-bfed2d99bd27" /> Lighthouse score: <img width="423" height="146" alt="before" src="https://github.com/user-attachments/assets/c62056e8-2e77-49a6-a1ae-f08ec8021fb3" /> ## This PR's chunks Build split into 176 chunks. Largest chunk in build is: ``` [frontend:build] dist/assets/index-qCgeCY4B.js 2,878.54 kB │ gzip: 861.03 kB ``` <img width="1447" height="776" alt="image" src="https://github.com/user-attachments/assets/8d0c3cf0-cc25-41c3-b114-4940d3e99349" /> Lighthouse score: <img width="402" height="145" alt="after" src="https://github.com/user-attachments/assets/99a26eb3-bd15-4b92-bf22-82b58b458f52" /> --------- Co-authored-by: EthanHealy01 <[email protected]> |
||
|
|
85aa722f37 |
build(deps): bump the npm_and_yarn group across 2 directories with 8 updates (#6266)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
97e2dc2c68 | chore(frontend): replace platform-specific update:minor script with cross-platform Node.js implementation (#6155) | ||
|
|
66a75b1f28 |
Add pixel comparison mode to Compare tool (#6109)
Co-authored-by: Anthony Stirling <[email protected]> Co-authored-by: EthanHealy01 <[email protected]> |
||
|
|
702f4e5c2c |
Add Taskfile for unified dev workflow across all components (#6080)
## Add Taskfile for unified dev workflow ### Summary - Introduces [Taskfile](https://taskfile.dev/) as the single CLI entry point for all development workflows across backend, frontend, engine, Docker, and desktop - ~80 tasks organized into 6 namespaces: `backend:`, `frontend:`, `engine:`, `docker:`, `desktop:`, plus root-level composites - All CI workflows migrated to use Task - Deletes `engine/Makefile` and `scripts/build-tauri-jlink.{sh,bat}` — replaced by Task equivalents - Removes redundant npm scripts (`dev`, `build`, `prep`, `lint`, `test`, `typecheck:all`) from `package.json` - Smart dependency caching: `sources`/`status`/`generates` fingerprinting, CI-aware `npm ci` vs `npm install`, `run: once` for parallel dep deduplication ### What this does NOT do - Does not replace Gradle, npm, or Docker — Taskfile is a thin orchestration wrapper - Does not change application code or behavior ### Install ``` npm install -g @go-task/cli # or: brew install go-task, winget install Task.Task ``` ### Quick start ``` task --list # discover all tasks task install # install all deps task dev # start backend + frontend task dev:all # also start AI engine task test # run all tests task check # quick quality gate (local dev) task check:all # full CI quality gate ``` ### Test plan - [ ] Install `task` CLI and run `task --list` — verify all tasks display - [ ] Run `task install` — verify frontend + engine deps install - [ ] Run `task dev` — verify backend + frontend start, Ctrl+C exits cleanly - [ ] Run `task frontend:check` — verify typecheck + lint + test pass - [ ] Run `task desktop:dev` — verify jlink builds are cached on second run - [ ] Verify CI passes on all workflows --------- Co-authored-by: James Brunton <[email protected]> |
||
|
|
a3e45bc182 |
Add frontend autoformatting and set CI to require formatted code for all languages (#6052)
# Description of Changes Changes the strategy for autoformatting to reject PRs if they are not formatted correctly instead of allowing them to merge and then spawning a new PR to fix the formatting. The old strategy just caused more work for us because we'd have to manually approve the followup PR and get it merged, which required 2 reviewers so in practice it rarely got done and just meant everyone's PRs ended up containing reformatting for unrelated files, which makes code review unnecessarily difficult. If the PR's code is not formatted correctly after this PR, a comment will be added automatically to tell the author how to run the formatter script to fix their code so it can go in. This also enables autoformatting for the frontend code, using Prettier. I've enabled it for pretty much everything in the frontend folder, other than 3rd party files and files it doesn't make sense for. I also excluded Markdown because it sounds likely to be more annoying to have to autoformat the Markdown in the frontend folder but nowhere else. Open to changing this though if people disagree. > [!note] > > Advice to reviewers: The first commit contains all of the actual logic I've introduced (CI changes, Prettier config, etc.) > The second commit is just the reformatting of the entire frontend folder. > The first commit needs proper review, the second one just give it a spot-check that it's doing what you'd expect. |
||
|
|
60cc749e6a |
[Aikido] Fix critical issue in axios via minor version upgrade from 1.13.6 to 1.15.0 in frontend (#6092)
Upgrade axios to fix critical proxy bypass and SSRF vulnerabilities in hostname normalization that could allow attackers to reach protected internal services. ✅ There are no breaking changes <details> <summary>✅ 1 CVE resolved by this upgrade, including 1 critical 🚨 CVE</summary> <br> This PR will resolve the following CVEs: | Issue | Severity | Description | | --- | --- | --- | | <pre>[CVE-2025-62718](https://app.aikido.dev/issues/26490690/detail?groupId=70007#CVE-2025-62718)</pre> | <pre>🚨 CRITICAL</pre> | [axios] Axios fails to properly normalize hostnames when checking NO_PROXY rules, allowing requests to loopback addresses (localhost., [::1]) to bypass proxy protections and reach internal services. This enables proxy bypass and SSRF attacks against protected loopback or internal endpoints. | </details> Co-authored-by: aikido-autofix[bot] <119856028+aikido-autofix[bot]@users.noreply.github.com> |
||
|
|
cc1604a802 |
Add prototypes folder to test new functionality in (#6081)
# Description of Changes Add prototypes folder to test new functionality in. This build of the app is spawnable with `npm run dev:prototypes`. Currently just contains a very developer-y chat interface to help us develop & explore the AI backend before we make the frontend for it for real. |
||
|
|
61280f758a |
bump deps (#6041)
bump deps and add a one week buffer to releases that we merge in to allow for vulnerabilities to be caught. |
||
|
|
c46156f37f |
Bump/embed pdfv2.8.0 (#5921)
please merge #5919, alternatively, just push this and delete that PR because this is a continuation of that. This PR bumps the embed PDF version to 2.8.0 and also adds comments functionaliy --------- Co-authored-by: ConnorYoh <[email protected]> Co-authored-by: Anthony Stirling <[email protected]> |
||
|
|
55bcb92810 |
Add explicit Save As button for desktop viewer (issue #5928) (#5959)
## Description Adds an explicit **“Save As”** button to the desktop viewer so users can always save a copy of the current PDF to a different location, even if the original file already has a local path. This complements the existing smart **Save/Download** behavior: - The existing download button continues to either save back to the original path (when available) or prompt for a path when needed. - The new **Save As** button always opens a save dialog to choose a location/name for a new copy. ## Changes - **RightRail (viewer controls)** - Added a new **Save As** action icon in the right rail settings section. - The button: - Uses `viewerContext.exportActions.saveAsCopy()` to get the current viewer state as a PDF. - Calls `downloadFile` without a `localPath`, ensuring the desktop app shows a **Save As** dialog. - Picks the first selected file (if any) or the first active file as the source for the filename. - **Desktop / Web behavior** - In the desktop app (Tauri), clicking **Save As**: - Opens a native save dialog so the user can choose a different folder and filename. - Writes a new copy without changing the existing file’s `localFilePath` or dirty state. - In the web app, the button behaves like a standard download of a copy (browser-controlled save dialog / download). ## Motivation - Users often want to apply operations on a PDF while **keeping the original unmodified**. - The existing smart Save behavior chooses between Save and Save As automatically, but there was no way to explicitly request **Save As**. - This change gives desktop users a clear, dedicated **“Save As”** control while preserving the current Save/Download behavior. ## Notes - No backend changes. - No changes to the existing Save / Download button behavior. - The new button uses existing viewer export and download utilities, minimizing new logic. --------- Co-authored-by: James Brunton <[email protected]> |
||
|
|
8674765528 |
Add system for managing env vars (#5902)
# Description of Changes Previously, `VITE_*` environment variables were scattered across the codebase with hardcoded fallback values inline (e.g. `import.meta.env.VITE_STRIPE_KEY || 'pk_live_...'`). This made it unclear which variables were required, what they were for, and caused real keys to be silently used in builds where they hadn't been explicitly configured. ## What's changed I've added `frontend/.env.example` and `frontend/.env.desktop.example`, which declare every `VITE_*` variable the app uses, with comments explaining each one and sensible defaults where applicable. These are the source of truth for what's required. I've added a setup script which runs before `npm run dev`, `build`, `tauri-dev`, and all `tauri-build*` commands. It: - Creates your local `.env` / `.env.desktop` from the example files on first run, so you don't need to do anything manually - Errors if you're missing keys that the example defines (e.g. after pulling changes that added a new variable). These can either be manually-set env vars, or in your `.env` file (env vars take precedence over `.env` file vars when running) - Warns if you have `VITE_*` variables set in your environment that aren't listed in any example file I've removed all `|| 'hardcoded-value'` defaults from source files because they are not necessary in this system, as all variables must be explicitly set (they can be set to `VITE_ENV_VAR=`, just as long as the variable actually exists). I think this system will make it really obvious exactly what you need to set and what's actually running in the code. I've added a test that checks that every `import.meta.env.VITE_*` reference found in source is present in at least one example file, so new variables can't be added without being documented. ## For contributors New contributors shouldn't need to do anything - `npm run dev` will create your `.env` automatically. If you already have a `.env` file in the `frontend/` folder, you may well need to update it to make the system happy. Here's an example output from running `npm run dev` with an old `.env` file: ``` $ npm run dev > [email protected] dev > npm run prep && vite > [email protected] prep > tsx scripts/setup-env.ts && npm run generate-icons setup-env: see frontend/README.md#environment-variables for documentation setup-env: .env is missing keys from config/.env.example: VITE_GOOGLE_DRIVE_CLIENT_ID VITE_GOOGLE_DRIVE_API_KEY VITE_GOOGLE_DRIVE_APP_ID VITE_PUBLIC_POSTHOG_KEY VITE_PUBLIC_POSTHOG_HOST Add them manually or delete your local file to re-copy from the example. setup-env: the following VITE_ vars are set but not listed in any example file: VITE_DEV_BYPASS_AUTH Add them to config/.env.example or config/.env.desktop.example if they are required. ``` If you add a new `VITE_*` variable to the codebase, add it to the appropriate `frontend/config/.env.example` file or the test will fail. |
||
|
|
fa8c52b2be |
Add SaaS frontend code (#5879)
# Description of Changes Adds the code for the SaaS frontend as proprietary code to the OSS repo. This version of the code is adapted from 22/1/2026, which was the last SaaS version based on the 'V2' design. This will move us closer to being able to have the OSS products understand whether the user has a SaaS account, and provide the correct UI in those cases. |
||
|
|
ff31b2f9ca |
Posthog-fixes (#5901)
PostHog is now initialized with persistence: 'memory' so no cookies are written on first load. Consent is handled in a PostHogConsentSync component that switches to localStorage+cookie persistence only when the user accepts, using the official @posthog/react package (cherry-picked from 14aaf64) --------- Co-authored-by: James Brunton <[email protected]> |
||
|
|
6c83da6417 | Audit fixes and improvements (#5835) | ||
|
|
879ffc066f | tauri notifications (#5875) | ||
|
|
c244edf8b7 | feat(annotation): add moveAnnotation API for efficient repositioning of annotations, and bump embed to 2.7.0 (#5809) | ||
|
|
c9dafc85fd | Switch to use ESLint 10 (#5794) | ||
|
|
eab84a13d0 |
Change to use dpdm for circular import scanning (#5788)
Co-authored-by: Anthony Stirling <[email protected]> |
||
|
|
24128dd318 | Sync up Tauri versions (#5789) | ||
|
|
340224b40b | refactor(link-layer): migrate to EmbedPDF v2.6.2 annotation state for link rendering and improve link handling (#5760) | ||
|
|
0a1d2effdc |
feat(frontend): Upgrade embedPDF to v2.6.0 and migrate to pdf-lib fork, fix attachment/bookmark panel (#5723)
# Description of Changes Upgrades embedPDF from v2.5.0 to v2.6.0 and migrates from unmaintained pdf-lib to @cantoo/pdf-lib fork. Adds defensive error handling for malformed PDFs and improves bridge lifecycle management. ### Changes **Dependencies** - Upgrade all @embedpdf/* packages from ^2.5.0 to ^2.6.0 - Replace pdf-lib with @cantoo/pdf-lib (maintained fork with better TypeScript support) **PDF Viewer Infrastructure (attachment/bookmark fix)** - Add useDocumentReady hook to track document lifecycle across bridges - Implement defensive bridge cleanup to prevent stale registrations - Fix race condition in document ready state detection by subscribing to events before checking state **Link Extraction (updated to cantoo/pdf-lib)** - Add graceful error handling for PDFs with invalid catalog structures - Extract enhanced link metadata (tooltips, colors, border styles, highlight modes) - Return empty results instead of throwing on malformed PDFs - Add validation for link creation (destination page bounds, rect dimensions, color values) **Signature Flattening (updated to cantoo/pdf-lib)** - Improve SVG embedding with three-tier fallback strategy (native vector, rasterized PNG, placeholder) - Add proper Unicode handling for PDF form tooltips via PDFString.decodeText() - Extract SVG utilities into cleaner strategy pattern **Form Field Processing (updated to cantoo/pdf-lib)** - Add support for display labels vs export values in dropdown/list fields per PDF spec 12.7.4.4 - Implement caching for expensive field property lookups - Add proper handling of malformed /Opt arrays <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## Checklist ### General - [X] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [X] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [X] I have performed a self-review of my own code - [X] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [X] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --------- Signed-off-by: Balázs Szücs <[email protected]> |
||
|
|
b8ce4e47c1 |
Preserve local paths for desktop saves (#5543)
# Summary - Adds desktop file tracking: local paths are preserved and save buttons now work as expcted (doing Save/Save As as appropriate) - Adds logic to track whether files are 'dirty' (they've been modified by some tool, and not saved to disk yet). - Improves file state UX (dirty vs saved) and close warnings - Web behaviour should be unaffected by these changes ## Indicators Files now have indicators in desktop mode to tell you their state. ### File up-to-date with disk <img width="318" height="393" alt="image" src="https://github.com/user-attachments/assets/06325f9a-afd7-4c2f-8a5b-6d11e3093115" /> ### File modified by a tool but not saved to disk yet <img width="357" height="385" alt="image" src="https://github.com/user-attachments/assets/1a7716d9-c6f7-4d13-be0d-c1de6493954b" /> ### File not tracked on disk <img width="312" height="379" alt="image" src="https://github.com/user-attachments/assets/9cffe300-bd9a-4e19-97c7-9b98bebefacc" /> # Limitations - It's a bit weird that we still have files stored in indexeddb in the app, which are still loadable. We might want to change this behaviour in the future - Viewer's Save doesn't persist to disk. I've left that out here because it'd need a lot of testing to make sure the logic's right with making sure you can leave the Viewer with applying the changes to the PDF _without_ saving to disk - There's no current way to do Save As on a file that has already been persisted to disk - it's only ever Save. Similarly, there's no way to duplicate a file. --------- Co-authored-by: James Brunton <[email protected]> Co-authored-by: James Brunton <[email protected]> |
||
|
|
5a1ed50e2b | feat(attachments): add attachment support with sidebar and API integration (#5673) | ||
|
|
ba72a2a623 | Headless windows installer (#5664) | ||
|
|
fb37ee8038 |
feat(redaction): update to embedPDF v2.4.0 with unified redaction mode support (#5652)
# Description of Changes Bump to EmbedPDF v2.4.0 plus update to the redaction methods <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## Checklist ### General - [X] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [X] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [X] I have performed a self-review of my own code - [X] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [X] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --------- Signed-off-by: Balázs Szücs <[email protected]> |
||
|
|
5c7d675960 |
deps(embedPDF): Bump codebase to embedPDF v2.3.0 and adjust codebase for new features (#5567)
# Description of Changes <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --------- Signed-off-by: Balázs Szücs <[email protected]> Co-authored-by: Anthony Stirling <[email protected]> |
||
|
|
43d4b46b31 |
deps(frontend, tauri): update Tauri, Rust crates, and frontend dependencies (#5569)
# Description of Changes This pull request primarily updates dependencies for both the frontend JavaScript and Rust (Tauri) codebases, and refactors the `MobileUploadModal` component to consistently use a centralized API client for backend communication. The refactor improves code consistency, error handling, and logging in the file upload workflow. **Dependency updates** * Updated several Tauri-related dependencies in both `frontend/package.json` and `frontend/src-tauri/Cargo.toml` to their latest versions, including `@tauri-apps/api`, `@tauri-apps/plugin-fs`, `@tauri-apps/plugin-http`, `@tauri-apps/plugin-shell`, and associated Rust crates. This ensures better compatibility, security, and access to new features. [[1]](diffhunk://#diff-da6498268e99511d9ba0df3c13e439d10556a812881c9d03955b2ef7c6c1c655L46-R49) [[2]](diffhunk://#diff-da6498268e99511d9ba0df3c13e439d10556a812881c9d03955b2ef7c6c1c655L129-R132) [[3]](diffhunk://#diff-91e702206f8c6459b43ae72dbd6abfed8104de661dd239d13956985210f67fd0L21-R35) * Updated `@iconify-json/material-symbols` and `@tauri-apps/cli` in `package.json` for improved icon support and build tooling. **Refactor: API client usage in `MobileUploadModal`** * Replaced all direct `fetch` calls in `MobileUploadModal.tsx` with the centralized `apiClient`, standardizing backend requests and improving maintainability. [[1]](diffhunk://#diff-fafb4b340343062aba7b763dea5e6e13e0e330ab2ac7dfd04a2032ba79620c8aR13) [[2]](diffhunk://#diff-fafb4b340343062aba7b763dea5e6e13e0e330ab2ac7dfd04a2032ba79620c8aL84-R98) [[3]](diffhunk://#diff-fafb4b340343062aba7b763dea5e6e13e0e330ab2ac7dfd04a2032ba79620c8aL116-R122) [[4]](diffhunk://#diff-fafb4b340343062aba7b763dea5e6e13e0e330ab2ac7dfd04a2032ba79620c8aL130-R138) [[5]](diffhunk://#diff-fafb4b340343062aba7b763dea5e6e13e0e330ab2ac7dfd04a2032ba79620c8aL160-R177) [[6]](diffhunk://#diff-fafb4b340343062aba7b763dea5e6e13e0e330ab2ac7dfd04a2032ba79620c8aL187-R207) * Improved error handling, status checks, and logging throughout the upload and session management flow, making debugging easier and the user experience more robust. [[1]](diffhunk://#diff-fafb4b340343062aba7b763dea5e6e13e0e330ab2ac7dfd04a2032ba79620c8aL84-R98) [[2]](diffhunk://#diff-fafb4b340343062aba7b763dea5e6e13e0e330ab2ac7dfd04a2032ba79620c8aL130-R138) [[3]](diffhunk://#diff-fafb4b340343062aba7b763dea5e6e13e0e330ab2ac7dfd04a2032ba79620c8aL148-R153) [[4]](diffhunk://#diff-fafb4b340343062aba7b763dea5e6e13e0e330ab2ac7dfd04a2032ba79620c8aL160-R177) [[5]](diffhunk://#diff-fafb4b340343062aba7b763dea5e6e13e0e330ab2ac7dfd04a2032ba79620c8aL187-R207) **Session cleanup improvements** * Ensured that mobile scanner sessions are reliably cleaned up both when the modal closes and when the component unmounts, using the `apiClient` and React's effect cleanup mechanism. --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --------- Co-authored-by: Copilot <[email protected]> |
||
|
|
392462a325 |
build(deps): bump globals from 16.5.0 to 17.0.0 in /frontend (#5413)
Bumps [globals](https://github.com/sindresorhus/globals) from 16.5.0 to 17.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sindresorhus/globals/releases">globals's releases</a>.</em></p> <blockquote> <h2>v17.0.0</h2> <h3>Breaking</h3> <ul> <li>Split <code>audioWorklet</code> environment from <code>browser</code> (<a href="https://redirect.github.com/sindresorhus/globals/issues/320">#320</a>) 7bc293e</li> </ul> <h3>Improvements</h3> <ul> <li>Update globals (<a href="https://redirect.github.com/sindresorhus/globals/issues/329">#329</a>) ebe1063</li> <li>Get all browser globals from both <code>chrome</code> and <code>firefox</code> (<a href="https://redirect.github.com/sindresorhus/globals/issues/321">#321</a>) 59ceff8</li> <li>Add <code>bunBuiltin</code> environment (<a href="https://redirect.github.com/sindresorhus/globals/issues/324">#324</a>) 1bc6e3b</li> <li>Add <code>denoBuiltin</code> environment (<a href="https://redirect.github.com/sindresorhus/globals/issues/324">#324</a>) 1bc6e3b</li> <li>Add <code>paintWorklet</code> environment (<a href="https://redirect.github.com/sindresorhus/globals/issues/323">#323</a>) 4b78f56</li> <li>Add <code>sharedWorker</code> environment (<a href="https://redirect.github.com/sindresorhus/globals/issues/322">#322</a>) 4a02a85</li> </ul> <hr /> <p><a href="https://github.com/sindresorhus/globals/compare/v16.5.0...v17.0.0">https://github.com/sindresorhus/globals/compare/v16.5.0...v17.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sindresorhus/globals/commit/bb89b18916b00f6c4f089baa0d66cb7f0771ab1b"><code>bb89b18</code></a> 17.0.0</li> <li><a href="https://github.com/sindresorhus/globals/commit/ebe106340137419b4ac0150f746b7567fb78ce03"><code>ebe1063</code></a> Update globals (2026-01-01) (<a href="https://redirect.github.com/sindresorhus/globals/issues/329">#329</a>)</li> <li><a href="https://github.com/sindresorhus/globals/commit/e3d8da349da72d66fcadf94d926d4ff96da3319c"><code>e3d8da3</code></a> Revert "Automate script for <code>paintWorklet</code> environment (<a href="https://redirect.github.com/sindresorhus/globals/issues/325">#325</a>)" (<a href="https://redirect.github.com/sindresorhus/globals/issues/328">#328</a>)</li> <li><a href="https://github.com/sindresorhus/globals/commit/e7c0453f80840ebcef3a6bccaabc7a9dc0cb7a84"><code>e7c0453</code></a> Automate script for <code>paintWorklet</code> environment (<a href="https://redirect.github.com/sindresorhus/globals/issues/325">#325</a>)</li> <li><a href="https://github.com/sindresorhus/globals/commit/1bc6e3bc6658d4243a714bb7dd7401f206fd3bc5"><code>1bc6e3b</code></a> Add <code>bunBuiltin</code> and <code>denoBuiltin</code> (<a href="https://redirect.github.com/sindresorhus/globals/issues/324">#324</a>)</li> <li><a href="https://github.com/sindresorhus/globals/commit/4b78f56c1c305e34161183e8fd5ac89e92c72e84"><code>4b78f56</code></a> Add <code>paintWorklet</code> environment (<a href="https://redirect.github.com/sindresorhus/globals/issues/323">#323</a>)</li> <li><a href="https://github.com/sindresorhus/globals/commit/59ceff80cb22de31a78651acdda4db1a91eefb11"><code>59ceff8</code></a> Get all browser globals from both <code>chrome</code> and <code>firefox</code> (<a href="https://redirect.github.com/sindresorhus/globals/issues/321">#321</a>)</li> <li><a href="https://github.com/sindresorhus/globals/commit/4a02a852463c03ae722f14f06944c5aa7e0e06e0"><code>4a02a85</code></a> Add <code>sharedWorker</code> environment (<a href="https://redirect.github.com/sindresorhus/globals/issues/322">#322</a>)</li> <li><a href="https://github.com/sindresorhus/globals/commit/7bc293ec2498be49293e3aec46186a98a76e5ecd"><code>7bc293e</code></a> Split <code>audioWorklet</code> environment from <code>browser</code> (<a href="https://redirect.github.com/sindresorhus/globals/issues/320">#320</a>)</li> <li><a href="https://github.com/sindresorhus/globals/commit/814075ffd71e6b0599f2611cd445b00906ad2181"><code>814075f</code></a> Fix browser launch (<a href="https://redirect.github.com/sindresorhus/globals/issues/319">#319</a>)</li> <li>Additional commits viewable in <a href="https://github.com/sindresorhus/globals/compare/v16.5.0...v17.0.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
18be8f4692 |
Self-hosted desktop SSO (#5265)
# Description of Changes Support SSO in self-hosted desktop app. --------- Co-authored-by: Anthony Stirling <[email protected]> |
||
|
|
b4dd7afe03 |
Optimise Tauri builds (#5404)
# Description of Changes - Just build proper installers in CI for each platform - Provide commands to build just the bundled apps without the need for installers locally - `tauri-dev` - Builds quickly for an unoptimised version of the app - `tauri-build` - Builds the full optimised app installer for release - `tauri-build-dev` - Builds an optimised app with no bundling (builds to a folder on Mac; raw `.exe` on Windows; etc.) - `tauri-build-dev-mac` - Builds an optimised bundled Mac app with no installer (as an `.app` file) - `tauri-build-dev-windows` - Builds an optimised bundled Windows app as an `.nsis` installer - `tauri-build-dev-linux` - Builds an optimised bundled Linux app as an `.appimage` |
||
|
|
0c96133544 |
Feature/v2/redact (#5249)
# Description of Changes - Add manual redaction and added it to the right rail in the viewer --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. |
||
|
|
70fc6348f3 |
photo scan V2 (#5255)
# Description of Changes <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. |
||
|
|
ae72344317 |
Offline pdfium (#5213)
# Description of Changes <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. |
||
|
|
ba7c75aff4 |
Update embed and allow form rendering (#5124)
You can now see the values of forms filled elsewhre (still no filling forms ourselves) |
||
|
|
c3456adc2b | Print with embed (#5109) | ||
|
|
cddd5e7d15 | Convert V2 translations to Toml | ||
|
|
53d167eda5 |
Chore/v2/translation fixes (#5011)
# Description of Changes <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. |
||
|
|
b0397da19e |
PDF Text editor (#4724)
## Summary - add a `PdfJsonConversionService` that serializes PDF text, fonts, and metadata to JSON and rebuilds a PDF from the same structure - expose REST endpoints for `/pdf/json` and `/json/pdf` conversions using the existing convert API infrastructure - define JSON model classes capturing document metadata, font information, and positioned text elements ## Testing - `./gradlew spotlessApply` *(fails: plugin org.springframework.boot:3.5.4 unavailable in build environment)* - `./gradlew build` *(fails: plugin org.springframework.boot:3.5.4 unavailable in build environment)* ------ https://chatgpt.com/codex/tasks/task_b_68f8e98d94ac8328a0e499e541528b6f --------- Co-authored-by: EthanHealy01 <[email protected]> |
||
|
|
4fd336c26c |
Feature/v2/bookmarks (#4949)
bookmark panel on viewer |
||
|
|
8d9e70c796 |
Stripe and license payment integration (#4935)
selfhosted stripe payment and license integration --------- Co-authored-by: Anthony Stirling <[email protected]> Co-authored-by: Connor Yoh <[email protected]> |
||
|
|
f4725b98b0 |
Allow desktop app to connect to selfhosted servers (#4902)
# Description of Changes Changes the desktop app to allow connections to self-hosted servers on first startup. This was quite involved and hit loads of CORS issues all through the stack, but I think it's working now. This also changes the bundled backend to spawn on an OS-decided port rather than always spawning on `8080`, which means that the user can have other things running on port `8080` now and the app will still work fine. There were quite a few places that needed to be updated to decouple the app from explicitly using `8080` and I was originally going to split those changes out into another PR (#4939), but I couldn't get it working independently in the time I had, so the diff here is just going to be complex and contian two distinct changes - sorry 🙁 |
||
|
|
aa20dbb7a6 |
Feature/v2/selected pageeditor rework (#4756)
# Description of Changes <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --------- Co-authored-by: James Brunton <[email protected]> Co-authored-by: Copilot <[email protected]> |