8515487
agent: Add new thread start buttons to the empty state (#34829)
Click to expand commit body
Release Notes: - N/A
Danilo Leal created
8515487
agent: Add new thread start buttons to the empty state (#34829)
Release Notes: - N/A
Danilo Leal created
19ab1eb
Fix an issue where xkb defined hotkeys for arrows would not work (#34823)
Addresses
https://github.com/zed-industries/zed/pull/34053#issuecomment-3096447601
where custom-defined arrows would stop working in Zed.
How to reproduce:
1. Define custom keyboard layout
```bash
cd /usr/share/X11/xkb/symbols/
sudo nano mykbd
```
```
default partial alphanumeric_keys
xkb_symbols "custom" {
name[Group1]= "Custom Layout";
key <AD01> { [ q, Q, Escape, Escape ] };
key <AD02> { [ w, W, Home, Home ] };
key <AD03> { [ e, E, Up, Up ] };
key <AD04> { [ r, R, End, End ] };
key <AD05> { [ t, T, Tab, Tab ] };
key <AC01> { [ a, A, Return, Return ] };
key <AC02> { [ s, S, Left, Left ] };
key <AC03> { [ d, D, Down, Down ] };
key <AC04> { [ f, F, Right, Right ] };
key <AC05> { [ g, G, BackSpace, BackSpace ] };
// include a base layout to inherit the rest
include "us(basic)"
};
```
2. Activate custom layout with win-key as AltGr
```bash
setxkbmap mykbd -variant custom -option lv3:win_switch
```
3. Now Win-S should produce left arrow, Win-F right arrow
4. Test whether it works in Zed
Release Notes:
- linux: xkb-defined hotkeys for arrow keys should behave as expected.
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Sergei Surovtsev and Conrad Irwin created
722a05b
Wire up stop button in claude threads (#34839)
Release Notes: - N/A --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Agus Zubiaga and Ben Brandt created
5b3e371
gpui: Round `scroll_max` to two decimal places (#34832)
Follow up to #31836 After enabling rounding in the Taffy layout engine, we frequently run into cases where the bounds produced by Taffy and ours slightly differ after 5 or more decimal places. This leads to cases where containers become scrollable for less than 0.0000x Pixels. In case this happens for e.g. hover popovers, we render a scrollbar due to the container being technically scrollable, even though the scroll amount here will in practice never be visible. This change fixes this by rounding the `scroll_max` by which we clamp the current scroll position to two decimal places. We don't benefit from the additional floating point precision here at all and it stops such containers from becoming scrollable altogether. Furthermore, we now store the `scroll_max` instead of the `padded_content_size` as the former gives a much better idea on whether the corresponding container is scrollable or not. | `main` | After these changes | | -- | -- | | <img width="610" height="316" alt="main" src="https://github.com/user-attachments/assets/ffcc0322-6d6e-4f79-a916-bd3c57fe4211" /> | <img width="610" height="316" alt="scroll_max_rounded" src="https://github.com/user-attachments/assets/5fe530f5-2e21-4aaa-81f4-e5c53ab73e4f" /> | Release Notes: - Fixed an issue where scrollbars would appear in containers where no scrolling was possible.
Finn Evers created
8eca7f3
Fix for vim bindings in Pickers on Linux (#34840)
Closes: https://github.com/zed-industries/zed/issues/34780 Also relocated undo/redo selection in the keymap (no-op) as they are from Sublime, not VSCode. Release Notes: - vim: Fixed an issue so `ctrl-w` / `ctrl-h` and `ctrl-u` work in pickers on Linux when Vim mode is enabled.
Peter Tripp created
1a17157
Fix enter to select model in agent panel (#34846)
Broken by #34664 Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
241acbe
Stop onboarding page from showing up instead of welcome page (#34845)
This is from PR #34723 where I was working on developing the onboarding page, but I forgot to switch the first page back to our current version. Release Notes: - N/A
Anthony Eid created
6ea09be
terminal: Handle spaces in cwds of remote terminals (#34844)
Closes #34807 Release Notes: - Fixed "Open in terminal" action not working with paths that contain spaces in SSH projects.
Piotr Osiewicz created
3e50d99
agent: Fix double-lease panic when clicking on thread to jump (#34843)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Piotr Osiewicz created
da8bf9a
Auto-retry agent errors by default (#34842)
Now we explicitly carve out exceptions for which HTTP responses we do *not* retry for, and retry at least once on all others. Release Notes: - The Agent panel now automatically retries failed requests under more circumstances.
Richard Feldman created
589af59
collab: Refresh the LLM token once the terms of service have been accepted (#34833)
Release Notes: - N/A
Bennet Bo Fenner created
254c7a3
Regroup LSP context menu items by the worktree name (#34838)
Also * remove the feature gate * open buffers with an error when no logs are present * adjust the hover text to indicate that difference <img width="480" height="380" alt="image" src="https://github.com/user-attachments/assets/6b2350fc-5121-4b1e-bc22-503d964531a2" /> Release Notes: - N/A
Kirill Bulatov created
b6cf398
docs: Fix PHP docs typo (#34836)
This fixes a minor typo in the PHP docs. Release Notes: - N/A
Balboa Codes created
bc5c5cf
onboarding: Create basic onboarding page (#34723)
Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Anthony Eid and Ben Kunkle created
bf8aba5
collab: Remove unused billing preferences queries (#34830)
This PR removes some billing preferences queries that are no longer in use. Release Notes: - N/A
Marshall Bowers created
e14c947
chore: Pin taffy version (#34827)
Follow-up to 34817 Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Piotr Osiewicz created
97af7e1
collab: Remove `PUT /billing/preferences` endpoint (#34825)
This PR removes the `PUT /billing/preferences` endpoint, as it has been moved to `cloud.zed.dev`. Release Notes: - N/A
Marshall Bowers created
c251f2a
gpui: Throttle interactive resize events on Wayland (#34760)
Wayland compositors can potentially generate thousands of resize requests when drag-resizing a window, which Zed is unable to keep up with. This commit changes the behavior to only resize once per vblank cycle, which helps significantly when resizing the window with a high poll-rate mouse (1000Hz is common these days) Here is an example of the behavior pre and post this commit, with some print-debugging added for tracking resize calls. I have a wireless mouse with a 2000Hz polling rate and a 165Hz display: Before: https://github.com/user-attachments/assets/4c657f90-5fd2-4809-97ef-363fd48e81b8 After: https://github.com/user-attachments/assets/4a0f5fbd-c3c4-40a1-9f71-3b4358c827cf Closes #20660 Release Notes: - Improved: Make resizing smoother on Wayland/Linux
Kamal Ahmad created
cc56196
Fix loading agent server settings (#34662)
Release Notes: - N/A
Agus Zubiaga created
405244d
Display ACP plans (#34816)
Release Notes: - N/A --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Agus Zubiaga and Danilo Leal created
35b4a91
chore: Bump taffy to 0.5.1 (#34817)
We've had problems in the past with bumping past 0.5.2 due to perf regressions reported by @huacnlee; 0.5.1 was fine though. Hence, let's bump taffy to 0.5.1 as a safe bet and then try to push past 0.5.2 (after we identify the root cause of regression Related to #19189 Release Notes: - N/A
Piotr Osiewicz created
56fd950
thread view: Add ability to expand message editor and fix scroll (#34766)
Release Notes: - N/A
Danilo Leal created
88af35f
collab: Add screen selector (#31506)
Instead of selecting a screen to share arbitrarily, we'll now allow user to select the screen to share. Note that sharing multiple screens at the time is still not supported (though prolly not too far-fetched). Related to #4666  Release Notes: - Added screen selector dropdown to screen share button --------- Co-authored-by: Kirill Bulatov <kirill@zed.dev> Co-authored-by: Cole Miller <cole@zed.dev>
Piotr Osiewicz , Kirill Bulatov , and Cole Miller created
57ab09c
claude: Don't quote executable path in mcp configuration (#34805)
This was generating an invalid string for the configuration, removing the extra quotes makes it work. This affected the versions of Zed that have a space in their name. Release Notes: - N/A
Ben Brandt created
caa4b52
gpui: Add tab focus support (#33008)
Release Notes: - N/A With a `tab_index` and `tab_stop` option to `FocusHandle` to us can switch focus by `Tab`, `Shift-Tab`. The `tab_index` is from [WinUI](https://learn.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.control.tabindex?view=winrt-26100) and [HTML tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/tabindex), only the `tab_stop` is enabled that can be added into the `tab_handles` list. - Added `window.focus_next()` and `window.focus_previous()` method to switch focus. - Added `tab_index` to `InteractiveElement`. ```bash cargo run -p gpui --example tab_stop ``` https://github.com/user-attachments/assets/ac4e3e49-8359-436c-9a6e-badba2225211
Jason Lee created
137081f
Misc code cleanups accumulated while working on other changes (#34787)
Release Notes: - N/A
Michael Sloan created
7c1040b
keymap_ui: Auto complete action arguments (#34785)
Supersedes: #34242 Creates an `ActionArgumentsEditor` that implements the required logic to have a JSON language server run when editing keybinds so that there is auto-complete for action arguments. This is the first time action argument schemas are required by themselves rather than inlined in the keymap schema. Rather than add all action schemas to the configuration options we send to the JSON LSP on startup, this PR implements support for the `vscode-json-language-server` extension to the LSP whereby the server will request the client (Zed) to resolve URLs with URI schemes it does not recognize, in our case `zed://`. This limits the impact on the size of the configuration options to ~1KB as we send URLs for the language server to resolve on demand rather than the schema itself. My understanding is that this is how VSCode handles JSON schemas as well. I plan to investigate converting the rest of our schema generation logic to this method in a follow up PR. Co-Authored-By: Cole <cole@zed.dev> Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
ff79b29
Set stripe-mock version to `0.178.0` to match stripe API version used (#34786)
Release Notes: - N/A
Michael Sloan created
2e41e31
component preview: Fix Zed AI onboarding young account preview (#34783)
Release Notes: - N/A
Bennet Bo Fenner created
5f92ac2
docs: Consolidate backend setup docs into local-collaboration.md (#34653)
Simplify docs for mac/linux/windows by consolidating the backend dependencies (collaboration) docs into local-collaboration.md. Most users building zed will not need to do this -- streamline them into getting setup to build the zed client app first. Release Notes: - N/A
Peter Tripp created
fb88de9
Fix error in OpenRouter svg logo (#34764)
Fix a spurious error in Zed logs from the OpenRouter svg Logo introduced in https://github.com/zed-industries/zed/pull/29496: ```log WARN [usvg::parser::svgtree] Failed to parse clip-path value: 'url(#clip0_205_3)'. ``` Release Notes: - N/A
Peter Tripp created
2911130
agent: Fix Mistral tool use error message (#34692)
Closes #32675 Exactly the same changes as in #33640 by @sviande The PR has been in WIP state for 3 weeks with no activity, and the issue basically makes Mistral models unusable. I have tested the changes locally, and it does indeed work. Full credit goes to @sviande, I just want this feature to be finished. Release Notes: - agent: Fixed an issue with tool calling with the Mistral provider (thanks [@sviande](https://github.com/sviande) and [@armyhaylenko](https://github.com/armyhaylenko)) Co-authored-by: sviande <sviande@gmail.com>
Oleksandr Mykhailenko and sviande created
0ffd937
Fix Tailwind support for HTML/ERB files (#34743)
Closes #27118 Closes #34165 Fix a small issue after we landed https://github.com/zed-extensions/ruby/pull/113+ where we introduced `HTML/ERB` and `YAML/ERB` language IDs to improve user experience. Sorry about that. Thanks! Release Notes: - N/A
Vitaly Slobodin created
2da2ae6
gpui: Add use state APIs (#34741)
This PR adds a component level state API to GPUI, as well as a few utilities for simplified interactions with entities Release Notes: - N/A
Mikayla Maki created
4bdac80
collab: Enable automatic tax calculation for all new subscriptions (#34720)
Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
morgankrey and Marshall Bowers created
70bde54
ci: Lint GitHub Actions workflows with actionlint (#34729)
Added [rhysd/actionlint](https://github.com/rhysd/actionlint/) a static
checker for GitHub Actions workflow files.
Install locally with `brew install actionlint` the run with
`actionlint`.
Inspired by: https://github.com/zed-industries/zed/pull/34704 which
yielded this observation:
> In github actions:
> 1. strings are truthy
> 2. `${{ }}` will become a string if it doesn't wrap the whole value.
>
> So `if: false && true` becomes `false`
> and `if: ${{ false && true }}` becomes `false`
> but `if: false && ${{ true }}` becomes `"false && true"` which
evaluates true
> The reason you sometimes need `${{ }}` is because YAML doesn't like
`!`
> so `if: !false` is invalid yaml
> and `if: ${{ !false }}` works just fine.
Changes:
- Add `actionlint` job
- Refactor `job_spec` job to be more readable
- Fix all `actionlint` and `shellcheck` errors in Actions workflows (62
in all)
- Add `self-mini-macos` and `self-32vcpu-windows-2022` labels to
self-hosted runners. Not strictly related, but useful if you need to
take a runner out of the rotation (since `macOS`, `self-hosted`, and
`ARM64` are auto-set and cannot be added/removed).
- Change ci.yml macos_relase to target `self-mini-macos` instead of
`bundle` which was previously deprecated.
This would've caught the error fixed in
https://github.com/zed-industries/zed/pull/34704. Here's what that [job
failure](https://github.com/zed-industries/zed/actions/runs/16376993944/job/46279281842?pr=34729)
would've looked like.
Release Notes:
- N/A
Peter Tripp created
43486c4
Fix enter in branch view (#34731)
Broken by #34664 Release Notes: - N/A
Conrad Irwin created
d197c96
Add stripe-mock to docker compose configuration (#34732)
Release Notes: - N/A
Michael Sloan created
7b6b75b
ci: Skip generating Windows release artifacts (#34704)
Release Notes: - N/A
Peter Tripp created
fd64ee1
keymap ui: Fix remove key mapping bug (#34683)
Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Anthony Eid and Ben Kunkle created
e1d28ff
agent: Add `use_modifier_to_send` setting (#34709)
When `use_modifier_to_send` is turned on, holding `cmd`/`ctrl` is necessary to send a message in the agent panel. Text threads already use `cmd-enter` by default to submit a message, and it was done this way to have the usual text editing bindings not taken over when writing a prompt, sort of stimulating more thoughtful writing. While `enter` to send is still somewhat a huge pattern in chat-like LLM UIs, it still makes sense to allow this for the new agent panel... hence the existence of this setting now! Release Notes: - agent: Added the `use_modifier_to_send` setting, which makes holding a modifier (`cmd`/`ctrl`), together with `enter`, required to send a new message.
Danilo Leal created
64ce696
ui: Add the `SwitchField` component (#34713)
This will be useful for both the current agent panel and some other onboarding stuff we're working on. Also ended up removing the `SwitchWithLabel` as it was unused. Release Notes: - N/A
Danilo Leal created
87555d3
project: Remove clones from git blame serialization (#34727)
Release Notes: - N/A
tidely created
5b18ce7
editor: Ensure topmost buffer header can be properly folded (#34721)
This PR fixes an issue where the topmost header in a multibuffer would jump when the corresponding buffer was folded. The issue arose because for the topmost header, the offset within the scroll anchor is negative, as the corresponding buffer only starts below the header itself and thus the offset for the scroll position has to be negative. However, upon collapsing that buffer, we end up with a negative vertical scroll position, which causes all kinds of different problems. The issue has been present for a long time, but became more visible after https://github.com/zed-industries/zed/pull/34295 landed, as that change removed the case distinction for buffers scrolled all the way to the top. This PR fixes this by clamping just the vertical scroll position upon return, which ensures the negative offset works as expected when the buffer is expanded, but the vertical scroll position does not turn negative once the buffer is folded. Release Notes: - Fixed an issue where folding the topmost buffer in a multibuffer would cause the header to jump slightly.
Finn Evers created
1dd470c
editor: Fix double $ sign on completion accept in PHP (#34726)
Closes #33510 https://github.com/zed-extensions/php/issues/29 If certain language servers do not provide an insert/replace range, we use `surrounding_word` as a fallback for that range, which internally uses `word_characters`. It makes sense to use `completion_query_characters` instead of `word_characters` to get that range, because we use `completion_query_characters` to query completions in the first place. That means, for some hypothetical reason (e.g., if the Tailwind server stops providing insert/replace ranges), we would correctly fall back to the range "bg-blue-200^" instead of "200^", because `completion_query_characters` includes "-" in this case. For this particular fix, right now the default PHP language server `phpactor` does not provide an insert/replace range, and hence completion query character is used, which is `$` in this case. Note that `$` isn't in word characters for reasons mentioned here: https://github.com/zed-extensions/php/issues/14 Release Notes: - Fixed an issue where accepting variable completion in PHP would result in a double $ sign in the prefix.
Smit Barmase created
8bc8d61
theme_importer: Add missing color imports for the minimap thumb (#34724)
These should have been part of https://github.com/zed-industries/zed/pull/30785 but I forgot to add them there. Release Notes: - N/A
Finn Evers created
750ceeb
collab: Don't use `screen-capture` feature from `gpui` (#34725)
This PR removes the `screen-capture` feature from `gpui` when depending on it in `collab`. Release Notes: - N/A
Marshall Bowers created
4476860
Add refinements to the AI onboarding flow (#33738)
This includes making sure that both the agent panel and Zed's edit prediction have a consistent narrative when it comes to onboarding users into the AI features, considering the possible different plans and conditions (such as being signed in/out, account age, etc.) Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com> Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Danilo Leal , Bennet Bo Fenner , and Bennet Bo Fenner created
9a20843
Revert "gpui: Improve path rendering & global multisample anti-aliasing" (#34722)
Reverts zed-industries/zed#29718 We've noticed some issues with Zed on Intel-based Macs where typing has become sluggish, and git bisect has seemed to point towards this PR. Reverting for now, until we can understand why it is causing this issue.
Joseph T. Lyons created
e421fc7
Update keymap context binding behavior of > and ! (#34664)
Now ! means "no ancestors matches this", and > means "any descendent" not "any child". Updates #34570 Co-authored-by: Ben Kunkle <ben@zed.dev> Release Notes: - *Breaking change*. The context predicates in the keymap file now handle ! and > differently. Before this change ! meant "this node does not match", now it means "none of these nodes match". Before this change > meant "child of", now it means "descendent of". We do not expect these changes to break many keymaps, but they may cause subtle changes for complex context queries. --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Conrad Irwin and Ben Kunkle created