Skip to content

Update Tauri to 2.9.2 and all plugins to latest versions - #296

Merged
AnthonyRonning merged 3 commits into
masterfrom
update-tauri-deps
Nov 4, 2025
Merged

Update Tauri to 2.9.2 and all plugins to latest versions#296
AnthonyRonning merged 3 commits into
masterfrom
update-tauri-deps

Conversation

@AnthonyRonning

@AnthonyRonningAnthonyRonning commented Nov 4, 2025

Copy link
Copy Markdown
Contributor

Changes

  • Update Tauri from 2.8 to 2.9.2
  • Update tauri-plugin-deep-link from 2.4.3 to 2.4.5
  • Update tauri-plugin-opener from 2.2.6 to 2.5.2
  • Update tauri-plugin-log from 2.3.1 to 2.7.1
  • Update tauri-plugin-updater from 2.7.0 to 2.9.0
  • Update all other Tauri plugins to latest compatible versions

Fixes

  • Resolves iOS deep link OAuth callback issues
  • Tested and confirmed working on iOS physical device

Testing

  • iOS OAuth callback now works correctly
  • Deep links properly redirect from Safari to app

Summary by CodeRabbit

  • New Features
    • Adds scheme-based mobile deep-link support and related mobile permissions for Android and iOS.
  • Chores
    • Upgrades core framework and multiple plugins for improved updater, logging, deep-linking, single-instance, OS integration, and filesystem behavior.
    • Updates build tooling in CI to a newer Tauri CLI version.

Update all Tauri dependencies to resolve iOS deep link issues:
- tauri: 2.8 → 2.9.2
- tauri-plugin-deep-link: 2.4.3 → 2.4.5
- tauri-plugin-opener: 2.2.6 → 2.5.2
- tauri-plugin-log: 2.3.1 → 2.7.1
- tauri-plugin-updater: 2.7.0 → 2.9.0
- All other plugins updated to latest compatible versions
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@coderabbitai

coderabbitaiBot commented Nov 4, 2025

Copy link
Copy Markdown

Walkthrough

Upgrades Tauri tooling and plugins across frontend: Node deps in frontend/package.json, Rust crates in frontend/src-tauri/Cargo.toml (tauri, plugins, added base64), adjusts mobile capability permissions, and adds a mobile deep-link scheme entry in frontend/src-tauri/tauri.conf.json.

Changes

Cohort / File(s)Summary
Tauri Node.js ecosystem
frontend/package.json
Bumped @tauri-apps/api and related plugin packages; upgraded devDependency @tauri-apps/cli to ^2.9.2.
Tauri Rust ecosystem
frontend/src-tauri/Cargo.toml
Bumped tauri-build 2.4.1→2.5.1, tauri 2.8→2.9.2, updated many tauri plugins (log, updater, dialog, deep-link, single-instance, os, opener, fs), and added base64 = "0.22".
Mobile capabilities
frontend/src-tauri/capabilities/mobile-android.json, frontend/src-tauri/capabilities/mobile-ios.json
Added permissions core:event:default and deep-link:default (iOS inserts after core:default and dialog:default).
Tauri configuration
frontend/src-tauri/tauri.conf.json
Added a mobile deep-link entry using scheme cloud.opensecret.maple with appLink: false, alongside existing host-based deep-link entry.
CI workflows
.github/workflows/... (android-build.yml, desktop-build.yml, mobile-build.yml, release.yml, testflight-on-comment.yml, claude.yml)
Updated steps that install the Tauri CLI to install tauri-cli v2.9.2 (was 2.8.0 / other pins).

Sequence Diagram(s)

