Commit Graph
249 Commits
Author SHA1 Message Date
Danilo Leal 7708baed51 sidebar: Move toggle to the status bar instead (#51916)
- [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:

- N/A
2026-03-19 07:41:10 -03:00
Bennet Bo Fenner 68174396d6 Rename ThreadMetadataStore to SidebarThreadMetadataStore (#51913)
## Context

Renamed ThreadMetadataStore to SidebarThreadMetadataStore.
There was some confusion yesterday on what metadata should be stored in
`ThreadMetadataStore.
Only threads that should show up in the sidebar should be stored here
(effectively all non-archived ones). Hopefully the rename + doc comment
added makes this clearer.
Unfortunately we cannot move it into the sidebar crate since we need it
in the archived history view too.

## How to Review

This is purely a cosmetical change

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

- N/A
2026-03-19 09:52:08 +00:00
Mikayla Maki 07bcf29dd5 Tidy up sidebar implementation (#51904)
## Context

This PR cleans up all the sidebar impl, from the over use of agentic
tools, without regard for the sidebar's construction.

## How to Review

This PR fixes the following problems:
- Overuse of inter-event guards and state management around focus state.
Simplified to just `focused_thread `, a derived value from the current
active agent panel and thread. UI can optimistically set this value for
threads that haven't been loaded yet, and it won't be unset by
`update_entries`
- Mixing data fetching and re-derivation. `update_entries` should not be
fetching the list of threads. Rather, that list should be pulled from
the threads meta data, cached on the sidebar, and then used to compute
the new state
- Similarly, removed logical state mutation from `update_entries`. It's
job is to compile the new UI state from it's data sources, not to move
selection state around. Do that elsewhere.
- The Archive pointer should be stored in the active view enum, rather
than spread across two fields
- Finally, update_entries did several linear passes over the list of
threads in a row, I had claude consolidate these passes and am relying
on our extensive test coverage to keep it functioning. If this breaks
something you built, _put that in a test_.

## Self-Review Checklist

<!-- Check before requesting review: -->
- [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:

- N/A
2026-03-19 10:16:36 +01:00
Danilo Leal 12a9e334da sidebar: Enable archiving external agents threads (#51910)
## Self-Review Checklist

<!-- Check before requesting review: -->
- [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:

- N/A
2026-03-19 05:41:32 -03:00
Danilo Leal 07f6b5c06a sidebar: Add another round of UX refinements (#51884) 2026-03-18 23:04:54 -03:00
Max BrunsfeldandEric Holk ce066d703a Show linked worktree names consistently in sidebar and titlebar (#51883)
This is a follow-up to https://github.com/zed-industries/zed/pull/51775,
making worktree names in the sidebar appear consistent with the
titlebar.

## Context

- [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:

- N/A

---------

Co-authored-by: Eric Holk <eric@zed.dev>
2026-03-19 00:32:13 +00:00
Eric HolkandMax Brunsfeld 35059adb27 Show worktree thread status in sidebar (#51879)
Before you mark this PR as ready for review, make sure that you have:
- [X] Added a solid test coverage and/or screenshots from doing manual
testing
- [X] Done a self-review taking into account security and performance
aspects
- [X] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2026-03-18 23:10:49 +00:00
Danilo LealandBennet Bo Fenner 72d4c22519 sidebar: Improve behavior of the "view more" action (#51872)
This PR makes sure that threads running, waiting for confirmation, or
with a notification remain visible even after you've collapsed the list,
in case they would be naturally hidden (if the list was collapsed).

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-03-18 18:06:07 -03:00
87d025d863 sidebar: Improve the archive view (#51863)
- Add the ability to archive a thread from the sidebar
- Add the ability to unarchive a thread from the archive view
- Improve keyboard navigation within the archive view
- Display project names associated with a thread in the archive view

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: cameron <cameron.studdstreet@gmail.com>
2026-03-18 17:00:40 -03:00
Cameron Mcloughlin 3a98c67f36 sidebar: Keyboard nav improvements (and vim mode) (#51856) 2026-03-18 17:53:04 +00:00
Bennet Bo Fenner 3477967ecd sidebar: Fix date formatting (#51851)
Previously we were not showing days

Release Notes:

- N/A
2026-03-18 16:50:30 +00:00
Ben Brandtandcameron 602248b717 sidebar: Load archived threads in the correct window (#51831)
Make sure we don't create a duplicate workspace if it is already open in
another window.

Release Notes:

- N/A

---------

Co-authored-by: cameron <cameron.studdstreet@gmail.com>
2026-03-18 11:53:48 +00:00
Cameron Mcloughlin eeb212f6a7 agent: Collapsed project thread UI indicators (#51824) 2026-03-18 10:13:17 +00:00
Mikayla Makianderic 3f6e3cd9d8 Clean up multiworkspace (#51794)
Remove old multiworkspace commands and fix a bug where multiworkspaces
wouldn't be deserialized from the DB

Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

---------

Co-authored-by: eric <eric@zed.dev>
2026-03-18 03:41:00 +00:00
Danilo Leal e9e5ee15cb sidebar: Add some more improvements (#51799)
Follow up to https://github.com/zed-industries/zed/pull/51763

Release Notes:

- N/A
2026-03-17 23:28:50 -03:00
Danilo Leal e4329538e3 sidebar: Improve keyboard navigation (#51796)
- In the project header, arrow keys left and right expand/collapse the
group
- Enter and space in any thread list item selects the item
- Arrow key down from the search editor moves focus to the the list
- Arrow key up from the first list item puts focus back to the editor
- At any moment while focus on the list, cmd-f moves focus back to the
search editor
- Made the `FocusWorkspaceSidebar` action always reset focus back to the
search editor

Release Notes:

- N/A
2026-03-17 21:48:42 -03:00
Danilo Lealandcameron f86020b98e agent: Improve sidebar design and behavior (#51763)
- Selection/focus improvements (reduces flickers, move selection more
correctly throughout the list)
- Adds open folder button in the sidebar header
- Fixes sidebar header design, including the thread view one, too
- Fixes behavior of cmd-n when focused in the sidebar
- Changes the design for the "new thread" button in the sidebar and adds
a preview of the prompt on it
- Rename items in the "start thread in" dropdown

Release Notes:

- N/A

---------

Co-authored-by: cameron <cameron.studdstreet@gmail.com>
2026-03-17 20:44:20 -03:00
Cameron Mcloughlin e76aaa2757 sidebar: Close all button (#51755) 2026-03-17 13:47:03 +00:00
Max Brunsfeld c62327044b Move sidebar back out of the panel (#51723)
Reverts https://github.com/zed-industries/zed/pull/51241

Release Notes:

- N/A
2026-03-17 03:48:20 +00:00
51d1a04ed8 Move threads sidebar into agent panel (#51241)
* [x] Put back persistence of sidebar open state
* [x] when agent panel is docked right, put sidebar on the right side
* [x] remove stale entries from `SidebarsByWindow`

Release Notes:

- N/A

---------

Co-authored-by: Eric Holk <eric@zed.dev>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
2026-03-10 23:45:55 -07:00
Danilo Leal ac5edcf1a0 ui: Fix end_hover gradient overlay in ListItem (#51237)
This PR adds a bool method to the `ListItem` that allows to turn on the
gradient overlay in the `end_hover_slot`. Places that are not the
sidebar, at least at the moment, don't need it. And with the previous
code, they were getting it, which felt wrong.

Release Notes:

- N/A
2026-03-10 23:12:26 +00:00
Bennet Bo FennerandBen Brandt a2eb59914c agent: Re-use ACP connections per project (#51209)
Release Notes:

- N/A

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
2026-03-10 17:32:51 +00:00
Danilo Leal 6502012bc7 sidebar: Fix project header active state (#51203)
Release Notes:

- N/A
2026-03-10 12:31:23 -03:00
Danilo Leal b0796a18f6 sidebar: Sort threads by created time (#51193)
Release Notes:

- N/A
2026-03-10 12:22:01 -03:00
Danilo Leal 1184df3155 sidebar: Adjust design for the "Open Project" button (#51145)
This PR makes the "Open Project" button in the sidebar also open the
"Recent Projects" popover, while also anchoring that popover to the the
button on the sidebar instead.

Release Notes:

- N/A
2026-03-09 22:01:40 -03:00
Mikayla Maki 39d593ff14 Optimize update_entries (#51122)
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A
2026-03-09 17:21:35 +00:00
Cameron Mcloughlin 359a5c2315 workspace: Include threads in matched workspaces (#51114) 2026-03-09 15:58:02 +00:00
Danilo Leal fec772435c ui: Add GradientFade component (#51113)
Just adding this here as an utility component given we were doing
similar things on the sidebar, thread item, and list item. It'd be
probably useful, in the near future, to give this more methods so it's
more flexible.

Release Notes:

- N/A
2026-03-09 12:31:16 -03:00
Danilo Leal fc39043b6c sidebar: Improve behavior of "view more" button (#51105)
This PR adjusts the "View More" button in the sidebar to expose threads
in batches of 5. Once you've expanded the whole available set, a button
to collapse the list back to the default number appears at the bottom.
Similarly, as soon as you expand the list even once, a button in the
group header shows up that does the same thing.

No release notes because this is still under feature flag.

Release Notes:

- N/A
2026-03-09 10:59:32 -03:00
Danilo Leal 4d8ac3cb12 sidebar: Improve project header truncation (#51096)
Touching up the scenario in which the project header label is too big.
This uses the same gradient overlay treatment we're using for the thread
item component.

Release Notes:

- N/A
2026-03-09 10:03:15 -03:00
Danilo Leal 9d629a3a60 agent_ui: Add more refinements for v2 flag (#50968)
- Fixes message editor in empty state not consuming the whole height of
the panel
- Remove duped focused method in the `ListItem`
- Remove duped "new thread" buttons when group is empty
- Add some UI adjustments like removing labels and fading out truncated
items

Release Notes:

- N/A
2026-03-06 19:47:04 -03:00
Anthony Eid acdb6b7573 sidebar: Improve keyboard navigation (#50938)
We know outline the focus sidebar entry similar to the project panel.
This allows users to see what they have selected vs active

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A
2026-03-06 16:26:52 +00:00
Ben Brandt e71e18d990 agent: Only use AgentSessionInfo in history (#50933)
Previously we required AgentSessionInfo all over the place, which meant
there were lots of unnecessary fake ones created all over the place.

Made the methods and functions only take the data they need so we only
use these in history contexts now, as intended.

Release Notes:

- N/A
2026-03-06 13:13:23 +00:00
Danilo Leal 8164d2677d sidebar: Add some refinements (#50923)
- Make clicking on the project header collapse/expand the group as
opposed to activating the workspace
- Added the "threads" label close to the sidebar toggle button
- Made the open folder icon button open the file finder directly as
opposed to the recent projects popover

Release Notes:

- N/A
2026-03-06 09:20:54 -03:00
Mikayla MakiandEric Holk 4d0cb2da90 Fix sidebar selections (#50900)
Release Notes:

- N/A

---------

Co-authored-by: Eric Holk <eric@zed.dev>
2026-03-06 06:51:26 +00:00
Mikayla Maki 9262f0e08d Separate the sidebar click targets (#50885)
Release Notes:

- N/A
2026-03-05 23:27:44 +00:00
f7c59467e6 Implement new Multi Agent UI (#50534)
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

---------

Co-authored-by: Eric <eric@zed.dev>
Co-authored-by: cameron <cameron.studdstreet@gmail.com>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Anthony Eid <anthony@zed.dev>
Co-authored-by: John Tur <john-tur@outlook.com>
2026-03-05 20:22:28 +00:00
João Soares fce1bde724 picker: Prevent clicking non-selectable entries from confirming selection (#50705)
Closes #50627

Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)


### Videos:
Before:

https://drive.google.com/file/d/1PahGhfx-wq9cyNqqMlctb9Np7M1Meo71/view?usp=sharing
After:

https://drive.google.com/file/d/135W6MQ9hKBurw5Z7YpHQQhoQwkh1NvUb/view?usp=sharing


Release Notes:

- Fixed clicking on non-selectable picker entries (e.g. section headers)
confirming the currently selected item.
2026-03-05 18:59:01 +00:00
Eric Holk dacbfe9afe Remove thread title persistence (#49929)
This was causing performance issues and is on its way out anyway.

Release Notes:
- N/A
2026-02-23 22:58:50 +00:00
Finn Evers 92979bc902 sidebar: Improve toggle button placement when fullscreen on macOS (#49524)
| Before | After |
| --- | --- |
| <img width="173" height="66" alt="grafik"
src="https://github.com/user-attachments/assets/9e406cf7-67bc-45d9-97dc-6e18515d0206"
/> | <img width="189" height="70" alt="grafik"
src="https://github.com/user-attachments/assets/b37a0c64-4130-4521-be7e-084a69c5a9c8"
/> |



Release Notes:

- N/A
2026-02-18 22:45:49 +01:00
Richard Feldman c5ade1fa71 Add sidebar status icons for agent thread states (#49505)
<img width="800" height="1200" alt="image"
src="https://github.com/user-attachments/assets/2b765edc-4be4-476e-891a-9dd81fac2626"
/>

Add icon decorations on the agent icon in the sidebar to show thread
status:

- **Generation done**: blue dot (existing behavior, unchanged)
- **Blocked on tool permission/confirmation**: yellow warning triangle
- **Thread stopped due to an error**: red X

Priority order for decorations: confirmation > error > done > running
spinner.

Confirmation and error decorations persist as long as the thread is
actually in that state and always show regardless of whether the
workspace is active (unlike the blue dot which is notification-based).

(No release notes because this is all feature-flagged.)

Release Notes:

- N/A
2026-02-18 18:30:14 +00:00
Anthony Eid d105a3ec35 agent: Disables multi workspace refresh queue for non-staff (#49496)
Refreshing the queue was causing hangs on debug builds, so this is a
short term fix until we rework how the sidebar gets its data.

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A
2026-02-18 16:34:27 +00:00
ed5605bd2c Show agent icon instead of folder icon in sidebar thread list (#49421)
Replace the generic folder icon next to thread entries in the workspace
sidebar with the actual agent icon (Claude, Zed Agent, Gemini, etc.) for
the active thread.

Release Notes:
- N/A

Co-authored-by: cameron <cameron.studdstreet@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
2026-02-17 15:36:22 -08:00
Cameron McloughlinandZed Zippy b88ecd61b2 workspace: Group recent projects by date (#49414)
Release Notes:

- N/A *or* Added/Fixed/Improved ...

---------

Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-02-17 23:30:28 +00:00
Riccardo Strina 9b19516b31 workspace: Use FolderOpen icon for active workspace project (#49180)
Differentiate the active workspace in the sidebar project list by using
IconName::FolderOpen instead of IconName::Folder

Before:
<img width="1761" height="1196" alt="Image"
src="https://github.com/user-attachments/assets/1a6d3708-9e3b-4ebc-b8e5-7b68194e55b7"
/>

After:
<img width="1717" height="1152" alt="image"
src="https://github.com/user-attachments/assets/1784dc83-b38a-4f6a-8984-ccd3b877b100"
/>

Closes #49179

Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- Improved active project in the workspace by changing the icon from
Folder to FolderOpen
2026-02-16 13:23:27 +00:00
Danilo Leal 1cd6e13e43 sidebar: Improve subheader component (#49074)
This PR uses the already-existing `ListSubHeader` component for the
section subheader as opposed to a custom label.

<img width="350" height="942" alt="Screenshot 2026-02-12 at 8  30@2x"
src="https://github.com/user-attachments/assets/a86ce59d-9d3b-4b10-87c8-69da1469743d"
/>

- [x] Code Reviewed
- [x] Manual QA

Release Notes:

- N/A
2026-02-12 23:57:45 +00:00
a67197b3e2 Re-add MultiWorkspace (#48800)
Release Notes:

- Added agent panel restoration. Now restarting your editor won't cause
your thread to be forgotten.

---------

Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>
Co-authored-by: Eric Holk <eric@zed.dev>
Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Co-authored-by: Anthony Eid <anthony@zed.dev>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Cameron Mcloughlin <cameron.studdstreet@gmail.com>
2026-02-12 01:06:23 +00:00
Finn Evers e2d5c71e09 Revert "New multi workspace (#47795)" (#48776)
Preparing this just in case.

Release Notes:

- N/A
2026-02-09 15:37:16 +01:00
5b79f60ead New multi workspace (#47795)
It's happeningggggg

Release Notes:

- Changed the Agent Panel so that the Active Thread is restored on
restart.

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Anthony Eid <anthony@zed.dev>
Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Co-authored-by: Richard Feldman <richard@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-02-08 17:46:51 -08:00