Sync upstream/dev (2026-08-09) - #16
Conversation
* ci: remove renovate cli group name * bump napi-rs but auto cli packages * why prettier this time?
* chore(deps): update dependency vitest to v4.1.10 * Fix audit * override undici * bump log plugin to fix audit --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tony <legendmastertony@gmail.com>
* chore(deps): update rust crate glob to v0.3.4 * update snapshots * fix mac and linux * take 3 --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tony <legendmastertony@gmail.com>
…tic (tauri-apps#15777) * fix: make embedded assets codegen and config serialization deterministic generate_context! emitted the embedded asset map and the CSP script/style hashes in filesystem walk order (varies across machines) and HashMap iteration order (varies per process), and serializing the processed config wrote the csp/headers/plugins maps in HashMap iteration order. Both broke reproducible builds: the same source built on two machines produced different binaries and a different tauri.conf.json in the generated Android project. Iterate all of them sorted, complementing tauri-apps#14986 which sorted the same config maps on the ToTokens path. closes tauri-apps#14978 * Use `BTreeMap` for embedded assets and inline script hashes * remove outdated comment * Convert to BTreeMap instead of sort to vec --------- Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com> Co-authored-by: Tony <legendmastertony@gmail.com>
…uri-apps#15821) * fix(runtime-wry): return the expected exit code from run_return() Transfer the exit code from the window.app_handle().exit(1) call to the run_return() result instead of always returning 0.
…s#15831) * fix(build): resolve target dir from OUT_DIR on new nightly * fix(build): clarify OUT_DIR comment and tidy up the new tests * fix(build): move the target dir TODO onto the helper and document the layouts --------- Co-authored-by: Lazizbek Ergashev <20501725+lazerg@users.noreply.github.com>
* chore(deps): update napi-rs packages * place napi groupng at the end * bump in cargo.toml * fix audit --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tony <legendmastertony@gmail.com>
* chore(deps): update dependency rollup to v4.62.4 * bump nanoid for audit --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tony <legendmastertony@gmail.com>
…6rwlz # Conflicts: # Cargo.lock # pnpm-lock.yaml # pnpm-workspace.yaml
… for ACL snapshot tests to pass after upstream sync)
📝 WalkthroughWalkthroughThe changes make configuration and embedded asset output deterministic, resolve target directories from varied ChangesBuild and release behavior
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Generated by Claude Code |
audit-js (2 high): - js-yaml: the existing override pinned exactly 4.3.0, but CVE-2026-59870 (quadratic CPU in !!omap resolution, GHSA-5p4m-2wfm-xmqj) is only fixed in >= 4.3.1. Widen the range to <4.3.1 and pin 4.3.1. Reached via packages/cli > @napi-rs/cli > js-yaml. - nanoid: no override existed. postcss 8.5.23 still resolves nanoid 3.3.16, which is vulnerable to GHSA-2v37-7h3g-55p8 (custom generators loop indefinitely when size is zero). Pin 3.3.17. Pinned exactly rather than '>=3.3.17' because 3.3.18 was published 2026-08-07 and is still inside the repo's minimumReleaseAge window (4320m). audit-rust (1 vulnerability): - rkyv 0.7.46, RUSTSEC-2026-0235 (out-of-bounds read via Rc/Arc archives). Patched only in >= 0.8.17; the 0.7 series is affected and unsupported upstream. rkyv is unreachable from the workspace -- `cargo tree -i rkyv --workspace --target all` resolves to nothing -- because it enters Cargo.lock solely as an optional, non-activated dependency of rust_decimal (rust_decimal > byte-unit > tauri-plugin-log > examples/api), and rust_decimal still declares `rkyv ^0.7.46` even at 1.42.1. cargo-audit scans Cargo.lock literally, so it flags a crate that is never compiled. Ignored with that rationale until rust_decimal moves the optional dep to rkyv 0.8. Verified locally: `pnpm audit` -> no known vulnerabilities; `cargo audit` -> exit 0, 9 allowed warnings; prettier --check clean. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
@coderabbitai review Pushed 14f8b07 to clear the two red audit checks. Summary for review context:
Verified locally before pushing: Generated by Claude Code |
|
✏️ Learnings added
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (1)
.cargo/audit.toml (1)
14-21: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick winLimit this
RUSTSEC-2026-0235exception to the supported feature set.
cargo tree -i rkyv --workspace --target allonly checks the default feature graph. Ifbyte-unit/rust_decimalare built with therkyvfeature enabled,rkyvcan become part of the dependency graph, so document that boundary or keep this ignored only whilerkyvremains unreachable for supported builds.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.cargo/audit.toml around lines 14 - 21, Update the RUSTSEC-2026-0235 audit exception documentation to state that it is valid only for supported builds without the byte-unit/rust_decimal rkyv feature enabled. Verify the supported feature graph, and narrow or remove the exception if enabling that feature makes rkyv reachable; keep the existing dependency rationale accurate.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/RELEASING.md:
- Line 18: Update the release handbook sentence containing “@tauri-apps/cli” so
the plural subject “native Node.js modules” uses “which are published,” or
equivalent grammatically correct wording.
In `@crates/tauri-build/src/lib.rs`:
- Around line 210-219: Update target_dir_from_out_dir to distinguish the Cargo
build-directory ancestor from a package directory also named build, supporting
both documented stable and nightly OUT_DIR layouts and returning the actual
target directory. Add a regression test covering the nightly path
<target>/build/build/<hash>/out and verify resource and sidecar resolution uses
<target>.
In `@packages/cli/package.json`:
- Around line 44-47: Align the Vitest dependency with the project’s Node.js
support policy: either update the root and each CLI package engine declarations
from >= 10 to >= 20, or replace Vitest 4.1.10 with a Vitest 3-compatible version
if Node.js 10 support must remain. Ensure all affected CLI package engine fields
are consistent.
---
Nitpick comments:
In @.cargo/audit.toml:
- Around line 14-21: Update the RUSTSEC-2026-0235 audit exception documentation
to state that it is valid only for supported builds without the
byte-unit/rust_decimal rkyv feature enabled. Verify the supported feature graph,
and narrow or remove the exception if enabling that feature makes rkyv
reachable; keep the existing dependency rationale accurate.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 6cc2dbad-79ad-491b-a9dc-0ebd2de72193
⛔ Files ignored due to path filters (12)
Cargo.lockis excluded by!**/*.lockcrates/tests/acl/fixtures/snapshots/acl_tests__tests__basic-ping.snapis excluded by!**/*.snapcrates/tests/acl/fixtures/snapshots/acl_tests__tests__file-explorer-remote.snapis excluded by!**/*.snapcrates/tests/acl/fixtures/snapshots/acl_tests__tests__file-explorer.snapis excluded by!**/*.snapcrates/tests/acl/fixtures/snapshots/acl_tests__tests__multiwebview.snapis excluded by!**/*.snapcrates/tests/acl/fixtures/snapshots/acl_tests__tests__multiwindow.snapis excluded by!**/*.snapcrates/tests/acl/fixtures/snapshots/acl_tests__tests__scope-extended.snapis excluded by!**/*.snapcrates/tests/acl/fixtures/snapshots/acl_tests__tests__scope.snapis excluded by!**/*.snapcrates/tests/acl/fixtures/snapshots/linux/acl_tests__tests__platform-specific-permissions.snapis excluded by!**/*.snapcrates/tests/acl/fixtures/snapshots/macOS/acl_tests__tests__platform-specific-permissions.snapis excluded by!**/*.snapcrates/tests/acl/fixtures/snapshots/windows/acl_tests__tests__platform-specific-permissions.snapis excluded by!**/*.snappnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (15)
.cargo/audit.toml.changes/exit-with-code.md.changes/fix-deterministic-config-serialization.md.changes/fix-deterministic-embedded-assets-codegen.md.changes/target-dir-nightly-out-dir.md.github/RELEASING.mdcrates/tauri-build/src/lib.rscrates/tauri-codegen/src/embedded_assets.rscrates/tauri-runtime-wry/src/lib.rscrates/tauri-utils/src/config.rspackages/api/package.jsonpackages/cli/Cargo.tomlpackages/cli/package.jsonpnpm-workspace.yamlrenovate.json
Brings the fork up to date with
tauri-apps/tauri:devas of 2026-08-09 (9 commits, last sync was 2026-08-03 in #15).Why this sync is small
Unlike #15 (32 commits, GTK4/WebKit6 port forward-port required), this sync doesn't touch
crates/tauri-runtime-wry's tao/wry version requirements, soports/taoandports/wryneeded no forward-porting.cargo metadataresolves both to their local paths with no patch-unused warnings.Commits
206f4c0— merge of upstream/dev (9 commits). Conflicts were limited toCargo.lock,pnpm-lock.yaml, andpnpm-workspace.yamloverrides — all three because upstream independently added the sameundiciaudit override the fork already carried locally (from6e308a1, merged in Sync upstream/dev (2026-08-03) and forward-port ports/tao 0.36 / ports/wry 0.56 #15). Resolved by keeping the fork's full override set (brace-expansion,js-yaml,postcss,sharp,undici,ws) and regenerating both lockfiles.0cfd10e—cargo update -p globto 0.3.4. Upstream'sglobbump (chore(deps): update rust crate glob to v0.3.4 tauri-apps/tauri#15826) changedglob::Pattern'sDebugoutput (used in the ACL snapshot tests), but a workspace-widecargo updatedidn't pick this crate up on its own, so the ACL snapshot tests failed until it was updated explicitly.What's in the 9 upstream commits
fix(build): resolve target dir fromOUT_DIRon new nightlyfix(runtime-wry):run_return()now returns the expected exit codefix: make embedded assets codegen and config serialization deterministicglob0.3.4,rollup4.62.4, napi-rs packages, misc renovate/CI configValidation
Ran locally since this environment can't cross-compile the Linux GTK4/WebKit6 stack from Windows the way #15's author could — but this container can build it natively (installed
libgtk-4-dev,libwebkitgtk-6.0-dev,libadwaita-1-dev,libdbus-1-dev):cargo check -p tauri-build -p tauri-codegen -p tauri-runtime-wry -p tauri-utils --all-features— clean, including a real compile ofports/tao(0.36.0) andports/wry(0.56.0), no patch-unused warningscargo clippy -p tauri-build -p tauri-codegen -p tauri-runtime-wry -p tauri-utils --all-features --all-targets -- -D warnings— cleancargo fmt --all -- --check— cleancargo test -p tauri-utils config::— 15 passed (covers the deterministic config serialization fix)cargo test -p tauri-build— 10 passed (covers theOUT_DIR/target-dir fix)cargo test -p acl-tests— passes after theglobbump; failed before it (stale snapshot mismatch)pnpm install— lockfile passes supply-chain policy (522 entries), fork's audit overrides (brace-expansion,js-yaml,postcss,sharp,undici,ws) all still resolve to their patched versionsNot run here: full CI matrix (Windows/macOS targets, Android/iOS cross builds, bench suite) — left to CI.
Generated by Claude Code
Summary by CodeRabbit
Bug Fixes
Chores