Skip to content

build(deps): update project dependencies, Git sources and CI tooling - #281

Merged
jlucaso1 merged 9 commits into
mainfrom
chore/update-all-dependencies
Oct 30, 2026
Merged

jlucaso1 merged 9 commits into
mainfrom
chore/update-all-dependencies

Conversation

@jlucaso1

@jlucaso1 jlucaso1 commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Refresh the 21 Cargo manifests across six workspaces and the icon-generation tooling against current stable registry releases and upstream refs checked on 2026-10-29. This includes GPUI 0.3.10, usage-rs 7.1.3, Wasmi 2.0.0, tray-icon 0.26.1 and core-foundation 0.10.1. Refresh external lockfiles and CI action SHAs/tool pins, including wasm-bindgen CLI 0.2.129, cargo-nextest 0.9.150, Trunk 0.22.1 and shared-WASM nightly 2026-10-29. Pin optional icon-generation tools to Pillow 13.0.0 and oxipng 10.2.1; the generator passed in a temporary copy without changing the checked-in icons. The project's own release version is unchanged.

Git lockfile pins resolve whatsapp-rust/main to 1fcb58a272334604261eb23f5e2a3f1b54059a33 and GPUI Kit/main to 944803984cf0ba3111861d6e1aa9d6265c109ff9. Keep the whatsapp-rust family on one branch source. Integrate main e6e3020, preserving the animated WebP decoder and subsequent sticker/media fixes. No animation scheduler is added.

Adapt extensible upstream fixtures, shutdown reports, GPUI scroll callbacks and OS-dependent shortcut loading. Enable Wasmi's bytecode validation and auto-dispatch explicitly: without auto-dispatch, a plugin loop overflows the host stack in an unoptimized build. Existing sandbox tests verify fuel and resource limits.

Exceptions are deliberate: retain sqlite-wasm-rs 0.5.5 and sqlite-wasm-vfs 0.2.0 because VFS 0.3 removes the IndexedDB backend holding existing browser databases. Upgrading that pair requires a data migration. Keep the additive getrandom 0.2.17 compatibility backend alongside 0.4.3. Upstream pins four RTC crates to 0.21.0-beta.2, crypto-common pins generic-array 0.14.7, and wasm-bindgen's optional coverage path pins minicov 0.3.8.

The published gpui-pre-web 0.3.10 uses floating-point arguments for get_image_data, which web-sys 0.3.106 changed to integers. Its licensed, checksum-identified vendored copy changes only that call; vendor/gpui-pre-web/README.md records provenance and removal criteria. There is no local font-cache patch.

Qualification at head e95deb7: the Rust changes pass 2,354 workspace tests with 25 ignored, workspace Clippy, MSRV 1.95 and the shared-memory web type check. Real Chromium runs passed 44 daemon/session tests plus 25 WebCodecs, 6 playout and 1 audio-lifecycle test; the latter three suites also passed with production shared-memory flags and rebuilt std. The complete Trunk web bundle and relocatable asset validation passed. The real SDK/host example smoke test passed. CLI release is 1,485,224 bytes, below 2 MiB. Pinned icon tools passed temporary regeneration/pixel-preservation checks. Codex reviewed c19e5f6 without findings; later commits update fixtures, icon-tool pins and explicitly enable macOS notification sounds. Remote macOS CI caught that missing feature on the prior head; e95deb7 fixes it. The new head's remote checks and release builds remain pending, so this PR remains draft.

Compatibility probe: tested heads #273 3ca1300, #274 4a13dfb, #275 39e67c0, #277 8d61230 and #278 a5c7c3e merge cleanly with this branch and pass all-target Clippy. The combined run passed 2,364 tests with 27 ignored after excluding two known incompatible #274 assertions. Those compare legacy JSON envelope text and fail when GPUI unifies serde_json/preserve_order; their JSON values remain equivalent. These failures belong to the combined probe, not the standalone #281 branch. #276 was withdrawn and is not included.


Summary by cubic

Refreshes dependencies across six Cargo workspaces, Git sources, and CI tooling against current stable registry releases. Updates include GPUI 0.3.10, usage-rs 7.1.3 (renamed from usage), Wasmi 2.0.0, tray-icon 0.26.1, wasm-bindgen 0.2.129, and cargo-nextest 0.9.150; icon generation now runs through a pinned venv in packaging/requirements.txt. The project's own release version is unchanged.

Breaking dependency changes

  • The usage crate is now usage-rs; all imports and shell completion call sites updated.
  • Wasmi 2.0.0 requires explicit validate and auto-dispatch features; without auto-dispatch a plugin loop overflows the host stack in unoptimized builds.
  • GPUI's scroll-wheel handler is now on_scroll instead of on_scroll_wheel, application shortcuts load through KeyBinding::load since the static constructor no longer resolves the OS-dependent alias, and the sticker test observes the decoder's cache during the drawing phase since assets now belong to the view currently drawing.
  • The macOS notification sound feature is declared in the GUI manifest so it builds on macOS.
  • whatsapp-rust's shutdown now returns a ShutdownReport; call sites log observations through a new report_shutdown helper, the outgoing-call fixture adapts to early answers being authenticated before device selection, and group notices are constructed through upstream builders since Promote/Demote gained fields.