sequenceDiagram
participant Web as Web frontend
participant Tauri as Tauri runtime
participant Plugin as DeepLink plugin
participant OS as Mobile OS
rect `#f3f4f6`
Note over Web,Tauri: App startup / deep-link registration
Web->>Tauri: initialize
Tauri->>Plugin: register mobile scheme(s) (cloud.opensecret.maple)
Plugin->>OS: request permissions (core:event, deep-link)
OS-->>Plugin: granted
end
alt deep-link opened (mobile)
OS->>Plugin: incoming URL (cloud.opensecret.maple://...)
Plugin->>Tauri: emit deep-link event
Tauri->>Web: forward deep-link event
Web->>Web: handle navigation/action
end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Check compatibility matrix between tauri-cli 2.9.2 and tauri crate 2.9.2.
  • Review deep-link and single-instance plugin versions/flags and mobile capability ordering.
  • Confirm base64 addition is intentional and not unused.

Possibly related PRs

Poem

🐰 I hopped through crates and package trees,

Bumped versions, tuned the deep-link keys.
Schemes now listen, permissions said "yes",
Base64 tucked in—no more mess.
A tiny hop for code, a joyful press! 🥕

Pre-merge checks and finishing touches

✅ Passed checks (2 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title accurately summarizes the main change: updating Tauri to 2.9.2 and plugins to latest versions, which aligns with all file modifications in the changeset.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-tauri-deps

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 73dbf03 and b3a35d8.

📒 Files selected for processing (6)
  • .github/workflows/android-build.yml (1 hunks)
  • .github/workflows/claude.yml (1 hunks)
  • .github/workflows/desktop-build.yml (1 hunks)
  • .github/workflows/mobile-build.yml (1 hunks)
  • .github/workflows/release.yml (1 hunks)
  • .github/workflows/testflight-on-comment.yml (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: AnthonyRonning
Repo: OpenSecretCloud/Maple PR: 23
File: frontend/src-tauri/src/lib.rs:14-16
Timestamp: 2025-03-25T19:50:07.925Z
Learning: In Tauri applications, the updater configuration (including security settings like server URL and public key) should be defined in tauri.conf.json rather than hardcoded in the application code. The code only needs to initialize the updater plugin with tauri_plugin_updater::Builder::new().build(), which will automatically use the settings from the configuration file.
Learnt from: AnthonyRonning
Repo: OpenSecretCloud/Maple PR: 23
File: frontend/src-tauri/src/lib.rs:14-16
Timestamp: 2025-03-25T19:50:07.925Z
Learning: In Tauri applications, updater security configurations (including endpoints, public key for verification, and dialog settings) should be defined in the tauri.conf.json file rather than duplicated in the code. When initialized with tauri_plugin_updater::Builder::new().build(), the plugin automatically reads and uses these settings from the configuration file.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: build-linux
  • GitHub Check: build-android
  • GitHub Check: build-macos (universal-apple-darwin)
  • GitHub Check: build-ios
🔇 Additional comments (6)
.github/workflows/release.yml (1)

206-206: Version update is properly pinned.

The Tauri CLI version is updated to 2.9.2 with the --locked flag, ensuring reproducible builds and preventing unexpected dependency resolution issues.

.github/workflows/mobile-build.yml (1)

45-45: Version update is properly pinned.

The Tauri CLI version is updated to 2.9.2 with the --locked flag, ensuring reproducible builds.

.github/workflows/claude.yml (1)

126-126: Version update is properly pinned.

The Tauri CLI version is updated to 2.9.2 with the --locked flag, ensuring reproducible builds. The conditional check before installation is a good optimization.

.github/workflows/desktop-build.yml (1)

129-129: Version update is properly pinned.

The Tauri CLI version is updated to 2.9.2 with the --locked flag, ensuring reproducible builds across Linux builds.

.github/workflows/testflight-on-comment.yml (1)

103-103: Version update is properly pinned.

The Tauri CLI version is updated to 2.9.2 with the --locked flag, ensuring reproducible builds for TestFlight deployments. This version bump supports the iOS OAuth deep-link fixes mentioned in the PR objectives.

.github/workflows/android-build.yml (1)

110-110: Version update is properly pinned.

The Tauri CLI version is updated to 2.9.2 with the --locked flag, ensuring reproducible builds across Android build jobs. The conditional check before installation optimizes CI runtime.


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

@cloudflare-workers-and-pages

cloudflare-workers-and-pagesBot commented Nov 4, 2025

Copy link
Copy Markdown

Deploying maple with Cloudflare Pages Cloudflare Pages

Latest commit:b3a35d8
Status: ✅ Deploy successful!
Preview URL:https://8cc31b06.maple-ca8.pages.dev
Branch Preview URL:https://update-tauri-deps.maple-ca8.pages.dev

View logs

@greptile-appsgreptile-appsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

Updated Tauri framework from 2.8 to 2.9.2 and all associated plugins to their latest compatible versions to resolve iOS deep link OAuth callback issues.

Key Changes

  • @tauri-apps/api: 2.8 → 2.9.0
  • tauri-plugin-deep-link: 2.4.3 → 2.4.5 (fixes iOS OAuth callbacks)
  • tauri-plugin-opener: 2.2.6 → 2.5.2
  • tauri-plugin-log: 2.3.1 → 2.7.1
  • tauri-plugin-updater: 2.7.0 → 2.9.0
  • All other Tauri plugins updated to latest compatible versions

Impact

  • Fixes iOS deep link handling for OAuth redirects from Safari to app
  • Maintains API compatibility - no breaking changes detected in codebase usage
  • Lock files properly updated with new dependency resolutions

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk - it's a straightforward dependency update that resolves a critical iOS issue
  • Score reflects tested iOS fix, minor version updates with no API breaking changes, proper lock file updates, and verified compatibility with existing codebase usage patterns
  • No files require special attention

Important Files Changed

File Analysis

FilenameScoreOverview
frontend/package.json5/5Updated Tauri API and plugins from 2.8.x to 2.9.x with minor version bumps for all plugins
frontend/src-tauri/Cargo.toml5/5Updated Tauri core to 2.9.2 and all plugins with specific versions for iOS deep link fix

Sequence Diagram

sequenceDiagram
participant Dev as Developer
participant PM as Package Manager
participant Tauri as Tauri Core
participant Plugins as Tauri Plugins
participant iOS as iOS Deep Link
Dev->>PM: Update package.json & Cargo.toml
Note over Dev,PM: Tauri 2.8 → 2.9.2<br/>deep-link 2.4.3 → 2.4.5<br/>opener 2.2.6 → 2.5.2<br/>log 2.3.1 → 2.7.1<br/>updater 2.7.0 → 2.9.0
PM->>PM: Resolve dependencies
PM->>PM: Update bun.lock & Cargo.lock
Dev->>Tauri: Build application
Tauri->>Plugins: Initialize with new versions
Note over Plugins,iOS: Deep link plugin now compatible
iOS->>Plugins: OAuth callback received
Plugins->>Tauri: Process deep link
Tauri->>Dev: OAuth flow completes successfully
Note over Dev,iOS: iOS deep link issue resolved
Loading

2 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@AnthonyRonning

Copy link
Copy Markdown
ContributorAuthor

@TestFlight build

@github-actions

Copy link
Copy Markdown
Contributor

🚀 TestFlight deployment triggered! Check the Actions tab for progress.

@github-actions

Copy link
Copy Markdown
Contributor

✅ TestFlight deployment completed successfully!

- Add custom URL scheme (cloud.opensecret.maple) to mobile deep-link config
- Add required deep-link permissions to iOS and Android capabilities
- Add core:event:default permission to listen to deep-link events
This fixes OAuth callback deep links not working when app is built in CI/CD.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@AnthonyRonning

Copy link
Copy Markdown
ContributorAuthor

@TestFlight build

@github-actions

Copy link
Copy Markdown
Contributor

🚀 TestFlight deployment triggered! Check the Actions tab for progress.

@greptile-appsgreptile-appsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

Updated Tauri from 2.8 to 2.9.2 and all plugins to their latest versions to fix iOS deep link OAuth callback issues. The primary fix involves adding explicit custom URL scheme configuration in tauri.conf.json and required permissions in iOS capabilities.

Key Changes

  • Dependency Updates: Updated core Tauri (2.8 → 2.9.2) and plugins including deep-link (2.4.3 → 2.4.5), opener (2.2.6 → 2.5.2), log (2.3.1 → 2.7.1), updater (2.7.0 → 2.9.0), and fs (2.4.2 → 2.4.4)
  • iOS Deep Link Fix: Added explicit mobile URL scheme configuration with "scheme": ["cloud.opensecret.maple"] and "appLink": false in deep-link plugin settings
  • iOS Permissions: Added core:event:default and deep-link:default permissions to iOS capabilities file
  • Info.plist: Cosmetic reordering of CFBundleURLSchemes and CFBundleURLName keys (no functional change)

Testing Status

According to the PR description, iOS OAuth callback has been tested and confirmed working on a physical iOS device with deep links properly redirecting from Safari to the app.

Confidence Score: 5/5

  • Safe to merge - straightforward dependency updates with targeted iOS deep link configuration fix
  • This PR consists of standard dependency version bumps to stable releases with a specific fix for iOS OAuth deep linking. The changes are well-contained: configuration updates in tauri.conf.json, required permission additions in iOS capabilities, and lock file updates. The author has tested on a physical iOS device and confirmed the fix works. No breaking changes or risky code modifications are present.
  • No files require special attention

Important Files Changed

File Analysis

FilenameScoreOverview
frontend/src-tauri/tauri.conf.json5/5Added explicit custom URL scheme configuration for iOS deep linking to fix OAuth callback handling
frontend/src-tauri/capabilities/mobile-ios.json5/5Added core:event:default and deep-link:default permissions required for the updated deep-link plugin
frontend/src-tauri/gen/apple/maple_iOS/Info.plist5/5Reordered CFBundleURLSchemes and CFBundleURLName keys (cosmetic change, no functional impact)

Sequence Diagram

sequenceDiagram
participant User
participant MapleApp as Maple iOS App
participant Safari
participant OAuthProvider
participant TauriPlugin as Tauri Deep Link Plugin
User->>MapleApp: Initiate OAuth Login
MapleApp->>Safari: Open OAuth URL
Safari->>OAuthProvider: Request Authentication
OAuthProvider->>User: Request Credentials
User->>OAuthProvider: Provide Credentials
OAuthProvider->>Safari: Redirect with callback
Note over Safari,MapleApp: Custom URL scheme registered<br/>in tauri.conf.json
Safari->>TauriPlugin: Invoke custom URL scheme
TauriPlugin->>MapleApp: Fire deep link event
MapleApp->>MapleApp: Process callback and extract data
MapleApp->>User: Complete Login
Loading

4 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

Update all CI/CD workflows to use the latest tauri-cli version:
- mobile-build.yml
- testflight-on-comment.yml
- desktop-build.yml
- android-build.yml
- claude.yml
- release.yml
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

@greptile-appsgreptile-appsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

Updates Tauri framework from 2.8.0 to 2.9.2 and all associated plugins to their latest versions across the entire build pipeline.

Key Changes:

  • Tauri Core: 2.8 → 2.9.2
  • tauri-plugin-deep-link: 2.4.3 → 2.4.5 (fixes iOS OAuth callbacks)
  • tauri-plugin-opener: 2.2.6 → 2.5.2
  • tauri-plugin-log: 2.3.1 → 2.7.1
  • tauri-plugin-updater: 2.7.0 → 2.9.0
  • tauri-plugin-fs: 2.4.2 → 2.4.4
  • tauri-plugin-os: 2.3 → 2.3.2
  • tauri-plugin-dialog: 2.4.0 → 2.4.2
  • tauri-plugin-single-instance: 2.3.4 → 2.3.6

Impact:
All six GitHub Actions workflows (android-build, claude, desktop-build, mobile-build, release, testflight-on-comment) consistently updated to use tauri-cli@2.9.2. The frontend package dependencies are synchronized with the Rust backend versions, ensuring compatibility across the stack.

Testing:
According to the PR description, iOS OAuth callbacks now function correctly on physical devices, resolving deep-link issues that existed in the previous version.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • All changes are straightforward version bumps following semantic versioning within the same major version (2.x), ensuring backward compatibility. The updates are consistently applied across all workflow files, and the PR author has confirmed successful testing on iOS physical devices. No breaking changes or logical modifications to application code.
  • No files require special attention

Important Files Changed

File Analysis

FilenameScoreOverview
.github/workflows/android-build.yml5/5Updates Tauri CLI version from 2.8.0 to 2.9.2 in Android build workflow
.github/workflows/mobile-build.yml5/5Updates Tauri CLI version from 2.8.0 to 2.9.2 in mobile build workflow
.github/workflows/release.yml5/5Updates Tauri CLI version from 2.8.0 to 2.9.2 in release workflow

Sequence Diagram

sequenceDiagram
participant Dev as Developer
participant GH as GitHub Actions
participant Cargo as Cargo Registry
participant NPM as NPM Registry
participant Build as Build System
Dev->>GH: Push PR with updated dependencies
Note over Dev: Tauri 2.8→2.9.2<br/>Plugins updated<br/>CLI updated
GH->>Cargo: Install tauri-cli@2.9.2
Cargo-->>GH: CLI installed
GH->>NPM: Install @tauri-apps packages
Note over NPM: api@2.9.0<br/>plugins@latest
NPM-->>GH: Packages installed
GH->>Build: Run bun install
Build->>Build: Resolve dependencies
Build-->>GH: Dependencies locked
GH->>Build: cargo build (Rust)
Build->>Cargo: Fetch Rust dependencies
Note over Build: tauri@2.9.2<br/>tauri-plugin-*@latest
Cargo-->>Build: Crates downloaded
Build-->>GH: Build successful
GH->>Build: Build mobile (iOS/Android)
Build->>Build: Apply deep-link config
Note over Build: Custom URL scheme<br/>Permissions added
Build-->>GH: Mobile build complete
Build->>Dev: OAuth callbacks working
Note over Dev: Deep links functional<br/>on physical device
Loading

6 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@github-actions

Copy link
Copy Markdown
Contributor

✅ TestFlight deployment completed successfully!

Sign up for freeto 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

@AnthonyRonning