Branches (1379)

persist-worktree-4-cancel-restore

fa56504 Add cancel button and restore spinner for worktree restores

Click to expand commit body
- worktree_restore_tasks HashMap on Sidebar tracks in-flight restore
  operations keyed by SessionId
- Restore task is now stored (not detached) so it can be tracked and
  the pending state cleaned up when it completes
- cancel_worktree_restore drops the task from the map and notifies
- ThreadItem wired up with pending_worktree_restore bool and
  on_cancel_restore callback from the Sidebar's render_thread
- Action slot (archive/stop buttons) hidden while a restore is pending
- Reconciled with existing PR4 restore spinner in worktree labels

Richard Feldman created

new-acp-sdk

2ad3b27 Merge branch 'main' into new-acp-sdk

Ben Brandt created

ep-0327

f3c034e Prevent dev container modal dismissal during creation (#52506)

Click to expand commit body
## Context

When the dev container creation modal is showing "Creating Dev
Container", clicking anywhere on the workspace backdrop dismisses the
dialog. The container creation continues in the background, but the user
loses visual feedback and the subsequent `open_remote_project` call may
fail because the modal entity is gone.

This adds an `allow_dismissal` flag to `RemoteServerProjects` that
blocks accidental dismissal (backdrop clicks, focus loss) while a dev
container is being created, but allows explicit dismissal on success or
error.

## How to Review

Small PR — two files changed:

1. **`remote_servers.rs`** (the fix): `allow_dismissal` bool field
added, set to `false` when entering Creating state, set to `true` before
emitting `DismissEvent` on success/error. `on_before_dismiss` override
checks the flag.
2. **`recent_projects.rs`** (the test): Regression test that opens a dev
container modal, simulates a backdrop click, and asserts the modal stays
open.

## 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

Release Notes:

- Fixed dev container creation modal being dismissed when clicking
outside it

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

Toni Alatalo and Claude Opus 4.6 created

agent-skills

80bec32 Fix read_skill tool failing on symlinked skills

Click to expand commit body
The read_skill tool validates that requested paths are within a skills
directory by canonicalizing the input path and checking it starts with
the skills root. However, when skills are symlinks (e.g. pointing to
~/.config/zed/superpowers/skills/), canonicalization resolves the symlink
to its target, which no longer starts with the non-canonicalized skills
root.

Fix by also canonicalizing the skills root paths before the starts_with
check, so symlink targets are correctly recognized as being within the
skills directory.

Also update skills_prompt.hbs to reference the read_skill tool instead
of read_file/list_directory, which are project-scoped and cannot access
the global skills directory.

Nathan Sobo created

fix-scrolling-drift

3908d11 agent_ui: Fix scrolling drift during streaming

Click to expand commit body
When you manually scroll up in a thread while a long assistant response
is still streaming, the view could slowly drift as the message kept
remeasuring and growing. That happened because the list preserved scroll
position as a proportional offset within the top visible item, so each
height change slightly shifted the viewport. This change makes list
remeasurement preserve the same absolute pixel offset within the top
item instead, which keeps manually positioned thread views stable while
content continues streaming.

Oleksiy Syvokon created

fix-manual-thread-scrolling

64921dd agent_ui: Restore follow-tail behavior in manual scroll

Click to expand commit body
Refactoring in #53101 broke manual scrolling in many ways. This change
restores it, accounting for the new FollowMode enum.

Oleksiy Syvokon created

fix-wgpu-atlas-crash

909622f gpui_wgpu: Fall back when color atlas formats are unavailable

Click to expand commit body
Avoid crashes on devices that cannot use the preferred color atlas texture format by selecting a supported fallback during renderer setup and recovery.

Oleksiy Syvokon created

persist-worktree

a707c3c Remove diagnostic logging from archive_thread

Richard Feldman created

delete-worktree-on-archive

f4f479c Merge branch 'fix-archive-highlight-panic' into frosty-ledge

Richard Feldman created

frosty-ledge

f4f479c Merge branch 'fix-archive-highlight-panic' into frosty-ledge

Richard Feldman created

AI-112/delete-worktree-on-archive-v2

f926a23 Remove workspace before deleting worktree directory on archive

Click to expand commit body
The file watcher was racing with directory deletion, causing
'root path could not be canonicalized' and 'reference HEAD not found'
errors. Now we remove the worktree's workspace from the MultiWorkspace
(stopping the file watcher) before deleting the directory.

Also fix directory deletion order: delete the directory first (it may
have uncommitted files that prevent git worktree remove --force from
succeeding), then clean up git's worktree registration.

On the restore side, clean up any stale worktree registration before
creating, to handle registrations left over from previous archives.

Richard Feldman created

AI-112/git-worktree-operations

b3697a6 Fix branch_name Option check in fake create_worktree after merge

Richard Feldman created

kb/scroll-blame

d66def2 Draft all issues during the implementation start

Kirill Bulatov created

cherry-pick-v0.231.x-de28867f

a2f4adb editor: Support disabling semantic token highlighting via empty rules (#52963)

Click to expand commit body
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 #52882, should help #52723

According to the [Zed
documentation](https://zed.dev/docs/semantic-tokens#example-disabling-a-token-type),
users should be able to disable semantic highlighting for a specific
token type by adding an empty rule in `settings.json`.

However, the current implementation fails to respect this because its
merging logic allows lower-priority default styles to "leak through"
even when a matching high-priority rule is empty. This makes it
impossible to selectively disable semantic tokens to reveal the
underlying Tree-sitter highlighting when using "semantic_tokens":
"combined". This is particularly problematic for extensions that provide
specialized Tree-sitter queries which are currently being obscured by
less desirable semantic tokens(#52723).

This PR fixes the logic to ensure that a completely empty high-priority
rule acts as an opaque override, correctly disabling semantic styling
for that token type and allowing Tree-sitter highlighting to show
through as intended.

Release Notes:

- Fixed a bug where semantic token highlighting could not be disabled
via empty rules in `settings.json`.

Xin Zhao created

AI-112/delete-worktree-on-archive

ee24860 Fix create_worktree callsite types after merge with main

Click to expand commit body
The git_store::Repository::create_worktree wrapper takes String (not
Option<String>), but the merge left test callsites passing Some(...).

Richard Feldman created