Skip to content

[Feature] Sync GPUI with current Zed upstream#4

Merged
BumpyClock merged 55 commits into
mainfrom
codex/address-sync-review-findings
Jul 10, 2026
Merged

[Feature] Sync GPUI with current Zed upstream#4
BumpyClock merged 55 commits into
mainfrom
codex/address-sync-review-findings

Conversation

@BumpyClock

Copy link
Copy Markdown
Owner

Summary

Sync the standalone GPUI fork with the current GPUI implementation from zed-industries/zed, while preserving fork-specific overlay windows, native background blur, rounded blur, animated blur cards, and standalone packaging behavior.

This also applies the validated CodeRabbit and independent Sol review fixes discovered after the sync.

Changes

  • Merge current GPUI core APIs, accessibility, views, styling, popups, rendering, benchmarking, profiling, platform behavior, and dependency updates.
  • Preserve overlay windows as a distinct contract from anchored popups.
  • Preserve native and animated background blur behavior across retained rendering paths.
  • Adopt generic input handling and crates.io WGPU integration.
  • Add WGPU device-loss recovery and retained-layer preservation coverage.
  • Harden embedded update effect flushing, Linux wake reentrancy, bounded Wayland pipe reads, and startup-token environment handling.
  • Correct multiline middle truncation, example editor grapheme/IME behavior, profiler top-five tracking, and zero benchmark budgets.
  • Expand CI across macOS, Windows, Linux Wayland/X11, WebAssembly, WGPU tests, release accessibility behavior, and feature-gated regressions.
  • Record upstream provenance and selective fork decisions in README.md and UPSTREAM.md.

Testing

  • cargo fmt --all -- --check
  • cargo check --locked --workspace --all-targets
  • cargo clippy --locked --workspace --all-targets --all-features -- --deny warnings
  • cargo test --locked -p scheduler — 36 passed
  • cargo test --locked -p gpui --features bench,profiler --lib — 263 passed
  • cargo test --locked -p gpui_wgpu --lib — 29 passed
  • cargo test --locked --release -p gpui --features test-support duplicate_id — 3 passed
  • GPUI examples and GPUI/WGPU benchmarks compile successfully.
  • Linux Wayland/X11 test targets cross-compile successfully from macOS; native runtime execution is covered by CI.
  • Rounded native blur and animated blur cards were manually verified.
  • Independent final review verdict: GO.

Review notes

  • The PR is intentionally broad because it is one coherent upstream sync; commits remain logically grouped for review.
  • Fork-only overlay and blur behavior should not be replaced with upstream anchored-popup behavior.
  • gpui_linux::current_platform no longer mutates the process environment. Embedders that can guarantee single-threaded startup may explicitly take and pass the Wayland activation token through the documented API.
  • Windows and Linux runtime behavior beyond local cross-compilation should be confirmed by CI before merge.

BumpyClock added 30 commits July 9, 2026 15:29
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

💤 Files selected but had no reviewable changes (1)
  • crates/gpui_windows/src/events.rs
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 9246f289-72c6-435f-a85f-6f6a4aec430c

📥 Commits

Reviewing files that changed from the base of the PR and between d10947b and a6592eb.

📒 Files selected for processing (1)
  • crates/gpui_windows/src/events.rs

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

The PR synchronizes GPUI workspace dependencies, UI and accessibility APIs, profiling and benchmarking infrastructure, GPU recovery, native platform behavior, Linux Wayland support, examples, upstream documentation, and CI validation.

Changes

GPUI synchronization

