Commit graph

29008 commits

Author SHA1 Message Date
Zed Bot
ab5a291e6f Bump to 0.192.7 for @SomeoneToIgnore 2025-06-27 16:44:45 +00:00
Kirill Bulatov
e3ea0fa018 Respect server capabilities on queries (#33538)
Closes https://github.com/zed-industries/zed/issues/33522

Turns out a bunch of Zed requests were not checking their capabilities
correctly, due to odd copy-paste and due to default that assumed that
the capabilities are met.

Adjust the code, which includes the document colors, add the test on the
colors case.

Release Notes:

- Fixed excessive document colors requests for unrelated files
2025-06-27 19:41:03 +03:00
gcp-cherry-pick-bot[bot]
3e847472f6
Fix blend alpha colors with editor background in inline preview (cherry-pick #33513) (#33516)
Cherry-picked Fix blend alpha colors with editor background in inline
preview (#33513)

Closes #33505

## Before

<img width="434" alt="Screenshot 2025-06-27 at 12 22 57"

src="https://github.com/user-attachments/assets/ac215a39-b3fe-4c9e-bd7d-0d7568d5fd1f"
/>

## After

<img width="441" alt="Screenshot 2025-06-27 at 12 22 47"

src="https://github.com/user-attachments/assets/28218ed6-c1aa-4d3f-a268-def2fa9f0340"
/>

Release Notes:

- Fixed inline color previews not correctly blending alpha/transparency
values with the editor background

Co-authored-by: ddoemonn <109994179+ddoemonn@users.noreply.github.com>
2025-06-27 12:56:25 +03:00
gcp-cherry-pick-bot[bot]
2cbdc22018
debugger: Fix treatment of node-terminal scenarios (cherry-pick #33432) (#33468)
Cherry-picked debugger: Fix treatment of node-terminal scenarios
(#33432)

- Normalize `node-terminal` to `pwa-node` before sending to DAP
- Split `command` into `program` and `args`
- Run in external console

Release Notes:

- debugger: Fixed debugging JavaScript tasks that used `"type":
"node-terminal"`.

Co-authored-by: Cole Miller <cole@zed.dev>
2025-06-26 15:02:45 -04:00
Zed Bot
dcca5514e8 Bump to 0.192.6 for @smitbarmase 2025-06-26 07:59:31 +00:00
gcp-cherry-pick-bot[bot]
4d73569ed7
editor: Utilize filter_text from language server for filter_range (cherry-pick #33155) (#33436)
Cherry-picked editor: Utilize `filter_text` from language server for
`filter_range` (#33155)

Closes #33106

Instead of directly using `filter_text` in `StringMatchCandidate`, which
yields better results for fuzzy matching but messes up with highlighting
letters in bold, as `positions` list generated by fuzzy crate are now of
`filter_text` and not `label` shown to the user.

This PR fixes it by keeping use of `filter_range` in
`StringMatchCandidate`, which is range w.r.t to `label` shown to user.
And actually generating this `filter_range` at source by using
`filter_range` if exists.

- [x] Tests

Release Notes:

- Fixed issue where incorrect letters are marked as bold in completions.

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
2025-06-26 13:17:26 +05:30
vipex
17f3ff1231 pane: Update pinned tab count when it exceeds actual tab count (#33405)
## Summary

This PR improves the workaround introduced in #33335 that handles cases
where the pinned tab count exceeds the actual tab count during workspace
deserialization.

## Problem

The original workaround in #33335 successfully prevented the panic but
had two issues:
1. **Console spam**: The warning message was logged repeatedly because
`self.pinned_tab_count` wasn't updated to match the actual tab count
2. **Auto-pinning behavior**: New tabs up until you exceed the old safe
tab count were automatically pinned after the workaround was triggered.

## Solution

Updates the defensive code to set `self.pinned_tab_count = tab_count`
when the mismatch is detected, ensuring:
- The warning is only logged once when encountered.
- New tabs behave normally (aren't auto-pinned)
- The workspace remains in a consistent state

This is an immediate fix for the workaround. I'll attempt to open up a
follow-up PR when i get the chance that will address the root cause by
implementing serialization for empty untitled tabs, as discussed in
#33342.

Release Notes:

- N/A
2025-06-26 02:05:07 -04:00
Peter Tripp
bf9b2a3ace
Fix empty code actions menu trapping cursor (#33386)
Closes: https://github.com/zed-industries/zed/issues/33382
Follow-up to: https://github.com/zed-industries/zed/pull/32579

CC: @ConradIrwin @Anthony-Eid 

Release Notes:

- Fixed an issue with empty code actions menu locking the cursor
(Preview Only)
2025-06-25 13:28:22 -04:00
Joseph T. Lyons
161ccf8e38 v0.192.x stable 2025-06-25 11:35:00 -04:00
gcp-cherry-pick-bot[bot]
81212b62fb
Add up and down global bindings for menu::SelectNext and menu::SelectPrevious (cherry-pick #32981) (#33388)
Cherry-picked Add up and down global bindings for `menu::SelectNext` and
`menu::SelectPrevious` (#32981)

Closes https://github.com/zed-industries/zed/discussions/32587

Release Notes:

- Fixed Linux keybindings not having up/down keys bound for menu
navigation

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
2025-06-25 11:06:40 -04:00
gcp-cherry-pick-bot[bot]
d63d49f84e
debugger: Support passing custom arguments to debug adapters (cherry-pick #33251) (#33379)
Cherry-picked debugger: Support passing custom arguments to debug
adapters (#33251)

Custom arguments replace any arguments that we normally pass to the DAP.
For interpreted languages, they are passed to the interpreter after the
DAP path or module. They can be combined with a custom binary, or you
can omit `dap.binary` and just customize the arguments to the DAPs we
download.

This doesn't take care of updating the extension API to support custom
arguments.

Release Notes:

- debugger: Implemented support for passing custom arguments to a debug
adapter binary using the `dap.args` setting.
- debugger: Fixed not being able to use the `dap` setting in
`.zed/settings.json`.

Co-authored-by: Cole Miller <cole@zed.dev>
2025-06-25 10:32:24 -04:00
Bennet Bo Fenner
182ec4f3e8 agent: Fix issue where unconfigured MCP extensions would not start
server (backport #33365)
2025-06-25 15:46:07 +02:00
Bennet Bo Fenner
d5b7ca180b vercel: Use proper model identifiers and add image support (#33377)
Follow up to previous PRs:
- Return `true` in `supports_images` - v0 supports images already
- Rename model id to match the exact version of the model `v0-1.5-md`
(For now we do not expose `sm`/`lg` variants since they seem not to be
available via the API)
- Provide autocompletion in settings for using `vercel` as a `provider`

Release Notes:

- N/A
2025-06-25 15:30:49 +02:00
Bennet Bo Fenner
e5752e42ad vercel: Reuse existing OpenAI code (#33362)
Follow up to #33292

Since Vercel's API is OpenAI compatible, we can reuse a bunch of code.

Release Notes:

- N/A
2025-06-25 15:30:45 +02:00
Danilo Leal
e09dbfc4cf Add support for Vercel as a language model provider (#33292)
Vercel v0 is an OpenAI-compatible model, so this is mostly a dupe of the
OpenAI provider files with some adaptations for v0, including going
ahead and using the custom endpoint for the API URL field.

Release Notes:

- Added support for Vercel as a language model provider.
2025-06-25 15:30:41 +02:00
gcp-cherry-pick-bot[bot]
948dbba28e
agent: Do not send stale files notifications (cherry-pick #32974) (#33309)
Cherry-picked agent: Do not send stale files notifications (#32974)

Removing it for two reasons:

1. We need a better implementation that doesn't hurt caching and doesn't
distracts the agent too much (see
https://github.com/zed-industries/zed/pull/32876 for more context)

2. Current insertion point of notifications doesn't play well with
Claude Thinking models (see

https://github.com/zed-industries/zed/issues/33000#issuecomment-2991709484)

I think we should get this code back in a form of a tool. But for now,
I'm dropping it to resolve recent issues.

Closes #33000

Release Notes:

- N/A

Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>
2025-06-25 14:32:19 +03:00
Joseph T. Lyons
975cd9e93e Patch panic around pinned tab count (#33335)
After much investigation, I have not been able to track down what is
causing [this
panic](https://github.com/zed-industries/zed/issues/33342). I'm clamping
the value for now, because a bug is better than a crash. Hopefully
someone finds reproduction steps, and I will implement a proper fix.

Release Notes:

- N/A
2025-06-24 16:26:53 -04:00
gcp-cherry-pick-bot[bot]
5f598004be
Fix being unable to input a whitespace character in collab channels filter (cherry-pick #33318) (#33324)
Cherry-picked Fix being unable to input a whitespace character in collab
channels filter (#33318)

Before, `space` was always causing a channel join.
Now it's less fluent, one has to press `ESC` to get the focus out of the
filter editor and then `space` starts joining the channel.

Release Notes:

- Fixed being unable to input a whitespace character in collab channels
filter

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
2025-06-24 19:59:15 +03:00
Zed Bot
62a10605cb Bump to 0.192.5 for @bennetbo 2025-06-24 16:29:14 +00:00
Bennet Bo Fenner
4d6cd504e7 agent: Fix issue with Anthropic thinking models (#33317)
cc @osyvokon 

We were seeing a bunch of errors in our backend when people were using
Claude models with thinking enabled.

In the logs we would see
> an error occurred while interacting with the Anthropic API:
invalid_request_error: messages.x.content.0.type: Expected `thinking` or
`redacted_thinking`, but found `text`. When `thinking` is enabled, a
final `assistant` message must start with a thinking block (preceeding
the lastmost set of `tool_use` and `tool_result` blocks). We recommend
you include thinking blocks from previous turns. To avoid this
requirement, disable `thinking`. Please consult our documentation at
https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking

However, this issue did not occur frequently and was not easily
reproducible. Turns out it was triggered by us not correctly handling
[Redacted Thinking
Blocks](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking#thinking-redaction).

I could constantly reproduce this issue by including this magic string:
`ANTHROPIC_MAGIC_STRING_TRIGGER_REDACTED_THINKING_46C9A13E193C177646C7398A98432ECCCE4C1253D5E2D82641AC0E52CC2876CB
` in the request, which forces `claude-3-7-sonnet` to emit redacted
thinking blocks (confusingly the magic string does not seem to be
working for `claude-sonnet-4`). As soon as we hit a tool call Anthropic
would return an error.

Thanks to @osyvokon for pointing me in the right direction 😄!


Release Notes:

- agent: Fixed an issue where Anthropic models would sometimes return an
error when thinking was enabled
2025-06-24 18:25:06 +02:00
Zed Bot
ca92dfc843 Bump to 0.192.4 for @bennetbo 2025-06-24 14:15:13 +00:00
Bennet Bo Fenner
d4d4512bd7 agent: Ensure tool names are unique (#33237)
Closes #31903

Release Notes:

- agent: Fix an issue where an error would occur when MCP servers
specified tools with the same name

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
2025-06-24 15:58:36 +02:00
gcp-cherry-pick-bot[bot]
f219b4e19d
Implement save functionality for diff view (cherry-pick #33298) (#33302)
Cherry-picked Implement save functionality for diff view (#33298)

Add `can_save` and `save` methods to `DiffView`, enabling users to save
changes made within the diff view.

Release Notes:

- Allow saving changes in the `zed --diff` view

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
2025-06-24 13:23:18 +02:00
gcp-cherry-pick-bot[bot]
4f69449f47
copilot: Remove PromptTokensDetails from Usage struct (cherry-pick #33029) (#33108)
Cherry-picked copilot: Remove PromptTokensDetails from Usage struct
(#33029)

Closes #33024

Release Notes:

- Removed `PromptTokensDetails` from `Usage` as Gemini no longer
supplies cached token data for copilot.

Co-authored-by: Umesh Yadav <23421535+imumesh18@users.noreply.github.com>
2025-06-22 00:51:53 +03:00
gcp-cherry-pick-bot[bot]
7fde6d109e
copilot: Fix config dir logic to support Flatpak environments (cherry-pick #32901) (#33158)
Cherry-picked copilot: Fix config dir logic to support Flatpak
environments (#32901)

Closes #30784

In github copilot we were not handling the config path correctly for
FLATPAK.

* Only tested on mac don't have access to other platform. But this
should work on other platform as well. It follows the similar pattern
seen in zed config path resolution.
- [x] Macos
- [ ] Linux
- [ ] Linux with Flatpak
- [ ] Windows

Release Notes:

- Fix copilot config detection for flatpack

Co-authored-by: Umesh Yadav <23421535+imumesh18@users.noreply.github.com>
2025-06-21 17:35:37 +02:00
Joseph T. Lyons
8771862c2b zed 0.192.3 2025-06-20 10:59:46 -04:00
Piotr Osiewicz
c8d71d6526 docs: Update manifest keys in debugger extension docs (#33085)
This is silly and caused at least one of our users a lot of confusion.

Closes #33040

Release Notes:

- N/A
2025-06-20 10:53:44 -04:00
Anthony Eid
a2c5507373 debugger: Refresh variable list on set variable value response (#33078)
Variable list wasn't notified when a set variable value request was
successfully. This caused the variable list and inline values to show
stale data in some cases, which this PR fixes.

Release Notes:

- debugger: Fix bug where setting a variable's value wouldn't update the
variable list or inline values
2025-06-20 10:53:32 -04:00
Anthony Eid
950c36aaa0 docs: Update development debugger guide to include Zed's debugger (#33080)
Closes #33069 

Release Notes:

- N/A
2025-06-20 10:53:16 -04:00
Piotr Osiewicz
23d89e6b4b debugger: Move breakpoint management to the pane strip (#33062)
Closes #ISSUE

Release Notes:

- debugger: Moved "remove breakpoint" button to the top of a breakpoint
list"
2025-06-20 10:53:02 -04:00
Max Brunsfeld
ebae894774 Fix handling of --diff flag (#33094)
* Restore the ability to combine --diff with other path arguments
* Restore combining --diff with --wait

There is still one defect in the current handling of `--diff`: when Zed
is already open, we'll open the diff view in your current active zed
window. It would be better to search all of the open zed windows for any
window containing the diffed paths, but implementing that is a bit
complex. Currently, the logic for *picking* an existing zed window is
coupled to the logic for opening buffers in that window. I'd like to
decouple it, but I wanted to keep this change small, so that we hotfix
it to stable without too much risk.

Release Notes:

- Fixed a bug where the `--diff` CLI flag did not work with `--wait`

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
2025-06-20 13:03:27 +01:00
gcp-cherry-pick-bot[bot]
0df68f8cb7
Fix pull diagnostics on the remote clients (cherry-pick #33028) (#33030)
Cherry-picked Fix pull diagnostics on the remote clients (#33028)

Also add a test.

Release Notes:

- Fixed pull diagnostics on the remote clients

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
2025-06-19 22:45:40 +03:00
gcp-cherry-pick-bot[bot]
793e1823a4
debugger: Fix issues with debugging scripts from package.json (cherry-pick #32995) (#33044)
Cherry-picked debugger: Fix issues with debugging scripts from
package.json (#32995)

- [x] Pass in cwd
- [x] Use the appropriate package manager
- [x] Don't mix up package.json and composer.json

Release Notes:

- debugger: Fixed wrong arguments being passed to the DAP when debugging
scripts from package.json.

Co-authored-by: Cole Miller <cole@zed.dev>
2025-06-19 14:25:32 -04:00
Joseph T. Lyons
4319bc498f zed 0.192.2 2025-06-19 13:48:14 -04:00
Cole Miller
ce5cc0d15e debugger: Fix issues with debugging scripts from package.json (#32995)
- [x] Pass in cwd
- [x] Use the appropriate package manager
- [x] Don't mix up package.json and composer.json

Release Notes:

- debugger: Fixed wrong arguments being passed to the DAP when debugging
scripts from package.json.
2025-06-19 13:43:19 -04:00
Danilo Leal
13a26bce52 debugger: Refine session modal design (#33004)
This PR makes all footer elements in the debugger session modal more
consistent, as well as fixes some weird UI quirks with leaking borders
and whatnot. Took the opportunity to do some light style clean up and
use `prelude::*` for UI imports.

Release Notes:

- N/A
2025-06-19 13:43:10 -04:00
Jeff Bonhag
506bfb59e7 docs: Ruby debug configuration should be an array (#32991)
Closes #ISSUE

Small correction for something I noticed while setting up the debugger
today.

Release Notes:

- N/A
2025-06-19 13:42:45 -04:00
Mikayla Maki
c51141647c Add a small script to make debugging the CLI easier (#32971)
Release Notes:

- N/A
2025-06-19 13:42:31 -04:00
Danilo Leal
11bd3b3c37 docs: Remove beta tag from Debugger (#32950)
Release Notes:

- N/A
2025-06-19 13:38:30 -04:00
gcp-cherry-pick-bot[bot]
96595aa807
Revert "client: Fix an issue where non-IP proxy URLs didn’t resolve c… (cherry-pick #33013) (#33016)
Cherry-picked Revert "client: Fix an issue where non-IP proxy URLs
didn’t resolve c… (#33013)

This reverts commit bc68455320.

More bugs...

Closes #32838

Release Notes:

- N/A

Co-authored-by: 张小白 <364772080@qq.com>
2025-06-19 17:27:10 +08:00
gcp-cherry-pick-bot[bot]
8c38ed8e37
Fix document colors not showing on file reopen (cherry-pick #33009) (#33010)
Cherry-picked Fix document colors not showing on file reopen (#33009)

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

Release Notes:

- Fixed document colors not showing on file reopen

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
2025-06-19 10:34:11 +03:00
Bennet Bo Fenner
ec3807e09f open_ai: Fix issues with OpenAI compatible APIs (#32982)
Ran into this while adding support for Vercel v0s models:
- The timestamp seems to be returned in Milliseconds instead of seconds
so it breaks the bounds of `created: u32`. We did not use this field
anywhere so just decided to remove it
- Sometimes the `choices` field can be empty when the last chunk comes
in because it only contains `usage`

Release Notes:

- N/A
2025-06-18 19:06:24 -04:00
Danilo Leal
819b5d8e3f agent: Add ability to change the API base URL for OpenAI via the UI (#32979)
The `api_url` setting is one that most providers already support and can
be changed via the `settings.json`. We're adding the ability to change
it via the UI for OpenAI specifically so it can be more easily connected
to v0.

Release Notes:

- agent: Added ability to change the API base URL for OpenAI via the UI

---------

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
2025-06-18 19:06:14 -04:00
Joseph T. Lyons
bcb7c52081 zed 0.192.1 2025-06-18 15:14:19 -04:00
Piotr Osiewicz
d032653510 debugger: Run debug scenarios from package.json (#32958)
Release Notes:

- New session modal for a debugger will now show tasks from package.json
as debuggable scenarios

---------

Co-authored-by: Remco Smits <djsmits12@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
2025-06-18 15:06:33 -04:00
Mikayla Maki
d736e3c766 Fix a bug where --diff wouldn't open the diff (#32962)
Release Notes:

- Fixed a bug where `zed --diff A B` wouldn't open a diff
2025-06-18 15:05:14 -04:00
Piotr Osiewicz
817b1d6eb3 debugger: Add onboarding modal (#32961)
- **debugger: Add debugger onboarding modal (wip)**
- **woops**

Release Notes:

- debugger: Added the onboarding modal.

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Julia Ryan <p1n3appl3@users.noreply.github.com>
2025-06-18 14:54:04 -04:00
Conrad Irwin
b25d19cc2a Wait for source maps when setting TypeScript breakpoints (#32954)
Closes #ISSUE

Release Notes:

- debugger: Fix setting breakpoints in typescript code when debugging
compiled javascript
2025-06-18 14:14:57 -04:00
Joseph T. Lyons
b3f31286d4 v0.192.x preview 2025-06-18 10:51:49 -04:00
Conrad Irwin
45b5b2e60d
Diff view (#32922)
Todo:

* [x] Open diffed files as regular buffers
* [x] Update diff when buffers change
* [x] Show diffed filenames in the tab title
* [x] Investigate why syntax highlighting isn't reliably handled for old
text
* [x] remove unstage/restore buttons

Release Notes:

- Adds `zed --diff A B` to show the diff between the two files

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
2025-06-18 14:43:23 +00:00