Deliberate exceptions

  • Retains sqlite-wasm-rs 0.5.5 and sqlite-wasm-vfs 0.2.0 because VFS 0.3 drops the IndexedDB backend holding existing browser databases; upgrading would require a data migration.
  • Vendors gpui-pre-web 0.3.10 with one patch: web-sys 0.3.106 changed get_image_data coordinates and sizes to integers while the published crate passes floats. Provenance and removal criteria are documented in vendor/gpui-pre-web/README.md.

Written for commit e95deb7. Summary will update on new commits.

View guided diff Turn on auto-fix

@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 32 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 33d6a169-6756-4dfb-9a22-ccf43c32b274
Commits

Reviewing files that changed from the base of the PR and between e6e3020 and e95deb7.

Files ignored due to path filters: 3
  • Cargo.lock is excluded by !**/*.lock
  • crates/audio/src/web/call_device/tests/Cargo.lock is excluded by !**/*.lock
  • crates/gui/tests/webcodecs/Cargo.lock is excluded by !**/*.lock
Files selected for processing: 59
  • .github/workflows/build.yml
  • .github/workflows/ci.yml
  • .github/workflows/pages.yml
  • .github/workflows/web-bundle.yml
  • .gitignore
  • Cargo.toml
  • crates/audio/Cargo.toml
  • crates/audio/src/web/call_device/tests/Cargo.toml
  • crates/chat-store/Cargo.toml
  • crates/chat-store/tests/group_membership.rs
  • crates/cli/Cargo.toml
  • crates/cli/src/args.rs
  • crates/cli/src/main.rs
  • crates/core/Cargo.toml
  • crates/core/src/group_membership.rs
  • crates/daemon/Cargo.toml
  • crates/gui/Cargo.toml
  • crates/gui/src/app/message_actions.rs
  • crates/gui/src/app/mod.rs
  • crates/gui/src/components/media_viewer.rs
  • crates/gui/src/components/message_bubble/media.rs
  • crates/gui/src/components/paste_preview.rs
  • crates/gui/tests/webcodecs/Cargo.toml
  • crates/ipc/Cargo.toml
  • crates/logging/Cargo.toml
  • crates/platform/Cargo.toml
  • crates/plugin-host/Cargo.toml
  • crates/session/Cargo.toml
  • crates/session/src/group_notice.rs
  • crates/session/src/whatsapp/browser_tests.rs
  • crates/session/src/whatsapp/calls/registry/acceptance_fixture.rs
  • crates/session/src/whatsapp/completion.rs
  • crates/session/src/whatsapp/groups.rs
  • crates/session/src/whatsapp/mod.rs
  • crates/session/src/whatsapp/tests.rs
  • crates/video/Cargo.toml
  • docs/building.md
  • packaging/ICONS.md
  • packaging/requirements.txt
  • vendor/gpui-pre-web/Cargo.toml
  • vendor/gpui-pre-web/Cargo.toml.orig
  • vendor/gpui-pre-web/LICENSE-APACHE
  • vendor/gpui-pre-web/README.md
  • vendor/gpui-pre-web/src/canvas_fallback.rs
  • vendor/gpui-pre-web/src/canvas_text.rs
  • vendor/gpui-pre-web/src/dispatcher.rs
  • vendor/gpui-pre-web/src/display.rs
  • vendor/gpui-pre-web/src/events.rs
  • vendor/gpui-pre-web/src/glyph_cache.rs
  • vendor/gpui-pre-web/src/gpui_web.rs
  • vendor/gpui-pre-web/src/http_client.rs
  • vendor/gpui-pre-web/src/ime_mirror.rs
  • vendor/gpui-pre-web/src/keyboard.rs
  • vendor/gpui-pre-web/src/logging.rs
  • vendor/gpui-pre-web/src/platform.rs
  • vendor/gpui-pre-web/src/run_replacements.rs
  • vendor/gpui-pre-web/src/text_system.rs
  • vendor/gpui-pre-web/src/viewport.rs
  • vendor/gpui-pre-web/src/window.rs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Copy link
Copy Markdown
Member Author

@codex review

Please review the dependency migrations, Wasmi validation/dispatch safety, runtime shortcut initialization, retained IndexedDB compatibility and the narrow gpui-pre-web/web-sys compatibility patch. This draft preserves the merged animated WebP decoder; the animation scheduler remains a separate issue.

jlucaso1 commented Oct 29, 2026 •

Copy link
Copy Markdown
Member Author

The GPUI 0.3.10 upgrade also includes the upstream negative font-cache fix: Missing(Arc<anyhow::Error>), cached fallback resolution and invalidation when fonts are added. No local font-cache patch is needed.

The earlier GUI profile recorded 190,284 allocations in the negative-cache subtree, but only 27,172 bytes at peak and 1 of 265 CPU samples in the clone path. A separate 0.3.4 reproducer performing one million resolutions recorded six million allocations / 365 MB cumulative allocation for missing fonts versus zero for an available font, with a transient 122-byte peak and no retention. These establish the repeated-allocation mechanism, not a measured 0.3.4-to-0.3.10 improvement or an overall GUI speedup. The upgrade should remove that repeated churn; any numerical estimate of GUI improvement still requires a controlled before/after comparison.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-30T00:30:15.612282Z e95deb7 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: c19e5f6420

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@jlucaso1
jlucaso1 marked this pull request as ready for review October 30, 2026 00:28
@jlucaso1
jlucaso1 merged commit 226bd54 into main Oct 30, 2026
16 of 17 checks passed
@jlucaso1
jlucaso1 deleted the chore/update-all-dependencies branch October 30, 2026 00:28
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