Layer / File(s) Summary
Core UI, rendering, text, and collection contracts
crates/collections/*, crates/gpui/src/{view,style,styled,geometry,scene}.rs, crates/gpui/src/elements/*, crates/gpui/src/text_system/*
Adds view-element caching, typed GPU booleans, middle truncation, shadow builders, text and geometry helpers, list scrolling updates, and related tests.
Accessibility and interaction lifecycle
crates/gpui/src/window/a11y*, crates/gpui/src/element.rs, crates/gpui/src/elements/div.rs, crates/gpui/src/window.rs
Adds synthetic accessibility children, active-descendant handling, ARIA properties, tooltip delays, mouse-exit events, focus-generation tracking, and frame timing.
Application, profiling, and benchmark runtime
crates/gpui/src/app*, crates/gpui/src/profiler*, crates/gpui/src/platform/bench_dispatcher.rs, crates/scheduler/*
Adds embedded application handles, system-wake callbacks, benchmark contexts, task/action statistics, frame reporting, and spawn-time metadata.
GPU and native platform integration
crates/gpui_wgpu/*, crates/gpui_linux/*, crates/gpui_macos/*, crates/gpui_windows/*
Refactors GPU adapter selection and recovery, adds anchored popups and input-region handling, updates platform wake/input behavior, and changes native rendering integration.
Examples, tooling, dependencies, and CI
crates/gpui/examples/*, crates/gpui_macros/*, Cargo.toml, .github/*, UPSTREAM.md
Adds editor examples, benchmark macros, dependency updates, upstream synchronization documentation, Linux installation automation, and expanded quality, platform, and WASM CI jobs.

Estimated code review effort: 5 (Critical) | ~120 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the main change: syncing GPUI with current Zed upstream.
Description check ✅ Passed The description is directly about the upstream GPUI sync and the related fork-preservation changes.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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 codex/address-sync-review-findings

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 9

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
crates/gpui_wgpu/src/wgpu_renderer.rs (1)

1400-1414: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Resetting failed_frame_count makes the panic path unreachable. After the 6th consecutive GPU error this branch zeros the counter, so it never reaches > 20 and persistent failures will keep looping through recovery forever. Keep a separate recovery counter or stop clearing this one so the hard-failure escalation can still fire.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/gpui_wgpu/src/wgpu_renderer.rs` around lines 1400 - 1414, Update the
GPU error handling around failed_frame_count so recovery after the sixth error
does not reset the counter used by the >20 panic threshold. Preserve a separate
recovery/reset mechanism if needed, while ensuring consecutive persistent
failures eventually reach the panic path in the renderer’s error-handling logic.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yml:
- Around line 29-51: Consolidate the duplicated Linux apt dependency
installation used by the quality and linux-backend jobs into a shared composite
action or reusable workflow step. Move the package list from the install steps
into that shared definition, then update both jobs to invoke it so dependency
changes remain synchronized.
- Around line 140-141: Replace direct `${{ matrix.backend }}` interpolation in
the `cargo check` and `cargo test` run commands with a step-level environment
variable, then reference that variable in each command’s `--features` argument.
Preserve the existing matrix-driven behavior and feature combinations.

In `@crates/gpui_linux/src/linux.rs`:
- Around line 30-63: Update current_platform() to use the take-and-clear startup
activation token path instead of startup_activation_token_from_environment(),
ensuring XDG_ACTIVATION_TOKEN is removed before platform construction. Handle
the unsafe call according to the existing safety contract, and preserve passing
the retrieved token to current_platform_with_startup_activation_token.

In `@crates/gpui_util/src/lib.rs`:
- Around line 488-508: The TypeIdHasher::write implementation incorrectly
truncates 16-byte TypeId input to 8 bytes. Update it to validate the input is
exactly 16 bytes and fold both 64-bit halves into the resulting hash, or
otherwise explicitly handle the full 128-bit value while retaining a debug guard
for unexpected lengths.

In `@crates/gpui_wgpu/src/wgpu_context.rs`:
- Around line 313-338: Duplicate device-descriptor setup exists between
create_device and new_web. Extract the shared feature detection and
DeviceDescriptor construction into a helper such as build_device_descriptor,
then call it from both paths while preserving the dual_source_blending result
and existing limits, memory hints, tracing, and experimental feature settings.

In `@crates/gpui_wgpu/src/wgpu_renderer.rs`:
- Around line 2867-2869: Move the 350ms device-loss recovery delay out of the
draw callback in the needs_new_context path, preserving the retry behavior
without blocking draw or input processing. Update the recovery logic around
gpu_context and the draw flow to schedule the sleep/retry asynchronously, then
trigger redraw or context recreation when the backoff completes.

In `@crates/gpui/examples/view_example/editor_text.rs`:
- Around line 115-129: Clamp the offset returned by cursor_line_and_offset
before passing it to ShapedLine::x_for_index in both cursor rendering branches.
After clamping cursor_line to the available lines, clamp offset_in_line to
lines[cursor_line].len (or the equivalent line-length accessor) so inconsistent
cursor and content state cannot produce an out-of-range index.

In `@crates/gpui/examples/view_example/example_editor.rs`:
- Around line 192-203: Clamp or otherwise normalize self.cursor against the
current value length and UTF-8 character boundaries before calling
String::insert in insert_newline. Use the validated cursor for insertion and
update self.cursor and selected_range from that same position, preserving safe
behavior when external updates leave the stored cursor stale.

In `@crates/gpui/src/style.rs`:
- Line 1578: In the struct update using `..shadow`, avoid moving the `BoxShadow`
before its later uses: clone it with `..shadow.clone()`, or alternatively derive
`Copy` for `BoxShadow` if appropriate. Update the surrounding shadow
construction code accordingly.

---

Outside diff comments:
In `@crates/gpui_wgpu/src/wgpu_renderer.rs`:
- Around line 1400-1414: Update the GPU error handling around failed_frame_count
so recovery after the sixth error does not reset the counter used by the >20
panic threshold. Preserve a separate recovery/reset mechanism if needed, while
ensuring consecutive persistent failures eventually reach the panic path in the
renderer’s error-handling logic.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: b81148d3-7930-4617-a843-cbb671aca0b8

📥 Commits

Reviewing files that changed from the base of the PR and between 510dedc and 7532b5f.

⛔ Files ignored due to path filters (2)
  • Cargo.lock is excluded by !**/*.lock
  • crates/gpui_windows/src/shaders.hlsl is excluded by !**/*.hlsl
📒 Files selected for processing (131)
  • .gitattributes
  • .github/workflows/ci.yml
  • .tasque/.gitignore
  • .tasque/config.json
  • .tasque/events.jsonl
  • Cargo.toml
  • README.md
  • UPSTREAM.md
  • crates/collections/Cargo.toml
  • crates/collections/src/collections.rs
  • crates/gpui/Cargo.toml
  • crates/gpui/benches/scene_construction.rs
  • crates/gpui/build.rs
  • crates/gpui/examples/a11y.rs
  • crates/gpui/examples/opacity.rs
  • crates/gpui/examples/shadow.rs
  • crates/gpui/examples/view_example/editor_text.rs
  • crates/gpui/examples/view_example/example_editor.rs
  • crates/gpui/examples/view_example/example_input.rs
  • crates/gpui/examples/view_example/example_tests.rs
  • crates/gpui/examples/view_example/example_text_area.rs
  • crates/gpui/examples/view_example/view_example_main.rs
  • crates/gpui/examples/window_shadow.rs
  • crates/gpui/resources/windows/gpui.manifest.xml
  • crates/gpui/src/_accessibility.rs
  • crates/gpui/src/action.rs
  • crates/gpui/src/app.rs
  • crates/gpui/src/app/async_context.rs
  • crates/gpui/src/app/bench_context.rs
  • crates/gpui/src/app/test_context.rs
  • crates/gpui/src/asset_cache.rs
  • crates/gpui/src/color.rs
  • crates/gpui/src/element.rs
  • crates/gpui/src/elements/animation.rs
  • crates/gpui/src/elements/div.rs
  • crates/gpui/src/elements/list.rs
  • crates/gpui/src/elements/text.rs
  • crates/gpui/src/elements/uniform_list.rs
  • crates/gpui/src/geometry.rs
  • crates/gpui/src/gpui.rs
  • crates/gpui/src/inspector.rs
  • crates/gpui/src/keymap.rs
  • crates/gpui/src/platform.rs
  • crates/gpui/src/platform/bench_dispatcher.rs
  • crates/gpui/src/platform/popup.rs
  • crates/gpui/src/platform/test/dispatcher.rs
  • crates/gpui/src/platform/test/platform.rs
  • crates/gpui/src/platform/test/window.rs
  • crates/gpui/src/platform_scheduler.rs
  • crates/gpui/src/profiler.rs
  • crates/gpui/src/profiler/actions.rs
  • crates/gpui/src/queue.rs
  • crates/gpui/src/scene.rs
  • crates/gpui/src/style.rs
  • crates/gpui/src/styled.rs
  • crates/gpui/src/svg_renderer.rs
  • crates/gpui/src/text_system.rs
  • crates/gpui/src/text_system/line_wrapper.rs
  • crates/gpui/src/view.rs
  • crates/gpui/src/view_tests.rs
  • crates/gpui/src/window.rs
  • crates/gpui/src/window/a11y.rs
  • crates/gpui/src/window/a11y/builder.rs
  • crates/gpui/src/window/a11y/builder_tests.rs
  • crates/gpui_linux/Cargo.toml
  • crates/gpui_linux/src/gpui_linux.rs
  • crates/gpui_linux/src/linux.rs
  • crates/gpui_linux/src/linux/dispatcher.rs
  • crates/gpui_linux/src/linux/headless.rs
  • crates/gpui_linux/src/linux/headless/client.rs
  • crates/gpui_linux/src/linux/headless/window.rs
  • crates/gpui_linux/src/linux/platform.rs
  • crates/gpui_linux/src/linux/wayland.rs
  • crates/gpui_linux/src/linux/wayland/client.rs
  • crates/gpui_linux/src/linux/wayland/clipboard.rs
  • crates/gpui_linux/src/linux/wayland/cursor.rs
  • crates/gpui_linux/src/linux/wayland/popup.rs
  • crates/gpui_linux/src/linux/wayland/window.rs
  • crates/gpui_linux/src/linux/x11/client.rs
  • crates/gpui_linux/src/linux/x11/clipboard.rs
  • crates/gpui_linux/src/linux/x11/window.rs
  • crates/gpui_macos/Cargo.toml
  • crates/gpui_macos/src/dispatcher.rs
  • crates/gpui_macos/src/display_link.rs
  • crates/gpui_macos/src/events.rs
  • crates/gpui_macos/src/metal_atlas.rs
  • crates/gpui_macos/src/metal_renderer.rs
  • crates/gpui_macos/src/open_type.rs
  • crates/gpui_macos/src/platform.rs
  • crates/gpui_macos/src/text_system.rs
  • crates/gpui_macos/src/window.rs
  • crates/gpui_macros/src/bench.rs
  • crates/gpui_macros/src/derive_into_element.rs
  • crates/gpui_macros/src/gpui_macros.rs
  • crates/gpui_macros/src/styles.rs
  • crates/gpui_platform/src/gpui_platform.rs
  • crates/gpui_tokio/Cargo.toml
  • crates/gpui_tokio/src/gpui_tokio.rs
  • crates/gpui_util/Cargo.toml
  • crates/gpui_util/src/lib.rs
  • crates/gpui_web/Cargo.toml
  • crates/gpui_web/assets/fonts/ibm-plex-sans/license.txt
  • crates/gpui_web/assets/fonts/lilex/OFL.txt
  • crates/gpui_web/src/dispatcher.rs
  • crates/gpui_web/src/platform.rs
  • crates/gpui_wgpu/Cargo.toml
  • crates/gpui_wgpu/benches/layout_line.rs
  • crates/gpui_wgpu/src/cosmic_text_system.rs
  • crates/gpui_wgpu/src/shaders.wgsl
  • crates/gpui_wgpu/src/wgpu_atlas.rs
  • crates/gpui_wgpu/src/wgpu_context.rs
  • crates/gpui_wgpu/src/wgpu_renderer.rs
  • crates/gpui_windows/Cargo.toml
  • crates/gpui_windows/src/direct_manipulation.rs
  • crates/gpui_windows/src/direct_write.rs
  • crates/gpui_windows/src/directx_atlas.rs
  • crates/gpui_windows/src/directx_devices.rs
  • crates/gpui_windows/src/directx_renderer.rs
  • crates/gpui_windows/src/dispatcher.rs
  • crates/gpui_windows/src/display.rs
  • crates/gpui_windows/src/events.rs
  • crates/gpui_windows/src/platform.rs
  • crates/gpui_windows/src/system_settings.rs
  • crates/gpui_windows/src/util.rs
  • crates/gpui_windows/src/vsync.rs
  • crates/gpui_windows/src/window.rs
  • crates/scheduler/src/executor.rs
  • crates/scheduler/src/scheduler.rs
  • crates/scheduler/src/test_scheduler.rs
  • crates/scheduler/src/tests.rs
  • rust-toolchain.toml
💤 Files with no reviewable changes (2)
  • crates/gpui/src/platform/test/dispatcher.rs
  • crates/gpui_web/src/dispatcher.rs

Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread crates/gpui_linux/src/linux.rs
Comment thread crates/gpui_util/src/lib.rs
Comment thread crates/gpui_wgpu/src/wgpu_context.rs
Comment thread crates/gpui_wgpu/src/wgpu_renderer.rs
Comment thread crates/gpui/examples/view_example/editor_text.rs
Comment thread crates/gpui/examples/view_example/example_editor.rs
Comment thread crates/gpui/src/style.rs
@BumpyClock

Copy link
Copy Markdown
Owner Author

Follow-up on the review-body-only WGPU finding:

  • PR4-10 fixed in 3e384e3: GPU recovery gaps no longer reset the consecutive failure streak, so persistent failures can reach the >20 escalation. A focused regression was added; cargo test --locked -p gpui_wgpu --lib passes 30/30.
  • PR4-06 verified and tracked separately: removing the 350 ms blocking recovery backoff safely requires Wayland/X11 event-loop retry scheduling, which is outside gpui_wgpu’s current ownership boundary. I left the existing behavior intact rather than introduce an unsafe or potentially stalled renderer-local timer.

All nine inline review threads have received finding-specific replies and are resolved.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
crates/gpui_wgpu/src/wgpu_renderer.rs (1)

2929-2940: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Preserve the failure streak when replacing the renderer.

from_surface_internal initializes a new FrameFailureStreak, and *self = recovered discards the prior count. Repeated device-loss recoveries therefore restart at zero and never reach the >20 failure escalation.

Proposed fix
         let mut recovered = Self::from_surface_internal(
             context,
             surface,
             config,
             Some(Rc::clone(&gpu_context)),
             self.compositor_gpu,
             Some(atlas),
             Some(handles),
         )?;
         recovered.desired.is_bgr = is_bgr;
+        recovered.frame_failure_streak = std::mem::take(&mut self.frame_failure_streak);
         recovered.needs_redraw = true;
         *self = recovered;
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/gpui_wgpu/src/wgpu_renderer.rs` around lines 2929 - 2940, Preserve the
existing failure streak when replacing the renderer in the recovery path around
`from_surface_internal` and `*self = recovered`. Save the current
`FrameFailureStreak` before constructing `recovered`, then restore or assign it
to the recovered renderer after initialization so repeated device-loss
recoveries retain the accumulated count and escalation threshold.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@crates/gpui_wgpu/src/wgpu_renderer.rs`:
- Around line 2929-2940: Preserve the existing failure streak when replacing the
renderer in the recovery path around `from_surface_internal` and `*self =
recovered`. Save the current `FrameFailureStreak` before constructing
`recovered`, then restore or assign it to the recovered renderer after
initialization so repeated device-loss recoveries retain the accumulated count
and escalation threshold.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 7f59e25e-6eca-4e8a-ab24-080a7ba22f4a

📥 Commits

Reviewing files that changed from the base of the PR and between 7532b5f and 3e384e3.

📒 Files selected for processing (7)
  • .github/actions/install-linux-dependencies/action.yml
  • .github/workflows/ci.yml
  • crates/gpui/examples/view_example/editor_text.rs
  • crates/gpui/examples/view_example/example_editor.rs
  • crates/gpui/examples/view_example/example_tests.rs
  • crates/gpui_linux/src/linux.rs
  • crates/gpui_wgpu/src/wgpu_renderer.rs

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
putComment timed out

@BumpyClock

Copy link
Copy Markdown
Owner Author

Addressed review-body finding cr-comment:v1:c24076b83640685678d7a729 in d10947b.

  • FrameFailureStreak::transfer_to now moves both the failure count and pending-recovery state into the successfully constructed replacement renderer before *self = recovered.
  • The transfer occurs only after construction succeeds, so a failed recovery attempt cannot discard the live streak.
  • The regression now models the renderer-state replacement at failure 6, verifies the recovery gap retains the count, and verifies subsequent errors reach 21.

Validation: cargo test --locked -p gpui_wgpu --lib (30 passed), cargo clippy --locked -p gpui_wgpu --all-targets -- --deny warnings, cargo fmt --all -- --check, and git diff --check all pass. This finding was posted only in a review body, so GitHub did not create a resolvable review thread; the actionable item is complete.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@crates/gpui_windows/src/events.rs`:
- Around line 1748-1753: Improve the table-driven assertions in the test loop
over `cases`: replace the boolean `assert!` in `window_control_hit_target` with
`assert_eq!`, and include `area`, capability parameters, and the computed versus
expected values in the failure diagnostics so the failing case is identifiable.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: db459d49-6920-4493-b878-525cf7e4575e

📥 Commits

Reviewing files that changed from the base of the PR and between 3e384e3 and d10947b.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • Cargo.toml
  • crates/gpui_wgpu/src/wgpu_renderer.rs
  • crates/gpui_windows/src/events.rs

Comment thread crates/gpui_windows/src/events.rs
@BumpyClock BumpyClock merged commit 24cfa81 into main Jul 10, 2026
7 checks 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