Skip to content

[Build] Sync GPUI to 24cfa81 - #4

Merged
BumpyClock merged 1 commit into
mainfrom
0703-upstream-sync
Jul 11, 2026
Merged

[Build] Sync GPUI to 24cfa81#4
BumpyClock merged 1 commit into
mainfrom
0703-upstream-sync

Conversation

@BumpyClock

Copy link
Copy Markdown
Owner

Description

Update GPUI from 510dedc3b44fcf80c791ab17e59530ae66e80558 to 24cfa81ca2a9f954b96320e14b393dd519078618 and keep the workspace dependency pins, lockfile, and vendor/gpui submodule in sync.

This also applies the compatibility changes required by the newer GPUI API:

  • pin Rust 1.95, which is required by GPUI's std::hint::cold_path usage;
  • pass explicit 1.0 grow/shrink factors, preserving the former zero-argument behavior;
  • migrate AnyView to into_any_element();
  • update WebView entity updates and import FluentBuilder explicitly.

How to Test

  • cargo fmt --check
  • cargo build --locked
  • cargo clippy --locked -- --deny warnings
  • CARGO_BUILD_JOBS=2 cargo check --locked -p webview --all-targets --all-features
  • cargo metadata --locked --format-version 1

Checklist

  • I have read the contributing and repository instructions.
  • Reviewed the changes and verified the GPUI API migrations against the old and new implementations.
  • Passed cargo run for story tests related to the changes — not run; this is a dependency/build compatibility update with no visual behavior change.
  • Tested macOS, Windows and Linux platform performance — not applicable; CI provides cross-platform compilation coverage.

Review Notes

The lockfile intentionally includes GPUI's move from the WGPU git revision to crates.io WGPU 29.0.4. Existing fork-specific overlay and blur behavior remains in the pinned GPUI revision.

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

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: 376bc968-f5d5-4aa6-b7ad-31c604db9322

📥 Commits

Reviewing files that changed from the base of the PR and between bfcbd20 and c50bdbb.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (12)
  • Cargo.toml
  • crates/ui/src/dock/tab_panel.rs
  • crates/ui/src/form/field.rs
  • crates/ui/src/input/state.rs
  • crates/ui/src/list/list.rs
  • crates/ui/src/resizable/panel.rs
  • crates/ui/src/table/state.rs
  • crates/ui/src/tree.rs
  • crates/webview/src/lib.rs
  • examples/webview/src/main.rs
  • rust-toolchain.toml
  • vendor/gpui

Summary by CodeRabbit

  • Bug Fixes
    • Improved layout sizing and expansion across panels, tabs, lists, tables, trees, and input areas for more consistent use of available space.
    • Improved WebView error-state handling during resize failures and recovery.
  • Improvements
    • Updated the embedded WebView example and underlying UI framework support for improved compatibility and reliability.
  • Chores
    • Standardized the project’s Rust development toolchain and formatting/linting support.

Walkthrough

The PR updates the pinned GPUI revision and Rust toolchain, makes flex sizing explicit across UI components, and aligns render and fluent-builder API usage in the field, webview, and example code.

Changes

GPUI update

Layer / File(s) Summary
Dependency and toolchain synchronization
Cargo.toml, vendor/gpui, rust-toolchain.toml
GPUI dependency revisions and the vendored subproject are updated, while Rust 1.95.0, rustfmt, and clippy are configured.
Explicit flex sizing
crates/ui/src/dock/tab_panel.rs, crates/ui/src/input/state.rs, crates/ui/src/list/list.rs, crates/ui/src/resizable/panel.rs, crates/ui/src/table/state.rs, crates/ui/src/tree.rs
UI containers and spacers now pass explicit 1. growth or shrink factors to flex layout helpers.
Render API alignment
crates/ui/src/form/field.rs, crates/webview/src/lib.rs, examples/webview/src/main.rs
Field rendering uses into_any_element(), webview parent updates are called directly, and the webview example imports fluent builder methods.

Estimated code review effort: 2 (Simple) | ~15 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed It clearly summarizes the GPUI sync and matches the main change set.
Description check ✅ Passed It covers the main update, compatibility changes, testing, and checklist, with only optional template sections omitted.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 0703-upstream-sync

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

@BumpyClock
BumpyClock merged commit db88b95 into main Jul 11, 2026
1 check 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