afa8a75
Add cancellable worktree creation with status toast and stop button
Click to expand commit body
- Add cancellable job mechanism to the git worker queue with CancellationToken
- Add kill_on_drop(true) to git worktree add subprocess
- Replace inline 'Creating Worktree...' banner with a status toast with Cancel button
- Add stop button in the agent panel toolbar during worktree creation
- Show spinner on sidebar 'New Thread' entry during worktree creation
- Cancel in-progress worktree creation when Cmd-N starts a new thread
- Clean up partially-created worktrees on cancellation
efc85f2
ep: Only fetch experiments if `cx.is_staff` (#52739) (cherry-pick to stable) (#52783)
Click to expand commit body
Cherry-pick of #52739 to stable
----
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Closes #ISSUE
Release Notes:
- N/A
301075d
gpui_linux: Force scene rebuild after GPU device recovery (#52389) (cherry-pick to stable) (#52400)
Click to expand commit body
Cherry-pick of #52389 to stable
----
After GPU device recovery clears the atlas, the next frame could
re-present a stale scene via the needs_present path (which skips scene
rebuilding). The stale scene references texture IDs that no longer exist
in the cleared atlas, causing an index-out-of-bounds panic.
Fix this by setting a force_render_after_recovery flag when device
recovery completes. The platform refresh loop reads this flag and passes
force_render: true in RequestFrameOptions, ensuring GPUI rebuilds the
scene before presenting.
Fixes ZED-5QT
Release Notes:
- N/A or Added/Fixed/Improved ...
Co-authored-by: Lukas Wirth <lukas@zed.dev>
9582387
Don't block thread creation when PromptStore fails to initialize
Click to expand commit body
NativeAgentServer::connect used prompt_store.await? which turned any
PromptStore initialization failure (permission denied, disk issues, etc.)
into a hard connection error, preventing all new native agent threads.
Changed to .log_err() so the error is logged at ERROR level but thread
creation proceeds with prompt_store: None. NativeAgent::new already
accepts Option<Entity<PromptStore>> and handles None gracefully — user
custom prompts won't load but threads still work.
Added a regression test that serializes a stale thread ID, loads the
panel (triggering 'last active thread not found in database'), then
verifies NewThread still produces a connected thread.
2e5d890
gpui_windows: Force scene rebuild after GPU device recovery
Click to expand commit body
Same issue as on Linux: after device recovery clears the atlas, a
WM_PAINT arriving during the 200ms recovery sleep could call
draw_window with force_render=false, which unconditionally called
mark_drawable() (clearing skip_draws) and then presented a stale
scene against the empty atlas.
Fix this by adding a force_render_after_recovery flag to the window
state, set during handle_device_lost. The first draw_window call
after recovery reads this flag and forces a full scene rebuild,
matching the Linux approach.