Skip to content

Sync root files with upstream dev - #7

Merged
OlympusLedgerOrg merged 5 commits into
devfrom
split-root-upstream-2026-07-09
Jul 10, 2026
Merged

Sync root files with upstream dev#7
OlympusLedgerOrg merged 5 commits into
devfrom
split-root-upstream-2026-07-09

Conversation

@OlympusLedgerOrg

@OlympusLedgerOrg OlympusLedgerOrg commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • syncs fork dev root files with upstream dev changes outside vendored Tao/Wry ports
  • keeps audit workflow hardening from the reviewed branch
  • leaves ports/tao and ports/wry changes to separate PRs

Split

Part 1 of 3 replacing #6.

Validation

  • actionlint .github/workflows/audit.yml
  • git diff --check origin/dev..HEAD

Summary by CodeRabbit

  • Bug Fixes
    • Automatically removes webview JavaScript event listeners when webviews/windows close, preventing stale callbacks and leaks.
    • Fixed an Objective-C retain leak on Apple targets affecting webview messaging.
  • Documentation
    • Clarified that menuOnLeftClick “no longer works since v2.2” and updated guidance to use show_menu_on_left_click.
    • Refreshed licensing references in bundled/fixture files.
  • Maintenance
    • Improved CI coverage and linting (including a clippy matrix) and tightened auditing tooling.
    • Applied dependency/version and minor packaging/formatting updates.

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b1d40484-fc4c-41d9-83d2-344b1bbcf7c4

📥 Commits

Reviewing files that changed from the base of the PR and between d6619e6 and 9e1899b.

📒 Files selected for processing (2)
  • .github/workflows/audit.yml
  • .github/workflows/lint-rust.yml
💤 Files with no reviewable changes (2)
  • .github/workflows/audit.yml
  • .github/workflows/lint-rust.yml

📝 Walkthrough

Walkthrough

The changes update webview listener cleanup, Apple and Android runtime bindings, tray deprecation metadata, CLI and bundler code, CI workflows, dependencies, licenses, examples, and documentation.

Changes

Runtime and repository maintenance

