Commit Graph
8 Commits
Author SHA1 Message Date
Marshall Bowers 970e93e881 client: Add username to User and start using it (#60107)
This PR adds a `username` field to the `User` and starts using it
instead of the `github_login`.

Closes CLO-952.

Release Notes:

- N/A
2026-06-29 20:21:46 +00:00
Marshall Bowers 7c91706a11 Unship shared threads (#59981)
This PR unships shared threads.

The feature is not used much and is getting in the way, at this point.

These are only ever made available to staff.

The corresponding database schema migration has been created in the
Cloud repo and applied to the production database.

Release Notes:

- N/A
2026-06-26 20:50:37 +00:00
Joseph T. LyonsandYara 🏳️‍⚧️ e66fdeb8ad Add ability to auto watch screens (#54839)
This PR adds a feature to automatically cycle through screen shares
during calls, designed for demo days or any call that has a lot of
screen share use.

This is a preliminary attempt behind a feature flag so we can dogfood
and iterate, or toss it out.

There's a new toggle next to the active channel name in the collab
panel: **Auto Watch Screens**.


https://github.com/user-attachments/assets/ae6eccec-7921-4c1f-8921-c8093631c705

This video demonstrates some cases:

Basic auto-watch
- Toggle on → automatically opens the next screen share that starts
- When the watched screen share ends, switches to the next available
share

Queuing
- Someone starts sharing while another share is active → doesn't
interrupt the current share
- When the current share ends, the queued share is picked up
automatically

Paused while sharing
- Auto-watch pauses when you start sharing your own screen, so other
shares don't pop up during your presentation
- When you stop sharing, auto-watch resumes and opens the next available
share

Multiple watchers
- Multiple people can have auto-watch enabled independently — they all
see the same transitions

Note that we don't manage the screenshares, livekit does, so this change
is entirely on the client. I think that's mostly fine, but there is a
chance 2 separate clients queues up a different person as the next
watched peer if they both engage screenshare around the same time,
depending on how it hits the clients, but it seems pretty edge case. We
can move the implementation to collab, but it will be more of a project,
and adding a secondary source alongside of livekit that could get out of
sync and have its own issues.

UI/UX needs work (@danilo-leal for suggestions)

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

---------

Co-authored-by: Yara 🏳️‍⚧️ <11743287+yara-blue@users.noreply.github.com>
2026-05-01 17:29:27 +00:00
Joseph T. Lyons a89bd0bfc2 Add the ability to reorder favorited collab channels (#52649)
Currently, if you try to re-order a favorite, the favorite will not
reorder, but the actual channels will.


https://github.com/user-attachments/assets/1fbab9ea-4ff4-473f-8de3-d3b60696c5a1

Additionally, a new bug seems to be that if you reorder channels, focus
jumps to a favorite:


https://github.com/user-attachments/assets/fa776ad2-8648-4e68-a253-a98f57bd4951

This PR allows for re-ordering of favorites independent of the actual
channels, and fixes the focusing bug


https://github.com/user-attachments/assets/977e575a-055c-4f26-8183-2744ff7f8f56

I didn't feel comfortable adding just the functionality/fixes alone, so
I added a function to represent the state of the collab panel as a list
of strings, like how testing around the project panel is, and wrote a
few tests to ensure the behavior was pinned down.

The tests cover testing:

- Favoriting/unfavoriting
- Reordering favorites without impacting order of channels in the
channels list
- Reordering channels in the channels list without impacting order of
favorites

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:

- Added the ability to reorder favorited collab channels.
2026-03-30 13:07:13 +00:00
Marshall Bowers a0347b8ade collab: Validate access tokens through Cloud (#49535)
This PR updates Collab to make it validate access tokens through Cloud
instead of doing it in-house.

We're reusing the `GET /client/users/me` endpoint—which is what we also
call on the client—to validate the user's access token.

We only need to do this when establishing a WebSocket connection, so the
increased latency of a network hop shouldn't be a problem.

Closes CLO-308.

Release Notes:

- N/A
2026-02-18 18:20:52 -05:00
Marshall Bowers ce8622593d collab: Remove leftover impersonation code (#49314)
This PR removes some code left over from how we used to do impersonation
for local development.

The local development impersonation path is separate now, so we don't
need all of this plumbing in Collab.

Release Notes:

- N/A
2026-02-17 00:27:04 +00:00
Marshall Bowers 5cd0fe9bc3 collab: Remove POST /users/:id/access_tokens endpoint (#49297)
This PR removes the `POST /users/:id/access_tokens` endpoint from
Collab, as it is no longer used.

Closes CLO-290.

Release Notes:

- N/A
2026-02-16 18:21:31 -05:00
Piotr Osiewicz 8c8a0d9c4d collab: Extract tests into integration tests crate (#47668)
Reduces time needed to build collab tests from 48s to 38s.

Release Notes:

- N/A
2026-01-26 20:28:09 +01:00