d1880c6
assistant: Add implementation for `/delta` argument completion (#19693)
Click to expand commit body
This PR fixes a panic that could occur when trying to complete arguments
for the `/delta` slash command.
We were using `unimplemented!()` instead of providing a default no-op
implementation like we do for other slash commands that do not support
completing arguments.
Closes https://github.com/zed-industries/zed/issues/19686.
Release Notes:
- Fixed a panic that could occur when trying to complete arguments with
the `/delta` command.
- Closes: https://github.com/zed-industries/zed/issues/19609
Switches us to using `-latest` tags with Anthropic models instead of
pinning to a specific date version.
See: [Anthropic Model
Docs](https://docs.anthropic.com/en/docs/about-claude/models)
This is a no-op for:
- Claude 3 Opus (`claude-3-opus-20240229`)
- Claude 3 Sonnet (`claude-3-sonnet-20240229`)
- Claude 3 Haiku (`claude-3-haiku-20240307`)
For Claude 3.5 Sonnet this will update us from
`claude-3-5-sonnet-20240620` to `claude-3-5-sonnet-20241022`. We will
also pickup any subsequent model updates automatically when Anthropic
updates the `latest` tag.
This matches the behavior for OpenAI where use `gpt-4o` as the
model_name and not `gpt-4o-2024-08-06`.
80799d2
semantic_index: Disable embeddings index for non-staff (cherry-pick #19618) (#19626)
Click to expand commit body
Cherry-picked semantic_index: Disable embeddings index for non-staff
(#19618)
This PR disables the embeddings index for non-staff users.
Release Notes:
- N/A
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
gcp-cherry-pick-bot[bot]
and
Marshall Bowers
created
7ce18af
assistant: Direct user to account page to subscribe for more LLM usage (cherry-pick #19300) (#19301)
Click to expand commit body
Cherry-picked assistant: Direct user to account page to subscribe for
more LLM usage (#19300)
This PR updates the location where we send the user to subscribe for
more LLM usage to the account page.
Release Notes:
- Updated the URL to the account page when subscribing to LLM usage.
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
gcp-cherry-pick-bot[bot]
and
Marshall Bowers
created
474e670
Increase monthly free tier spend from 5 dollars to 10 dollars (#19291)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Richard <richard@zed.dev>
Antonio Scandurra
,
Marshall
, and
Richard
created
fe0bcc0
collab: Add Stripe API key to Kubernetes template (#19292)
Click to expand commit body
This PR adds the Stripe API key to the Kubernetes template.
It's optional right now, so we can set the API key when we're ready.
Release Notes:
- N/A
Marshall Bowers
created
69abe71
ssh remoting: Treat closed stderr as error (#19289)
Click to expand commit body
Before this change we had a race condition bug: if stderr was closed
before the other two sockets, we wouldn't properly detect when the
server died, and not report or retry anything.
That's because we treated a closed stderr as a non-error.
Technically, it isn't an error (closing a connection is okay!), but
until we have a proper shutdown ceremony between all three processes, we
can treat it as an error, because that lets us to detect when the server
is gone.
On the client-side, we also always react to these errors by
reconnecting. Except when we shutdown: there we do a proper shutdown and
won't error on the proxy exit code.
So, this works, even if I wish there was a better way for the server to
communicate to the proxy that it shutdown properly. But I don't want a
fourth socket.
Release Notes:
- N/A
Thorsten Ball
created
9c3d80d
collab: Fetch more meters and prices when initializing `StripeBilling` (#19288)
Click to expand commit body
This PR makes it so we fetch more meters and prices when initializing
`StripeBilling`, as we have more than 10 meters defined.
Release Notes:
- N/A
Marshall Bowers
created
834d50f
Properly open worktrees when cmd-clicking in terminal or on inlay hints (#19280)
Click to expand commit body
* uses the state that's synced, to fetch the language server name
* uses proper, canonicalized path when creating a remote ssh worktree,
otherwise `~/foo/something` stays unexpanded
Release Notes:
- N/A
Kirill Bulatov
created
bcdb10b
Do not attempt to install prettier if the language change is unrelated (#19283)
Click to expand commit body
Release Notes:
- Fix prettier install being attempted too much
Kirill Bulatov
created
598939d
collab: Refresh the user's LLM token when their subscription changes (#19281)
Click to expand commit body
This PR makes it so collab will trigger a refresh for a user's LLM token
whenever their subscription changes.
This allows us to proactively push down changes to their subscription.
In order to facilitate this, the Stripe event processing has been moved
from the `api` service to the `collab` service in order to access the
RPC server.
Release Notes:
- N/A
This restores the change from #19193 that I erroneously reverted in
#19234.
I think the bug in #19275 got in my way when testing.
With that bug fixed, the changes in here also work fine.
Release Notes:
- N/A
Thorsten Ball
created
7d2628e
Make the divider rule color more muted (#19255)
Click to expand commit body
I've been a bit annoyed by the hover divider rule being extremely bright
compared to other divider rules in the UI. This PR updates their color
to use the regular border color from the current theme instead of the
muted (but still pretty bright) text color.
Apologies for the unsolicited PR (and please feel free to close if it
goes against some other plans / designs you already have in place :).
#### Example screenshot before:
<img width="302" alt="Screenshot 2024-10-15 at 23 29 18"
src="https://github.com/user-attachments/assets/7ea22808-8135-4a46-9457-e670225aebaa">
#### Example screenshot after:
<img width="312" alt="Screenshot 2024-10-15 at 23 28 16"
src="https://github.com/user-attachments/assets/63ac0d02-ae6d-4962-84a2-1fdb95519b15">
***
Release Notes:
- Make the divider rule in LSP hovers more muted
Tilman Roeder
created
84df3a0
Allow formatting selections via LSP (#18752)
Click to expand commit body
Release Notes:
- Added a new `editor: format selections` action that allows formatting
only the currently selected text via the primary language server.
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Ihnat Aŭtuška
and
Thorsten Ball
created
eb76065
ssh remoting: Fix hang when activity channel gets dropped (#19275)
Click to expand commit body
When the SSH command dies or the server, the channel gets dropped and
the heartbeat method went into an infinite loop causing a hang.
Oversight from yesterday. Fixed now.
Release Notes:
- N/A
eddf70b
Revert "lsp: Do not notify all language servers on file save" (#19183)
Click to expand commit body
Reverts zed-industries/zed#17756. According to the existing
implementations of the LSP specification, namely
[Helix](https://github.com/helix-editor/helix/blob/a7651f5bf027ec98645d571ab05a685d97e1b772/helix-view/src/document.rs#L1038)
and, if I'm not wrong,
[VSCode](https://github.com/microsoft/vscode-languageserver-node/blob/main/client/src/common/textSynchronization.ts#L580),
`textDocument/didSave` has nothing to do with the watched files and
should be sent to the language servers connected to the buffers even if
the files are not watched by those. As the LSP spec doesn't say anything
about `didSave` being related to the watched files, and the reference
implementation in VSCode seemingly does not filter the notifications
according to those, it seems like this is an incorrect interpretation of
the specification
This also causes issues with language servers. See [Metals
issue](https://github.com/scalameta/metals-zed/issues/28#issuecomment-2410393150)
for example
Closes #18636
Release Notes:
- N/A
Closes #19040
Addresses the problem with annoying error messages on windows (see
comment from SomeoneToIgnore on #18567)
Release Notes:
- Fixed the bug where language servers from PATH would sometimes be
prioritised over the ones from `direnv`
- Stopped running environment loading on windows as it didn't work
anyways due to `SHELL` not being set
Stanislav Alekseev
created
a77ec94
vim: Add support for insert button (#19245)
Click to expand commit body
This commit adds support for using the physical insert-button. First
click toggles insert mode and subsequent clicks toggle back and forth
between replace and insert mode.
Closes #19224
Release Notes:
- Added support for using the insert button for vim_mode.
Axel Carlsson
created
a56f946
Force astro-language-server to be the primary one for Astro (#19266)
Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/19239
Overall, this hardcoding approach has to stop and Zed better show some
notification/modal that proposes to select a primary language server,
when launching with the language that has no such settings.
Release Notes:
- Fixed Astro LSP interactions
Kirill Bulatov
created
f944ebc
Add settings to remote servers, use XDG paths on remote, and enable node LSPs (#19176)
Click to expand commit body
Supersedes https://github.com/zed-industries/zed/pull/19166
TODO:
- [x] Update basic zed paths
- [x] update create_state_directory
- [x] Use this with `NodeRuntime`
- [x] Add server settings
- [x] Add an 'open server settings command'
- [x] Make sure it all works
Release Notes:
- Updated the actions `zed::OpenLocalSettings` and `zed::OpenLocalTasks`
to `zed::OpenProjectSettings` and `zed::OpenProjectTasks`.
---------
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Richard <richard@zed.dev>
Mikayla Maki
,
Conrad
, and
Richard
created
1dda039
remote_server: local build also need feature `debug-embed` (#19265)
Click to expand commit body
it's waste me one more hour. IMO, this also need for `build_local`
Release Notes:
- N/A
CharlesChen0823
created
182230a
Fix C++ configuration documentation (#19258)
This PR refines the SSH modal UI, adjusting spacing and alignment. Via
these changes, I'm also introducing the ability for the `empty_message`
on the `List` component to receive not just a string but any element.
The custom way in which the SSH modal was designed made it feel like
this was needed for proper spacing.
<img width="700" alt="Screenshot 2024-10-16 at 1 20 54 AM"
src="https://github.com/user-attachments/assets/f2e0586b-4c9f-4497-b4cb-e90c8157512b">
Release Notes:
- N/A
Danilo Leal
created
b752548
storybook: Load GPUI with default features (#19253)
Click to expand commit body
This PR makes it so the Storybook loads GPUI with the default features
enabled.
This fixes a panic that would occur when trying to run any of the
stories.
Release Notes:
- N/A
d806df9
Ensure issues without core labels have triage labels (#19243)
Click to expand commit body
Sometimes, issues are created outside of issue templates (which we don't
prefer, but we can't prevent). This updates our top-ranking issues
script such that it will add `triage` and `admin read` labels to any
issue that is missing a core label, so that we don't miss the issues
when doing the next triage.
Release Notes:
- N/A
6951768
project_search: Fix message displayed when no results are found (#19108)
Click to expand commit body
when no result found, always display `Search all files`, which is
confused.
Release Notes:
- Fixed an issue where the project search would sometimes show "Search
all files" when there were no results.
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
CharlesChen0823
and
Marshall Bowers
created
e3c6ba4
ssh remote: Revert #19193 and treat killed proxy as non-zero (#19234)
Click to expand commit body
This does two things.
Important one: it reverts #19193, which lead to our whole process
handling breaking. When the `proxy` process was killed, it apparently
didn't close the stdout/stderr anymore, which meant we would not detect
when it died. (Watching its `status()` in the io loop also didn't work!)
We should figure out how to keep our process handling working before we
make this change in #19193, which sounds reasonable.
Second, less important thing: I think we should treat the process being
killed from a signal as non-zero, as an error.
Release Notes:
- N/A
Thorsten Ball
created
8924b3f
Fix block cursor obscuring placeholder text and editor text in some cases (#18114)
Merge after this:
- https://github.com/zed-industries/extensions/pull/746
Release Notes:
- N/A
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
cabrinha
,
Peter Tripp
, and
Marshall Bowers
created
0eb6bfd
ssh remoting: Treat other message as heartbeat (#19219)
Click to expand commit body
This improves the heartbeat detection logic. We now treat any other
incoming message from the ssh remote server
as a heartbeat message, meaning that we can detect re-connects earlier.
It also changes the connection handling to await futures detached.
Co-Authored-by: Thorsten <thorsten@zed.dev>
Release Notes:
- N/A
---------
Co-authored-by: Thorsten <thorsten@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
Bennet Bo Fenner
,
Thorsten
, and
Antonio
created
4fa75a7
gpui: Improve performance of laying out long lines (#19215)
Click to expand commit body
TL;DR: Another O(n^2) strikes.
In #19194 we received a report about a 7Mb JSON file that Zed struggles
with. Naturally this file showcased a O(n^2) in line layout; this file
has one long line.
During line layout for Mac we have to convert between UTF-16 and UTF-8
indices in the string, as CoreText works with UTF-16 and Rust strings
are UTF-8. The problem stemmed from the fact that we were re-seeking our
string converter on each glyph, which boils down to: we were reparsing
[0..curr_string_position] bytes up to full length of the string, which
is the O(n^2) in question. This PR changes this behaviour to reuse the
Index Converter if the position we're seeking to is not yet reached.
Basically, we're treating the converter as forward iterator and we try
to seek with the same iterator, if possible.
Where previously you could not even open the file in OP (within
reasonable time frame, I waited for 40 seconds before giving up), now
you can do it in.. slightly over a second. The best part is: the
experience is still not ideal. Typing in the buffer is sluggish. Still,
this is a start.
Release Notes:
- Mac: Improved performance with very long lines
Piotr Osiewicz
created
397e4be
ssh remoting: Forward LSP logs to client (#19212)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>