Skip to content

chore(client): Phase 3 — bump Tauri ecosystem 2.10 → 2.11#551

Merged
Detair merged 1 commit into
mainfrom
chore/tauri-2.11-bump
May 8, 2026
Merged

chore(client): Phase 3 — bump Tauri ecosystem 2.10 → 2.11#551
Detair merged 1 commit into
mainfrom
chore/tauri-2.11-bump

Conversation

@Detair

@Detair Detair commented May 8, 2026

Copy link
Copy Markdown
Owner

Summary

Phase 3 of the dep-update sweep (spec, plan). Builds on Phase 2 (#550). Aligned bump of Rust crates and npm packages so wire and IPC contracts stay matched.

Rust (via cargo update tauri --precise 2.11.1)

  • tauri 2.10.3 → 2.11.1
  • tauri-build 2.5.6 → 2.6.1
  • tauri-codegen / tauri-macros 2.5.5 → 2.6.1
  • tauri-runtime / tauri-runtime-wry 2.10.1 → 2.11.1
  • tauri-utils 2.8.3 → 2.9.1
  • Transitives: muda 0.17.1 → 0.19.1, tao 0.34.6 → 0.35.2, tray-icon 0.21.3 → 0.23.1, wry 0.54.4 → 0.55.1

NPM

  • @tauri-apps/api ^2.10.1 → ^2.11.0
  • @tauri-apps/cli ^2.10.1 → ^2.11.1

Plugin crates (tauri-plugin-shell 2.3.5, tauri-plugin-notification 2.3.3, tauri-plugin-global-shortcut 2.3.1) were already at latest; no movement.

2.11 release-notes survey

The 2.11.0 release notes are mostly additive — new features (rename attribute on tauri::command, eval_with_callback, track_caller for async runtime, autofill control, data-tauri-drag-region="deep", file association on Android/iOS, multi-window on mobile). No breaking changes affecting our usage of invoke, plugin-shell, plugin-notification, or plugin-global-shortcut.

Required pre-merge manual smoke test

CI verifies the bump compiles and tests pass, but Tauri 2.x → 2.x can introduce subtle IPC/plugin behaviour shifts. Before merging this PR, run bun run tauri dev in client/ and exercise these four IPC paths:

  1. Login + channel switch — exercises invoke<T> calls (e.g. get_current_user and the channel-list fetch).
  2. plugin-shell — click an "open in browser" link in a markdown message; the URL should open in the system browser.
  3. plugin-notification — generate an incoming DM in a background channel; the OS notification should fire (with permission prompt on first run).
  4. plugin-global-shortcut — press the configured PTT key with the client unfocused; the voice path should respond identically to 2.10 baseline.

If any of the four behaves differently, halt and document.

Test plan (CI / static)

  • cargo fmt --check — clean
  • cargo clippy -p vc-server -- -D warnings — clean (vc-client clippy fails on libspa locally; pre-existing, CI handles it)
  • cargo deny checkadvisories ok, bans ok, licenses ok, sources ok
  • cargo audit — exit 0 with established ignore list
  • bun run test:run — 32 files, 581/581 tests pass
  • bun run buildtsc && vite build green
  • Manual IPC smoke test (above) — reserved for the maintainer running a dev build

🤖 Generated with Claude Code

Phase 3 of the dep-update sweep. Aligned bump of Rust crates and npm
packages so wire and IPC contracts stay matched.

Rust (via cargo update tauri --precise 2.11.1):
  tauri 2.10.3 → 2.11.1
  tauri-build 2.5.6 → 2.6.1
  tauri-codegen, tauri-macros 2.5.5 → 2.6.1
  tauri-runtime, tauri-runtime-wry 2.10.1 → 2.11.1
  tauri-utils 2.8.3 → 2.9.1
  Transitives: muda 0.17.1 → 0.19.1, tao 0.34.6 → 0.35.2,
  tray-icon 0.21.3 → 0.23.1, wry 0.54.4 → 0.55.1

NPM:
  @tauri-apps/api ^2.10.1 → ^2.11.0
  @tauri-apps/cli ^2.10.1 → ^2.11.1

Plugin crates (tauri-plugin-shell 2.3.5, tauri-plugin-notification
2.3.3, tauri-plugin-global-shortcut 2.3.1) were already at latest;
no movement on those.

Tauri 2.11 release notes are mostly additive (new features: rename
attribute on `tauri::command`, `eval_with_callback`, `track_caller`
on async runtime, autofill control, drag-region "deep" attribute);
no breaking changes affecting our usage of `invoke`, plugin-shell,
plugin-notification, or plugin-global-shortcut.

Manual smoke test (4 IPC paths) is required before merge — see PR
description.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Detair Detair merged commit 0dd44f1 into main May 8, 2026
18 checks passed
Detair added a commit that referenced this pull request May 9, 2026
…95 (#552)

* chore(infra): batch bump Rust low-risk minors (Phase 4a)

Phase 4a of the dep-update sweep.

Workspace deps:
  axum-tracing-opentelemetry 0.32 → 0.33
  init-tracing-opentelemetry 0.36 → 0.37
  infer 0.16 → 0.19
  smol_str 0.2 → 0.3
  tokio-tungstenite 0.28 → 0.29

Client deps:
  sentry, sentry-tracing 0.47 → 0.48
  sysinfo 0.38 → 0.39 (requires Rust 1.95)

Sub-crate alignment:
  vp8-decoder: thiserror = "1" → thiserror.workspace = true (= "2")

Workspace hygiene:
  tempfile = "3" hoisted to [workspace.dependencies]; server and
  client/src-tauri now use tempfile.workspace = true.

MSRV bump:
  rust-version 1.93 → 1.95 (sysinfo 0.39 requirement). CI uses
  dtolnay/rust-toolchain@stable; stable is now 1.95.0.

Side effects of MSRV bump (rustc 1.95 introduced new clippy lints):
  - websocket_integration.rs ×3: Duration::from_millis(1000) →
    Duration::from_secs(1) (clippy::duration_suboptimal_units)
  - media_processing.rs ×1: inline format arg {error} instead of
    positional (clippy::uninlined_format_args)
  - observability.rs ×2: switch i64+as f64 to native f64 in test
    helper (clippy::needless_type_cast)

Tauri 2.11 schema regeneration:
  client/src-tauri/gen/schemas/{acl-manifests,desktop-schema,
  linux-schema}.json — auto-regenerated by tauri-build from the 2.11
  ACL set; carry-over from Phase 3 (#551) which built only the
  frontend locally.

Per-bump validation (server-side):
  - smol_str From<&str>: server compiles cleanly, no migration needed
  - infer 0.19 MIME db: tests build, runtime validation deferred to CI
  - tokio-tungstenite 0.29 MaybeTlsStream: server compiles cleanly
  - sentry 0.48: client uses sentry-tracing, not the moved tower
    middleware

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(infra): hold smol_str at 0.2 (Phase 4a fixup)

CI on PR #552 caught a smol_str dual-version regression: bumping the
workspace's smol_str to 0.3 leaves smol_str 0.2 in the tree as a
transitive of webrtc-rs, and vc-client's webrtc/mod.rs uses
`smol_str::SmolStr` directly to construct values that interop with
webrtc-rs types (which expect smol_str 0.2's SmolStr).

Hold smol_str at 0.2 until webrtc-rs 0.17 (Phase 8) updates its
own pin. The other Phase 4a bumps stay.

I missed this locally because libspa fails to compile here (Linux
PipeWire env mismatch), so `cargo check -p vc-client` is unrunnable
locally. Going forward, vc-client's compile path is CI-only on this
machine.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(infra): bump Dockerfile Rust 1.93 → 1.95 (Phase 4a fixup #2)

Docker Build & Publish failed on PR #552 because the production image
was pinned to rust:1.93-bookworm, but Phase 4a's sysinfo 0.39 bump
raised the workspace MSRV to 1.95.

Aligns the Docker builder image with the workspace rust-version.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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