Layer / File(s) Summary
Webview listener cleanup
.changes/fix-js-listeners-leak-on-webview-close.md, crates/tauri/src/event/listener.rs, crates/tauri/src/manager/mod.rs
JavaScript listeners are removed when windows or webviews close, with unit-test coverage.
Platform runtime ownership and bindings
.changes/fix-objc-retain-leak.md, crates/tauri-runtime-wry/src/*, crates/tauri/src/lib.rs, crates/tauri/src/plugin/mobile.rs, crates/tauri/src/test/mock_runtime.rs
Apple pointer handoff uses borrowed retained pointers, Android JNI lifetimes are explicit, mobile helper signatures are simplified, and desktop-only items are gated.
Tray configuration deprecation
crates/tauri-cli/config.schema.json, crates/tauri-schema-generator/schemas/config.schema.json, crates/tauri-utils/src/config.rs, crates/tauri/src/app.rs, crates/tauri/src/tray/mod.rs
Tray documentation and initialization identify menu_on_left_click as deprecated and direct callers to show_menu_on_left_click.
CLI and bundler modernization
crates/tauri-cli/src/*, crates/tauri-bundler/Cargo.toml, crates/tauri-bundler/src/bundle/*
CLI option filtering, parsing, logging, path formatting, dependency placement, and Rust format-string usage are updated.
CI and dependency updates
.changes/change-pr-15677.md, .github/workflows/audit.yml, .github/workflows/lint-rust.yml, .gitignore, crates/tauri-utils/Cargo.toml
Audit and lint workflows gain newer actions and multi-target coverage, while dependency and ignore-pattern entries are updated.
Examples, licenses, and documentation
crates/tauri-driver/LICENSE*, crates/tests/restart/LICENSE*, examples/api/src-tauri/src/lib.rs, crates/tauri/src/webview/webview_window.rs
License references, example event handling, and documentation examples are revised.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects syncing repository root files with upstream dev changes and matches the PR’s main scope.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch split-root-upstream-2026-07-09

Comment @coderabbitai help to get the list of available commands.

@socket-security

socket-security Bot commented Jul 9, 2026

Copy link
Copy Markdown

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

Ignoring alerts on:

  • cargo/openssl@0.10.80

View full report

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
.github/workflows/audit.yml (1)

40-43: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Pin the audit tool installations.

tool: cargo-audit and npm i -g --force corepack resolve versions outside repository lockfiles, allowing upstream changes to alter the security gate without a PR. Pin approved versions or use a repository-managed bootstrap.

Also applies to: 54-54

🤖 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 @.github/workflows/audit.yml around lines 40 - 43, Pin the externally
resolved audit tools in the workflow: update the cargo-audit installation step
and the global corepack installation command to use explicitly approved
versions, or replace them with repository-managed bootstrap tooling. Preserve
the existing audit behavior while ensuring both installations are reproducible
and cannot change due to upstream releases.

Source: Linters/SAST tools

🤖 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/workflows/lint-rust.yml:
- Line 58: Update the workflow containing the actions/checkout@v7 step to set
persist-credentials: false, and add a permissions declaration granting only
contents: read at the workflow or job level.

In `@crates/tauri/src/webview/webview_window.rs`:
- Around line 1282-1299: Fix the iOS doctest by changing the assignment in the
input accessory view builder block to use the declared `builder` variable
consistently instead of the undefined `window_builder` identifier.

---

Nitpick comments:
In @.github/workflows/audit.yml:
- Around line 40-43: Pin the externally resolved audit tools in the workflow:
update the cargo-audit installation step and the global corepack installation
command to use explicitly approved versions, or replace them with
repository-managed bootstrap tooling. Preserve the existing audit behavior while
ensuring both installations are reproducible and cannot change due to upstream
releases.
🪄 Autofix (Beta)

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: 5cbcb83c-ca08-4207-ad24-f7ed2199c1e4

📥 Commits

Reviewing files that changed from the base of the PR and between 67719ec and a048a0c.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (63)
  • .changes/change-pr-15677.md
  • .changes/fix-js-listeners-leak-on-webview-close.md
  • .changes/fix-objc-retain-leak.md
  • .github/workflows/audit.yml
  • .github/workflows/lint-rust.yml
  • .gitignore
  • LICENSE-APACHE-2.0
  • LICENSE-MIT
  • crates/tauri-build/LICENSE-APACHE-2.0
  • crates/tauri-build/LICENSE-MIT
  • crates/tauri-bundler/Cargo.toml
  • crates/tauri-bundler/License-Apache.md
  • crates/tauri-bundler/License-MIT.md
  • crates/tauri-bundler/src/bundle/macos/dmg/mod.rs
  • crates/tauri-bundler/src/bundle/windows/msi/mod.rs
  • crates/tauri-cli/LICENSE-APACHE-2.0
  • crates/tauri-cli/LICENSE-MIT
  • crates/tauri-cli/config.schema.json
  • crates/tauri-cli/src/acl/capability/new.rs
  • crates/tauri-cli/src/acl/permission/new.rs
  • crates/tauri-cli/src/dev/builtin_dev_server.rs
  • crates/tauri-cli/src/helpers/flock.rs
  • crates/tauri-cli/src/helpers/pbxproj.rs
  • crates/tauri-cli/src/interface/rust/desktop.rs
  • crates/tauri-codegen/LICENSE-APACHE-2.0
  • crates/tauri-codegen/LICENSE-MIT
  • crates/tauri-driver/LICENSE-APACHE-2.0
  • crates/tauri-driver/LICENSE-MIT
  • crates/tauri-driver/LICENSE_APACHE-2.0
  • crates/tauri-driver/LICENSE_MIT
  • crates/tauri-macros/LICENSE-APACHE-2.0
  • crates/tauri-macros/LICENSE-MIT
  • crates/tauri-runtime-wry/LICENSE-APACHE-2.0
  • crates/tauri-runtime-wry/LICENSE-MIT
  • crates/tauri-runtime-wry/src/lib.rs
  • crates/tauri-runtime-wry/src/webview.rs
  • crates/tauri-runtime-wry/src/window/mod.rs
  • crates/tauri-runtime/LICENSE-APACHE-2.0
  • crates/tauri-runtime/LICENSE-MIT
  • crates/tauri-schema-generator/schemas/config.schema.json
  • crates/tauri-utils/Cargo.toml
  • crates/tauri-utils/LICENSE-APACHE-2.0
  • crates/tauri-utils/LICENSE-MIT
  • crates/tauri-utils/src/config.rs
  • crates/tauri/LICENSE-APACHE-2.0
  • crates/tauri/LICENSE-MIT
  • crates/tauri/src/app.rs
  • crates/tauri/src/event/listener.rs
  • crates/tauri/src/lib.rs
  • crates/tauri/src/manager/mod.rs
  • crates/tauri/src/plugin/mobile.rs
  • crates/tauri/src/test/mock_runtime.rs
  • crates/tauri/src/tray/mod.rs
  • crates/tauri/src/webview/webview_window.rs
  • crates/tests/restart/LICENSE-APACHE-2.0
  • crates/tests/restart/LICENSE-MIT
  • crates/tests/restart/LICENSE_APACHE-2.0
  • crates/tests/restart/LICENSE_MIT
  • examples/api/src-tauri/src/lib.rs
  • packages/api/LICENSE-APACHE-2.0
  • packages/api/LICENSE-MIT
  • packages/cli/LICENSE-APACHE-2.0
  • packages/cli/LICENSE-MIT
💤 Files with no reviewable changes (4)
  • crates/tests/restart/LICENSE_APACHE-2.0
  • crates/tauri-driver/LICENSE_MIT
  • crates/tests/restart/LICENSE_MIT
  • crates/tauri-driver/LICENSE_APACHE-2.0

Comment thread .github/workflows/lint-rust.yml
Comment thread crates/tauri/src/webview/webview_window.rs
@OlympusLedgerOrg

Copy link
Copy Markdown
Owner Author

@SocketSecurity ignore cargo/openssl@0.10.80

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/audit.yml (1)

39-50: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Add the OpenSSL advisory ignore to .cargo/audit.toml cargo audit still runs without an OpenSSL suppression, and the existing .cargo/audit.toml doesn't include one, so the openssl 0.10.80 advisory will keep failing this job until it's added.

🤖 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 @.github/workflows/audit.yml around lines 39 - 50, Add an OpenSSL advisory
ignore entry to the existing `.cargo/audit.toml` configuration, targeting the
advisory affecting openssl 0.10.80 so the `rust audit` step running `cargo
audit` no longer fails on this known issue.
🧹 Nitpick comments (1)
.github/workflows/audit.yml (1)

57-57: 🔒 Security & Privacy | 🔵 Trivial | 💤 Low value

Ad-hoc global npm install flagged by zizmor.

npm i -g --force corepack@0.35.0 installs a package outside any lockfile. It's pinned, which mitigates supply-chain risk somewhat, but consider whether Node's bundled corepack (if the runner's Node version still ships it) or corepack enable could avoid the ad-hoc global install entirely.

🤖 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 @.github/workflows/audit.yml at line 57, Replace the ad-hoc global install in
the workflow step with the runner’s bundled Corepack by invoking `corepack
enable` directly, if supported by the configured Node version; otherwise pin and
install Corepack through a lockfile-backed project dependency rather than using
`npm i -g --force`.

Source: Linters/SAST tools

🤖 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.

Outside diff comments:
In @.github/workflows/audit.yml:
- Around line 39-50: Add an OpenSSL advisory ignore entry to the existing
`.cargo/audit.toml` configuration, targeting the advisory affecting openssl
0.10.80 so the `rust audit` step running `cargo audit` no longer fails on this
known issue.

---

Nitpick comments:
In @.github/workflows/audit.yml:
- Line 57: Replace the ad-hoc global install in the workflow step with the
runner’s bundled Corepack by invoking `corepack enable` directly, if supported
by the configured Node version; otherwise pin and install Corepack through a
lockfile-backed project dependency rather than using `npm i -g --force`.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: d9bde70f-2cb1-4266-b0e8-4375f5d91949

📥 Commits

Reviewing files that changed from the base of the PR and between a048a0c and 673a44d.

📒 Files selected for processing (3)
  • .github/workflows/audit.yml
  • .github/workflows/lint-rust.yml
  • crates/tauri/src/webview/webview_window.rs
✅ Files skipped from review due to trivial changes (1)
  • crates/tauri/src/webview/webview_window.rs
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/lint-rust.yml

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/audit.yml (1)

48-49: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Add the requested OpenSSL ignore before gating on cargo audit
.cargo/audit.toml does not include an openssl advisory exemption, and Cargo.lock still pins openssl 0.10.80. Add the missing RUSTSEC entry or this workflow can start failing as soon as the advisory is present in the database.

🤖 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 @.github/workflows/audit.yml around lines 48 - 49, Add an OpenSSL RUSTSEC
advisory exemption to .cargo/audit.toml for the pinned openssl 0.10.80
dependency, ensuring the ignore entry is present before the rust audit step
runs.
🤖 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.

Outside diff comments:
In @.github/workflows/audit.yml:
- Around line 48-49: Add an OpenSSL RUSTSEC advisory exemption to
.cargo/audit.toml for the pinned openssl 0.10.80 dependency, ensuring the ignore
entry is present before the rust audit step runs.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e647543f-da39-4c0b-8a42-47b57b55fae5

📥 Commits

Reviewing files that changed from the base of the PR and between 673a44d and 04041da.

📒 Files selected for processing (1)
  • .github/workflows/audit.yml

@OlympusLedgerOrg

Copy link
Copy Markdown
Owner Author

@CodeRabbit report status for ci

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail
repo="OlympusLedgerOrg/tauri"
pr=7

echo "=== PR checks ==="
gh pr checks $pr --repo "$repo" || true

echo "=== PR status detail ==="
gh pr view $pr --repo "$repo" --json statusCheckRollup,mergeable,mergeStateStatus,title,state --jq '.'

Length of output: 18406


@OlympusLedgerOrg: CI status for PR #7 is all green ✅. Summary:

Category Status
Audit (audit-rust, audit-js) ✅ pass
Formatting (rustfmt, prettier, taplo) ✅ pass
Lint (eslint, typescript) ✅ pass
Rust lint (clippy aggregate + all 5 matrix targets: linux, windows, macOS, iOS, Android) ✅ pass
Generated files (changes, schema, check) ✅ pass (api job skipped — expected, no changes to check)
Tests — core (all/no-default-features across linux/windows/macOS/iOS/Android) ✅ pass
Tests — tauri-cli and @tauri-apps/cli (linux/windows/macOS) ✅ pass
covector status ✅ pass
CodeRabbit review ✅ pass
Socket Security (project report + PR alerts) ✅ pass

No failing or pending checks. One note: gh pr view reports mergeStateStatus: BLOCKED even though mergeable: MERGEABLE — this is unrelated to CI and is typically caused by branch protection rules (e.g., required approving review) rather than any failing check.

✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@OlympusLedgerOrg
OlympusLedgerOrg merged commit b64d19e into dev Jul 10, 2026
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant