Commit Graph
100 Commits
Author SHA1 Message Date
Marshall Bowers 7dc5a34ef5 git_hosting_providers: Add Tangled support (#63051)
This PR adds support for [Tangled](https://tangled.org/) as a Git
hosting provider.

Release Notes:

- Added support for permalinks to [Tangled](https://tangled.org/)
repositories.
2026-08-21 21:31:55 +00:00
Marshall Bowers f5a912e5f3 docs: Fix some links (#62758)
This PR fixes some links in the docs to use relative links instead of
pointing to `docs.zed.dev` (which isn't where the docs actually live).

Release Notes:

- N/A
2026-08-17 13:30:49 +00:00
Marshall Bowers 69e5f3e09d cloud_api_client: Make cloud_host method public (#61345)
This PR makes the `cloud_host` method on `CloudApiClient` public.

Release Notes:

- N/A
2026-07-20 15:42:10 +00:00
Marshall Bowers dedf4cbfe8 cloud_api_client: Make send_authenticated_json_request public (#60562)
This PR makes the `send_authenticated_json_request` method on the
`CloudApiClient` public.

This way we can use it to make requests by external callers.

The `build_request` method was also inlined into
`send_authenticated_request` to make the contract simpler.

Release Notes:

- N/A
2026-07-07 23:00:12 +00:00
Marshall Bowers fadf7e6164 cloud_api_types: Add new ID fields to AuthenticatedUser (#60497)
This PR adds the new `id_v2` and `legacy_user_id` fields to the
`AuthenticatedUser` type and starts using them in place of the `id`
field.

Release Notes:

- N/A
2026-07-06 21:27:24 +00:00
Marshall Bowers d5c3183188 Revert "Fix hanging updates after system sleep (#60301)" (#60321)
This reverts commit bf39dab4e1.

This was causing Zed to crash immediately on startup with the following
error:

```
thread 'main' (74835290) panicked at /Users/maxdeviant/.cargo/git/checkouts/reqwest-dc13ba947e7b959e/c156624/src/async_impl/body.rs:365:33:
there is no reactor running, must be called from the context of a Tokio 1.x runtime
```

Closes FR-118.

Release Notes:

- Reverted https://github.com/zed-industries/zed/pull/60301
2026-07-02 23:54:11 +00:00
Marshall Bowers df7a06b5ff cloud_api_types: Remove unused AcceptTermsOfServiceResponse type (#60226)
This PR removes the `AcceptTermsOfServiceResponse` struct, as it is no
longer used.

Release Notes:

- N/A
2026-07-02 12:38:43 +00:00
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 a48471ce57 client: Remove unused cached_user_by_github_login method from UserStore (#60103)
This PR removes the `cached_user_by_github_login` method from the
`UserStore`, as it was unused.

Release Notes:

- N/A
2026-06-29 15:38:19 +00:00
Marshall Bowers 5531777b7b collab: Add username to User (#60097)
This PR adds the `username` field to `User` and `proto::User`.

Closes CLO-949.

Release Notes:

- N/A
2026-06-29 15:06:18 +00:00
Marshall Bowers 2ef7f39587 gpui_linux: Suppress dead code warning on wake_sender (#60090)
This PR adds a conditional `allow(dead_code)` to the `wake_sender` field
to fix this error when building Collab:

```
error: field `wake_sender` is never read
   --> crates/gpui_linux/src/linux/platform.rs:126:5
    |
116 | pub(crate) struct LinuxCommon {
    |                   ----------- field in this struct
...
126 |     wake_sender: Sender<()>,
    |     ^^^^^^^^^^^
    |
    = note: `-D dead-code` implied by `-D warnings`
    = help: to override `-D warnings` add `#[expect(dead_code)]` or `#[allow(dead_code)]`

error: could not compile `gpui_linux` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
```


https://github.com/zed-industries/zed/actions/runs/28374439219/job/84060893437

Release Notes:

- N/A
2026-06-29 13:31:03 +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
Marshall Bowers 57f456c68e cloud_api_types: Add ZedVip variant to Plan (#59443)
This PR adds a new `ZedVip` variant to the `Plan` enum.

Closes CLO-881.

Release Notes:

- N/A
2026-06-18 20:51:36 +00:00
Marshall BowersandMikayla Maki 7f74def4b5 gpui_macos: Initialize fallback fonts with primary font weight and style (#56771)
This PR fixes an issue where font properties like bolds and italics
would be lost when falling back to a fallback font.

The problem we identified was that when loading the fallback fonts, we
were just loading them by name. This meant that when the original font
had a different font weight (e.g., bold) or style applied to it this
would not cascade to the fallback font.

To reproduce the problem, we used the following text in a Markdown file:

```md
**한글 bold**
```

With the following font configuration in Zed:

```json
"buffer_font_family": "Victor Mono",
"buffer_font_fallbacks": [
  "D2Coding"
]
```

The fonts can be obtained from their respective locations:

- [Victor Mono](https://rubjo.github.io/victor-mono/)
- [D2Coding](https://github.com/naver/d2codingfont)

#### Before

<img width="168" height="46" alt="Screenshot 2026-05-14 at 1 15 15 PM"
src="https://github.com/user-attachments/assets/f6883e4b-8f2b-4285-a110-0e18d562c51d"
/>

#### After

<img width="176" height="53" alt="Screenshot 2026-05-14 at 1 16 04 PM"
src="https://github.com/user-attachments/assets/88d67207-6711-473b-8027-e0acfa58c258"
/>

Closes #51460.

Release Notes:

- macOS: Fixed fallback fonts missing weight/style.

---------

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
2026-06-11 16:50:36 +00:00
Marshall Bowers d0b81bc65b title_bar: Always show organization list in user menu (#58965)
This PR updates the user menu to always show the list of organizations.

We had some logic in here to hide it if the user did not have an
organization selected, which was left over from before organizations
were fully rolled out.

Now that every user should be in at least one organization, we can
remove the old UI states.

Release Notes:

- N/A
2026-06-09 19:41:18 +00:00
Marshall Bowers 578152f339 cloud_api_client: Always pass up an organization ID when creating an LLM token (#58872)
This PR makes it so we always pass up an organization ID when creating
an LLM token.

We should have an organization ID in all cases.

Release Notes:

- N/A
2026-06-09 12:06:49 +00:00
Marshall Bowers a20358c831 collab: Update test database schema (#58670)
This PR updates the database schema for Collab tests.

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

Release Notes:

- N/A
2026-06-08 13:49:13 +00:00
Marshall Bowers ca91e34701 collab: Remove writes to github_user_id and github_login (#58474)
This PR removes writes to the `github_user_id` and `github_login`
columns on the `users` table.

These writes were only being done in tests, as the production codepaths
that referenced these columns have already been removed.

Depends on https://github.com/zed-industries/cloud/pull/2743 to make the
`github_user_id` column nullable.

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

Closes CLO-831.

Release Notes:

- N/A
2026-06-04 15:43:03 +00:00
Marshall Bowers dabe3b9339 danger: Fix typo (#58475)
This PR fixes a small typo in the Danger message for modified database
schema files.

Release Notes:

- N/A
2026-06-03 22:10:12 +00:00
Marshall Bowers 2b9a20c91b danger: Require attestation that database schema migrations have been applied (#58469)
This PR updates the Danger check for touching the Collab schema files to
require attestation that the database schema migrations have been
created and applied.

If there are changes to the schema files without the attestation, Danger
will fail the status check with an error:

<img width="959" height="635" alt="Screenshot 2026-06-03 at 4 58 56 PM"
src="https://github.com/user-attachments/assets/e0857137-b351-4212-a023-13a7d53f5934"
/>

When the attestation clause is present, Danger will report it as such:

<img width="901" height="333" alt="Screenshot 2026-06-03 at 4 59 45 PM"
src="https://github.com/user-attachments/assets/098b0ce4-f86e-4d41-b6af-765bc015fe6e"
/>

Release Notes:

- N/A
2026-06-03 21:19:31 +00:00
Marshall Bowers 269a799e31 collab: Add a warning about modifying database schema files (#58468)
This PR updates the test database schema files in Collab with a warning
about adding the corresponding database migration in Cloud before
merging any changes.

This should pair with the Danger warning to provide additional
signposting (and also for agents who may be modifying the files).

Includes the re-dumped schema for the addition of the `language_name`
column on the `language_servers` table.

Release Notes:

- N/A
2026-06-03 20:53:00 +00:00
Marshall Bowers 0f0d942959 collab: Only access github_user_id and github_login columns in tests (#58457)
This PR marks the `github_user_id` and `github_login` columns on the
`User` database model as only being accessible in tests.

Closes CLO-829.

Release Notes:

- N/A
2026-06-03 19:20:14 +00:00
Marshall Bowers b707eb4882 collab: Use avatar URLs returned from Cloud (#58265)
This PR updates Collab to use the avatar URLs returned from Cloud
instead of constructing them directly.

Release Notes:

- N/A
2026-06-01 21:50:11 +00:00
Marshall Bowers 59b7620c20 anthropic: Fix serialized representation of Effort::XHigh (#57985)
This PR fixes the serialized representation of the `Effort::XHigh`
variant, as it should be `xhigh`, not `x_high`.


https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking#adaptive-thinking-with-the-effort-parameter

Release Notes:

- Fixed using `xhigh` thinking effort with Anthropic models.
2026-05-28 18:20:11 +00:00
Marshall Bowers e7c753affd feature_flags: Only respect feature flag overrides for Zed staff (#57860)
This PR is a follow-up to #54206 to make it so we only respect the
feature flag overrides for Zed staff (or when running a development
build).

Previously just the UI portion of the feature flags was disabled for
non-staff, but manipulating the settings file by hand would still allow
setting overrides that would be respected.

The only other setting on the "Developer" page of the settings UI was
the performance profiler. This was previously only available for staff,
as the entire "Developer" page was limited to staff, but it seems
reasonable to allow non-staff to see this.

Release Notes:

- N/A
2026-05-27 18:16:04 +00:00
Marshall Bowers 11b831dc9f Upgrade tree-sitter to v0.26.9 (#57183)
This PR upgrades `tree-sitter` to v0.26.9.

We're interested in
https://github.com/tree-sitter/tree-sitter/pull/5605, which should fix a
panic when loading certain grammars.

Closes FR-1.

Release Notes:

- Fixed a panic when loading certain Tree-sitter grammars containing
supertypes.
2026-05-20 10:46:54 +00:00
Marshall Bowers 9aaefbde30 agent: Fix a panic when splitting streamed-in edits inside of a multibyte character (#57100)
This PR fixes a panic that could occur in the `edit_file` tool where
streaming in text could split in the middle of a multibyte character.

Closes FR-3 and [ZED-7ZX](https://zed-dev.sentry.io/issues/7480598098).

Release Notes:

- Fixed a panic that could occur when streaming in text with the
`edit_file` tool.
2026-05-19 06:44:48 +00:00
Marshall Bowers cbed5c63dc collab: Remove unused fields from database user model (#56898)
This PR removes some more unused fields from the database user model:

- `github_user_created_at`
- `email_address`
- `name`
- `created_at`

These fields were not being used anywhere, and are nullable/defaulted in
the database in tests.

Release Notes:

- N/A
2026-05-15 17:01:42 +00:00
Marshall Bowers 806ecedb6e client: Attach system ID to sign-in request (#56675)
This PR makes it so we send up the system ID as a query parameter
alongside the native app sign-in request.

Closes CLO-769.

Release Notes:

- N/A
2026-05-14 13:29:49 +00:00
Marshall Bowers 6d118a0f09 collab: Remove seeding infrastructure (#56562)
This PR removes the seeding infrastructure from Collab.

We're already set up to just-in-time create users in local development
through Cloud.

Also updated the liveness probe for the health endpoint to use a
different query.

Closes CLO-763.

Release Notes:

- N/A
2026-05-13 15:44:55 +00:00
Marshall Bowers 1f6b4ca94a collab: Remove database access in Authorization header verification (#56558)
This PR removes the database access in the `Authorization` header
verification in Collab.

We already have the user returned from the call to Cloud, but were just
fetching the user from the database to get some additional fields.

We're now returning the additional fields we need from Cloud, so we can
just convert the user from the internal API response into a `User`
entity.

Closes CLO-762.

Release Notes:

- N/A
2026-05-13 15:17:42 +00:00
Marshall Bowers 5b19c5ec8a collab: Remove unused From impl for User model to proto::User (#56548)
This PR removes a `From` impl from the database `User` model to
`proto::User`, as it is no longer used.

Release Notes:

- N/A
2026-05-12 16:21:58 +00:00
Marshall Bowers 263745e044 collab: Replace TransitionalUserService with CloudUserService (#56538)
This PR replaces the `TransitionalUserService` with the
`CloudUserService`, as all of the calls are now all going through Cloud.

This allows us to delete the `TransitionalUserService`, the
`DatabaseUserService`, as well as the backing database queries that are
no longer used.

Closes CLO-758.

Release Notes:

- N/A
2026-05-12 14:32:14 +00:00
Marshall Bowers 79caf5a099 collab: Route search_channel_members through Cloud (#56465)
This PR makes it so we route the `UserService::search_channel_members`
call through Cloud instead of hitting the database.

This is the last of the calls to be routed through Cloud. We'll clean up
the old database-backed implementations in a follow-up PR.

Closes CLO-746.

Release Notes:

- N/A
2026-05-12 13:05:19 +00:00
Marshall Bowers ed8c4fa6d9 collab: Route fuzzy_search_users through Cloud (#56436)
This PR makes it so we route the `UserService::fuzzy_search_users` call
through Cloud instead of hitting the database.

Closes CLO-745.

Release Notes:

- N/A
2026-05-11 17:29:35 +00:00
Marshall Bowers 96d7ea5ebd collab: Route UserService::get_user_by_github_login through Cloud (#56190)
This PR makes it so we route the `UserService::get_user_by_github_login`
call through Cloud instead of hitting the database.

Closes CLO-743.

Release Notes:

- N/A
2026-05-08 16:21:09 +00:00
Marshall Bowers f793754257 client: Rename UserId to LegacyUserId (#56185)
This PR renames the `UserId` type in the `client` crate to
`LegacyUserId`.

The `id` field on the `User` has also been renamed to `legacy_id`.

This is strictly a rename, no change in behavior.

Release Notes:

- N/A
2026-05-08 15:53:40 +00:00
Marshall Bowers 463beda9ca collab: Route get_users_by_ids through Cloud (#56105)
This PR makes it so we route the `UserService::get_users_by_ids` call
through Cloud instead of hitting the database.

We've introduced a new `CloudUserService` that will fetch the users from
Cloud using the internal API. Note that we've only implemented the
`get_users_by_ids` method on this service, as the endpoints for the
other methods don't yet exist.

We have also introduced a `TransitionalUserService` for the purposes of
gradually transitioning these calls over to Cloud. Right now it uses the
`CloudUserService` for the `get_users_by_ids` implementation, but then
uses the `DatabaseUserService` for the other methods.

Closes CLO-740.

Release Notes:

- N/A
2026-05-08 13:34:46 +00:00
Marshall Bowers b09e15ee61 collab: Remove unused api_token field from Config (#56098)
This PR removes the `api_token` field from Collab's `Config`, as it is
no longer used.

Release Notes:

- N/A
2026-05-08 12:28:22 +00:00
Marshall Bowers 01702ee309 collab: Introduce UserService (#55449)
This PR introduces a `UserService` trait to Collab.

This is a step towards moving Collab away from reading user information
directly from the database.

We currently have two implementations for the trait:

- The `DatabaseUserService`, which leverages the existing query methods
to talk to the database
- The `FakeUserService`, which will be used in tests

Once we're ready, we'll be able to replace the `DatabaseUserService`
with a `CloudUserService` to fetch the users from Cloud.

Release Notes:

- N/A
2026-05-06 18:15:36 +00:00
Marshall Bowers 6024295388 collab: Stop mixing concerns in get_channel_participant_details (#55568)
This PR updates the `get_channel_participant_details` method to reduce
the mixing of concerns within the method.

The authorization check for the caller has been moved to the outside,
along with the conversions from the database representations to the RPC
proto representations.

Now the method is just responsible for dealing with the data fetching,
which will make it easier to swap out.

Release Notes:

- N/A
2026-05-04 11:51:56 +00:00
Marshall Bowers ddbf45e360 collab: Remove stray dev_servers.rs module (#55566)
This PR removes a stray, empty `dev_servers.rs` module from the `collab`
crate.

Release Notes:

- N/A
2026-05-03 16:45:40 +00:00
Marshall Bowers d7d7699db1 collab: Remove tests for update_or_create_user_by_github_account (#55559)
This PR removes the tests for the
`update_or_create_user_by_github_account` method, as it is not called
outside of tests/seeding in local development.

Release Notes:

- N/A
2026-05-03 15:37:45 +00:00
Marshall Bowers 37c027d014 collab: Simplify contributor setup in test_channel_requires_zed_cla (#55558)
This PR updates the `test_channel_requires_zed_cla` test to simplify the
setup for denoting that a user has signed the CLA.

Since the user already exists in the database, we can just create the
corresponding record without needing to worry about upserting.

Release Notes:

- N/A
2026-05-03 15:33:50 +00:00
Marshall Bowers d6cf164a72 client: Remove unused FakeServer::build_user_store method (#55444)
This PR removes the `build_user_store` method from the `FakeServer`, as
it was not used anywhere.

Release Notes:

- N/A
2026-05-01 17:47:16 +00:00
Marshall Bowers f09e9a23c4 collab: Decouple session principal from User database model (#55440)
This PR decouples the session principal in Collab from the `User`
database model.

We have introduced a new `User` domain entity that we use for the
principal. Currently we just construct it from the database model, but
this separation will make it easier to remove reliance on reading the
database directly soon.

Release Notes:

- N/A
2026-05-01 17:28:57 +00:00
Marshall Bowers db2c69b5cc language_models: Fix is_authenticated state for Cloud provider (#54826)
This PR fixes an issue introduced in
https://github.com/zed-industries/zed/pull/54397 where the Zed Cloud
provider would not be reflected as "authenticated" if a connection to
Collab was attempted, but could not be established.

This was especially noticable when running Zed against a local version
of Cloud and not having Collab running.

This restores the original logic prior to that change.

Release Notes:

- N/A
2026-04-27 08:59:36 +00:00
Marshall Bowers 6e4475f6ca client: Don't override organization plans with personal plan (#53842)
This PR makes it so we don't override organization plans with the user's
personal plan.

If an organization is selected and does not have a plan, we want to
return `None` for the plan.

Closes CLO-655.

Release Notes:

- N/A
2026-04-14 10:55:03 -04:00
Marshall Bowers 450bb9f2e3 title_bar: Don't show a badge for organizations without a plan (#53841)
This PR makes it so we don't show a plan badge for organizations that
don't have a plan.

Closes CLO-654.

Release Notes:

- N/A
2026-04-14 09:27:06 -04:00
Marshall Bowers a7f047c358 title_bar: Hide plan badge next to username when there are organizations (#53826)
This PR makes it so we hide the plan badge next to the username in the
user menu when there are organizations.

We instead show the plans next to each organization:

<img width="257" height="317" alt="Screenshot 2026-04-13 at 1 29 26 PM"
src="https://github.com/user-attachments/assets/0111e7ff-af09-48ba-a043-9e25c2dd24bd"
/>

Closes CLO-649.

Release Notes:

- N/A
2026-04-13 13:39:22 -04:00
Marshall Bowers bb633eecc6 edit_prediction: Disable training data collection based on organization configuration (#53639)
This PR makes it so we disable training data collection for Edit
Prediction based on the organization's configuration.

Closes CLO-641.

Release Notes:

- N/A
2026-04-10 13:27:04 -04:00
Marshall Bowers 85182adaec collab_ui: Disable Collab panel based on organization configuration (#53567)
This PR makes it so the Collab panel can be disabled by the
organization's configuration:

<img width="239" height="191" alt="Screenshot 2026-04-09 at 2 38 35 PM"
src="https://github.com/user-attachments/assets/48216c00-85cd-441a-b613-7468db2b25bd"
/>

Depends on https://github.com/zed-industries/cloud/pull/2247.

Closes CLO-638.

Release Notes:

- N/A
2026-04-10 10:15:28 -04:00
Marshall Bowers 733d38fe17 agent_ui: Disable thread feedback based on organization configuration (#53454)
This PR updates the agent thread UI to disable the thread feedback
controls based on the organization's configuration.

Closes CLO-629.

Release Notes:

- N/A
2026-04-09 14:58:00 +00:00
Marshall Bowers 577bcce2f7 client: Store organization configuration (#53450)
This PR updates the `UserStore` to store the configuration for each
organization.

We'll be reading from this in subsequent PRs.

Closes CLO-628.

Release Notes:

- N/A
2026-04-09 10:33:08 -04:00
Marshall Bowers 301dbe2dd2 cloud_llm_client: Move CompletionIntent to language_model (#52359)
This PR moves the `CompletionIntent` enum from the `cloud_llm_client`
crate to the `language_model` crate, as it is no longer part of the
Cloud interface.

Release Notes:

- N/A
2026-03-25 08:39:17 +01:00
Marshall Bowers 73ee8d42ba cloud_api_types: Add is_personal field to Organization (#52349)
This PR adds an `is_personal` field to the `Organization` DTO returned
from Cloud.

We're already returning this field in production.

Part of CLO-569.

Release Notes:

- N/A
2026-03-24 16:59:55 -04:00
Marshall BowersandBennet Bo Fenner abb1088ba4 workspace: Only suppress auto-save on focus transfer for the Vim/Helix command palette (#51949)
This PR adjusts the logic that was added in #45166 to just apply to the
specific case of interacting with the command palette in Vim and Helix
modes (hereafter referred to collectively as "Vim mode").

In that PR, we would suppress the auto-save on focus change for _any_
modal in the workspace, regardless of whether we were actually in Vim
mode or not. This would cause issues where moving between files some
other way—such as the tab switcher or the file finder—would cause the
buffers to never be saved.

We now only suppress the auto-save on focus loss behavior when in Vim
mode and the active modal is the command palette. In all other cases, we
save the file.

Closes https://github.com/zed-industries/zed/issues/47968.

Supersedes https://github.com/zed-industries/zed/pull/51801 and
https://github.com/zed-industries/zed/pull/51802.

Note: the way we are identifying the active modal as the command palette
isn't the best, but @bennetbo and I didn't have any other cleaner
solutions. It's a bit tricky, as the logic lives in the `workspace`,
which isn't able to know about the `CommandPalette` due to
`command_palette` depending on `workspace`. There may be some other way
we could achieve this with more indirection, but it's unclear whether it
would be worth it at this time.

Release Notes:

- Changed `{ "autosave": "on_focus_change" }` to now always save on
focus loss, except for when activating the command palette when in
Vim/Helix mode.

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-03-19 12:53:26 -04:00
Marshall Bowers 90d93f9cb4 client: Respect the default organization ID from the server (#51777)
This PR updates the `UserStore` to use the `default_organization_id`
returned from the server to set the default organization rather than
always picking the first one.

Closes CLO-530.

Release Notes:

- N/A
2026-03-17 18:17:32 +00:00
Marshall Bowers cd1b2fbfb0 Assign meaningful names to some single-letter bindings (#51432)
This PR assigns meaningful names to some single-letter bindings we were
using to refer to the organization.

Release Notes:

- N/A
2026-03-12 22:49:17 +00:00
Marshall Bowers 66879fb68a ai_onboarding: Add student plan examples to component preview (#51338)
This PR adds examples for the student plan to the component preview.

Release Notes:

- N/A
2026-03-11 23:21:57 +00:00
Marshall Bowers bbe1ada657 client: Populate plans for organizations (#51334)
This PR makes it so we populate the `plans_by_organization` collection
with the plans returned from the server.

Release Notes:

- N/A
2026-03-11 22:22:17 +00:00
Marshall Bowers 207ce6e80f cloud_api_types: Add ZedBusiness variant to Plan (#51329)
This PR adds a `ZedBusiness` variant to the `Plan` enum.

Closes CLO-480.

Release Notes:

- N/A
2026-03-11 21:28:29 +00:00
Marshall Bowers bcf6d5211a danger: Add a check for changing Collab database schemas (#51234)
This PR adds a Danger check to remind contributors that any database
changes for Collab need to be done via a migration in the Cloud repo:

<img width="888" height="323" alt="Screenshot 2026-03-10 at 6 39 21 PM"
src="https://github.com/user-attachments/assets/5b3bbc3d-1e9d-409a-837b-565e1ca36935"
/>

Release Notes:

- N/A
2026-03-10 22:53:38 +00:00
Marshall Bowers 0a53950b78 collab: Update test database schema (#51233)
This PR updates the database schema for Collab tests, along with a
warning to not modify the file by hand.

Release Notes:

- N/A
2026-03-10 18:36:49 -04:00
Marshall Bowers 574d516ce6 language_models: Defer fetching models for the Zed provider until fully signed-in (#50857)
This PR updates the model-fetching behavior for the Zed provider to wait
until the user is fully signed-in before we attempt to fetch the models.

We now subscribe to the `UserStore` and listen for the
`PrivateUserInfoUpdated` event. If we receive that event and the user is
not currently signed out, then we should be all set to fetch the models.

Closes CLO-424.

Release Notes:

- N/A
2026-03-05 15:06:45 -05:00
Marshall Bowers c916fe9140 title_bar: Show organization plans (#49769)
This PR updates the organization selector to also show the plan that is
available through each organization.

Also makes the `plan` method on the `UserStore` return the plan for the
current organization, if it exists.

We aren't yet populating the `plans_by_organization` collection.

Release Notes:

- N/A
2026-02-21 01:20:05 +00:00
Marshall Bowers 514adf3ba6 title_bar: Factor out PlanChip component (#49766)
This PR factors out a `PlanChip` component in the `title_bar`.

Release Notes:

- N/A
2026-02-20 19:42:46 -05:00
Marshall Bowers 899b2237e1 title_bar: Add organization selector (#49763)
This PR adds an organization selector to the title bar for switching
between organizations.

Closes CLO-301.

Release Notes:

- N/A
2026-02-20 18:42:57 -05:00
Marshall Bowers 7f96eff98f Sign out upon receiving an Unauthorized response when acquiring an LLM token (#49673)
This PR makes it so the user gets signed out upon receiving an
Unauthorized response when acquiring an LLM token.

This is a re-landing of #49661.

Closes CLO-324.

Release Notes:

- N/A
2026-02-19 22:13:38 -05:00
Marshall Bowers 30994dcadf collab: Remove unneeded Arc::get_mut (#49672)
This PR removes an unneeded `Arc::get_mut` from the Collab tests.

Release Notes:

- N/A
2026-02-20 02:11:53 +00:00
Marshall Bowers f5118ce133 Revert "Sign out upon receiving an Unauthorized response when acquiring an LLM token (#49661) (#49669)
This PR reverts #49661, as the Collab tests are failing (but were not
caught in CI).

This reverts commit e90302e1fd.

Release Notes:

- N/A
2026-02-19 23:54:03 +00:00
Marshall Bowers e90302e1fd Sign out upon receiving an Unauthorized response when acquiring an LLM token (#49661)
This PR makes it so the user gets signed out upon receiving an
Unauthorized response when acquiring an LLM token.

Closes CLO-324.

Release Notes:

- N/A
2026-02-19 22:23:40 +00:00
Marshall Bowers 985167689d collab: Remove unused AccessToken model (#49542)
This PR removes the `AccessToken` database model and its related
queries, as they are no longer used.

Closes CLO-306.

Release Notes:

- N/A
2026-02-18 23:47:11 +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 b82db905bc feature_flags: Add note about acp-beta feature flag (#49479)
This PR adds a note to the `acp-beta` feature flag about how it is used,
and that it should not be deleted if unreferenced.

Release Notes:

- N/A
2026-02-18 13:55:09 +00:00
Marshall BowersandTom f09b9c0cdd edit_prediction: Route edit prediction rating through Cloud (#49385)
This PR updates the `Edit Prediction Rated` event to be routed through
Cloud instead of the normal telemetry pipeline.

Closes CLO-224.

Release Notes:

- N/A

---------

Co-authored-by: Tom <tom@zed.dev>
2026-02-17 18:12:14 +00:00
Marshall Bowers 94b7a681aa agent_ui: Route agent thread feedback through Cloud (#49324)
This PR updates the `Agent Thread Rated` event to be routed through
Cloud instead of the normal telemetry pipeline.

Closes CLO-223.

Release Notes:

- N/A
2026-02-17 11:41:30 -05:00
Marshall Bowers bb4b4d5669 client: Add organizations to UserStore (#49320)
This PR adds the list of the user's organizations to the `UserStore`.

Closes CLO-292.

Release Notes:

- N/A
2026-02-16 21:19:04 -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 8891f5ceaa collab: Remove GET /rpc_server_snapshot endpoint (#49312)
This PR removes the `GET /rpc_server_snapshot` endpoint from Collab, as
it is not being used (and also didn't seem to be functional).

Release Notes:

- N/A
2026-02-17 00:00:28 +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
Marshall Bowers d0ea664c77 ci: Install Linux dependencies for Collab deployment workflow (#49308)
This PR makes it so we install the necessary Linux dependencies for the
Collab deployment workflow.

Release Notes:

- N/A
2026-02-16 22:53:35 +00:00
Marshall Bowers 3f85c03e60 ci: Generate the Collab deployment workflow (#49306)
This PR updates the Collab deployment workflow to be generated with
`cargo xtask workflows`.

Release Notes:

- N/A
2026-02-16 22:40:10 +00:00
Marshall Bowers 7517364640 xtask: Fix naming of WorkflowType::ExtensionCi variant (#49302)
This PR fixes the naming of the `WorkflowType::ExtensionCi` variant to
match Rust naming conventions.

Release Notes:

- N/A
2026-02-16 22:13:19 +00:00
Marshall Bowers 3d78b20d03 ci: Move all Collab deployment steps to Namespace runners (#49300)
This PR removes the two remaining steps in the Collab deployment
workflow to Namespace runners.

The previous `runs-on` labels were no longer functional.

Release Notes:

- N/A
2026-02-16 21:57:49 +00:00
Marshall Bowers 6fa6e5bc50 agent_ui: Ship thinking effort selection for Zed provider (#49274)
This PR removes the `cloud-thinking-effort` feature flag to ship the
thinking effort UI for the Zed provider.

Release Notes:

- Added support for controlling thinking effort levels with supported
models using the Zed provider.
2026-02-16 11:58:35 -05:00
Marshall Bowers 0535146278 collab: Update test database schema (#49242)
This PR updates the database schema for Collab tests.

Release Notes:

- N/A
2026-02-15 22:59:16 +00:00
Marshall Bowers 67ec4531d2 Revert "multi_buffer: Fix "cannot seek backward" crash in summaries_for_anchors (#49047)" (#49238)
This reverts commit 53958dad4e.

We're reverting #49047, as it has led to different kinds of panics.

Release Notes:

- Reverted #49047.
2026-02-15 19:46:46 +00:00
Marshall Bowers 572802a092 extension: Make provides a method on ExtensionManifest (#49234)
This PR takes the `extension_provides` method from the `extension_cli`
and makes it a method on `ExtensionManifest`.

Release Notes:

- N/A
2026-02-15 12:12:09 -05:00
Marshall Bowers 8c1ee9f2a3 extensions_ui: Respect category filter for installed extensions when searching (#49183)
This PR updates the extensions UI to respect the category filter for
already-installed extensions when searching for extensions.

Closes #48628.

Release Notes:

- The extension search will now properly respect the category filter for
extensions that are already installed
([#48628](https://github.com/zed-industries/zed/issues/48628)).
2026-02-14 16:07:25 +00:00
Marshall Bowers 31ead77fdb collab: Remove unused Config fields (#48836)
This PR removes the unused fields from the `Config` struct in Collab.

Release Notes:

- N/A
2026-02-10 01:21:51 +00:00
Marshall Bowers ff0206b65e collab: Remove GET /extensions endpoint (#48827)
This PR removes the `GET /extensions` endpoint from Collab, as it has
been moved to Cloud.

In #48717 we changed it to just proxy to Cloud, but we didn't end up
needing that.

Release Notes:

- N/A
2026-02-09 23:06:11 +00:00
Marshall Bowers 641924a388 collab: Proxy GET /extensions to Cloud (#48717)
This PR updates the `GET /extensions` endpoint in Collab to proxy to
Cloud.

Release Notes:

- N/A
2026-02-08 05:05:34 +00:00
Marshall Bowers 013c44f6e4 Move extension API DTOs into cloud_api_types (#48689)
This PR moves the DTOs for the extension API from the `rpc` crate into
the `cloud_api_types` crate.

Release Notes:

- N/A
2026-02-07 17:54:29 +00:00
Marshall Bowers 4b3c1738dd Clean up some Cargo.toml files (#48623)
This PR cleans up some `Cargo.toml` files after #48602.

Release Notes:

- N/A
2026-02-06 20:21:19 +00:00
Marshall Bowers dc65ebe3a9 agent: Highlight latest models available through the Zed provider (#48614)
This PR updates the model selector to highlight the latest models that
are available through the Zed provider:

<img width="388" height="477" alt="Screenshot 2026-02-06 at 1 46 41 PM"
src="https://github.com/user-attachments/assets/70760399-ecf6-46e3-80a7-cb998216c192"
/>

Closes CLO-205.

Release Notes:

- Added a "Latest" indicator to highlight the latest models available
through the Zed provider.
2026-02-06 14:03:03 -05:00
Marshall BowersandTom Houlé 1bc92b46d9 language_models: Enable setting reasoning effort for OpenAI models through Zed provider (#48605)
This PR adds support for setting the reasoning effort for OpenAI models
through the Zed provider.

This is gated behind the `cloud-thinking-effort` feature flag.

Release Notes:

- N/A

Co-authored-by: Tom Houlé <tom@tomhoule.com>
2026-02-06 16:40:31 +00:00
Marshall BowersandTom Houlé ca6cc3acdf feature_flags: Rename cloud-thinking-toggle feature flag (#48598)
This PR renames the `cloud-thinking-toggle` feature flag to
`cloud-thinking-effort`.

This feature flag has expanded slightly in scope, so we want the name to
be more representative of what it gates.

Release Notes:

- N/A

Co-authored-by: Tom Houlé <tom@tomhoule.com>
2026-02-06 16:11:32 +00:00
Marshall Bowers 47da33af28 agent: Add support for setting thinking effort for Zed provider (#48545)
This PR adds the ability to set the thinking effort of a model.

Right now this only applies to Opus 4.6 through the Zed provider.

This is gated behind the `cloud-thinking-toggle` feature flag.

UI is still rough; needs a design pass:

<img width="639" height="163" alt="Screenshot 2026-02-05 at 7 45 54 PM"
src="https://github.com/user-attachments/assets/2b5a9ef8-74cd-498e-9c81-b92666572409"
/>

<img width="263" height="148" alt="Screenshot 2026-02-05 at 7 45 58 PM"
src="https://github.com/user-attachments/assets/40232cb0-1743-443b-b04c-5cd33065513d"
/>

Release Notes:

- N/A
2026-02-06 01:04:53 +00:00
Marshall Bowers 9980d8a9b0 agent: Add agent.default_model.enable_thinking setting (#48536)
This PR adds a new `enable_thinking` setting for the default model,
which controls whether the model uses thinking or not.

Release Notes:

- N/A
2026-02-05 23:35:44 +00:00