Skip to content

fix(ios): bump @tauri-apps/api to 2.11 so JS matches the Rust tauri crate - #228

Merged
malpercio-dev merged 1 commit into
mainfrom
claude/friendly-gates-bd7vfy
Jul 13, 2026
Merged

fix(ios): bump @tauri-apps/api to 2.11 so JS matches the Rust tauri crate#228
malpercio-dev merged 1 commit into
mainfrom
claude/friendly-gates-bd7vfy

Conversation

@malpercio-dev

Copy link
Copy Markdown
Owner

Problem

CI on main is red. The Linux PDS lane (ci.yml) is green on the tip, but both macOS TestFlight lanesiOS · TestFlight and Admin Companion · TestFlight, which run on every push to main — failed on 7a0da74 (#225).

Failed job log:

Error Found version mismatched Tauri packages. Make sure the NPM package
and Rust crate versions are on the same major/minor releases:
tauri (v2.11.0) : @tauri-apps/api (v2.10.1)

Root cause

#225 ("Fix mobile resume blanking and viewport/scroll layout bugs") deliberately bumped the Rust tauri family 2.10.3 → 2.11.0 (lockfile only) to inherit the WKWebView auto-reload that fixes resume-blanking — but left the npm @tauri-apps/api pinned at 2.10.1 in both apps. cargo tauri ios build refuses to build when the JS API and Rust crate differ on major/minor, so the IPA build aborts before signing. The Linux gate (just ci-pds) excludes both iOS apps by design, so it never caught this.

Fix

Bump @tauri-apps/api to ~2.11.0 in both apps and regenerate the lockfiles (both resolve 2.11.1, same 2.11 minor as the Rust crate):

  • apps/identity-wallet/package.json + pnpm-lock.yaml (^2~2.11.0)
  • apps/admin-companion/package.json + pnpm-lock.yaml (~2.10.0~2.11.0)

Pinning to the 2.11 minor rather than the wallet's prior loose ^2 keeps the JS API locked to the Rust crate's minor, so a future 2.12 publish can't silently re-introduce the same mismatch. This matches the admin app's existing ~2.MINOR.0 pinning discipline.

Validation

Run locally (the macOS xcodebuild/signing step can't run on Linux, but this targets the exact version-parity check that failed — now 2.11 vs 2.11):

  • pnpm install --frozen-lockfile passes for both apps (CI's install step — lockfile in sync with package.json)
  • pnpm check (svelte-check): 0 errors, both apps
  • pnpm test: 65/65 (identity-wallet) and 96/96 (admin-companion) pass

🤖 Generated with Claude Code


Generated by Claude Code

…rate

The mobile-resume/viewport fix (#225) bumped the Rust tauri family
2.10.3 -> 2.11.0 (lockfile only) to inherit the WKWebView auto-reload,
but left @tauri-apps/api pinned at 2.10.1 in both apps. `cargo tauri ios
build` enforces that the NPM package and Rust crate share a major/minor,
so both TestFlight lanes failed on main:

    Found version mismatched Tauri packages...
    tauri (v2.11.0) : @tauri-apps/api (v2.10.1)

Pin @tauri-apps/api to ~2.11.0 in identity-wallet and admin-companion and
regenerate the lockfiles (both resolve 2.11.1). Pinning to the 2.11 minor
(rather than the wallet's prior loose ^2) keeps the JS API locked to the
Rust crate's minor so a future 2.12 publish can't silently re-introduce
the mismatch. Frontend type-check and unit tests pass for both apps.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017minW9TbfkkZ1vKp5L1Y1B
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c97cbd7b-88f9-4737-9035-713b1d13b563

📥 Commits

Reviewing files that changed from the base of the PR and between 7a0da74 and 235765b.

⛔ Files ignored due to path filters (2)
  • apps/admin-companion/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • apps/identity-wallet/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • apps/admin-companion/package.json
  • apps/identity-wallet/package.json
📜 Recent review details
⏰ Context from checks skipped due to timeout. (4)
  • GitHub Check: PDS gate (fmt, clippy, test, audit)
  • GitHub Check: Frontend check (admin-companion)
  • GitHub Check: iOS compile (identity-wallet)
  • GitHub Check: iOS compile (admin-companion)
🧰 Additional context used
🔍 Remote MCP

Relevant review context

  • Tauri’s dependency guidance says the npm package @tauri-apps/api and the Rust tauri crate should stay on the same minor version because the JS APIs rely on Rust backend code. (v2.tauri.app)
  • npm currently lists @tauri-apps/api latest as 2.11.1, and its version history includes both 2.11.0 and 2.11.1, so the PR’s ~2.11.0 pin keeps the apps on the 2.11.x line. (npmjs.com)
  • Tauri’s 2.11.0 release notes add JS API features like Bring All to Front menu items, macOS icon/template handling, autofill control, and suspended/resumed events on mobile; 2.11.1 is a patch release with a documentation-only enhancement about monitor pixel units. (v2.tauri.app)

This looks like a version-alignment fix rather than a functional frontend change; the main review check is whether the Rust-side tauri version is already synced to 2.11.x. (v2.tauri.app)

🔇 Additional comments (2)
apps/admin-companion/package.json (1)

17-17: LGTM!

apps/identity-wallet/package.json (1)

16-16: LGTM!


📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Updated the underlying desktop application integration components to improve compatibility and stability.
    • Aligned application runtime support with the latest approved platform API release.

Walkthrough

The pull request updates @tauri-apps/api dependency constraints to ~2.11.0 in the Admin Companion and Identity Wallet application manifests.

Changes

Tauri API Version Alignment

Layer / File(s) Summary
Dependency constraint updates
apps/admin-companion/package.json, apps/identity-wallet/package.json
Both application manifests now constrain @tauri-apps/api to the ~2.11.0 release range.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Poem

A rabbit hops through package snow,
Two apps now track the same flow.
Tauri’s API, neat and new,
Settles on two-eleven-two.
With tidy bounds, the builds may grow.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed It clearly summarizes the main change: aligning @tauri-apps/api with the Rust Tauri version for iOS builds.
Description check ✅ Passed It directly describes the version mismatch, the fix, and the affected apps.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 claude/friendly-gates-bd7vfy
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch claude/friendly-gates-bd7vfy

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.

❤️ Share

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

@malpercio-dev
malpercio-dev merged commit cdc7d65 into main Jul 13, 2026
8 checks passed
@malpercio-dev
malpercio-dev deleted the claude/friendly-gates-bd7vfy branch July 13, 2026 13:42
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.

2 participants