2f030e3
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.
80da78b
ssh: Capitalize error and connection strings (#19675)
Click to expand commit body
Another tiny PR for the sake of consistency :)
Release Notes:
- N/A
Danilo Leal
created
3b3477c
ssh remoting: Fix wrong working directory for SSH terminals (#19672)
Click to expand commit body
Before this change, we would save the working directory *on the client*
of each shell that was running in a terminal.
While it's technically right, it's wrong in all of these cases where
`working_directory` was used:
- in inline assistant
- when resolving file paths in the terminal output
- when serializing the current working dir and deserializing it on
restart
Release Notes:
- Fixed terminals opened on remote hosts failing to deserialize with an
error message after restarting Zed.
This snuck in when Bennet and I were debugging why our connection to the
SSH host would break. We suspected that somewhere something was logging
to STDOUT and, I guess, we changed all `println!` to `eprintln!`.
Now, two weeks later, I'm sitting here, wondering why the version check
doesn't work anymore. The server always reports a version of `""`.
Turns out we take the command's STDOUT and not STDERR, which is correct.
But it also turns out we started to print the version to STDERR, which
breaks the version check.
One-character bug & one-character fix.
Release Notes:
- N/A
Thorsten Ball
created
1b18726
Use zstd without dynamic linking due to musl usage (#19627)
Click to expand commit body
Due to leaning towards `musl` builds, unit features for `zstd` and link
it statically too for Zed.
https://github.com/gyscos/zstd-rs/blob/bfe1e34f593c2427e9dc35f1b98d06788174711f/zstd-safe/zstd-sys/build.rs#L260
shows that `ZSTD_SYS_USE_PKG_CONFIG` env var can be used to return this
behavior.
Release Notes:
- N/A
- 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`.
Peter Tripp
created
c4060fe
Fix crash in collab when sending worktree updates (#19678)
Click to expand commit body
This pull request does a couple of things:
- In 29c2df73e1448bb510aebfbc954deb067fc88032, we introduced a safety
guard that prevents this crash from happening again in the future by
returning an error instead of panicking when the payload is too large.
- In 3e7a2e5c3067c53bb12cd0c76c6e7b09af7c8fcf, we introduced chunking
for updates coming from SSH servers (previously, we were sending the
whole changeset and initial set of paths in their entirety).
- In 122b5b4, we introduced a panic hook that sends panics to Axiom.
For posterity, this is how we figured out what the panic was:
```
kubectl logs current-pod-name --previous --namespace=production
```
Release Notes:
- N/A
---------
Co-authored-by: Thorsten <thorsten@zed.dev>
Co-authored-by: Bennet <bennet@zed.dev>
Co-authored-by: Kirill <kirill@zed.dev>
Antonio Scandurra
,
Thorsten
,
Bennet
, and
Kirill
created
9dfe4a3
languages: Do not expose unnecessary captures from tasks (#19625)
Click to expand commit body
This tackles an issue with us exposing unnecessary env variables in
environment which are not actually needed for tasks themselves (and may
have little utility), yet come into the way of ssh remoting.
/cc @ConradIrwin
Release Notes:
- N/A
Piotr Osiewicz
created
69b12f4
semantic_index: Disable embeddings index for non-staff (#19618)
Click to expand commit body
This PR disables the embeddings index for non-staff users.
Release Notes:
- N/A
Marshall Bowers
created
c386080
ssh: Ensure long server names (and nicknames) truncate (#19621)
Click to expand commit body
Just polishing the UI a bit more. One drawback of this, though, is that
if you _do_ have a big nickname or server name, with this current
solution, you won't be able to see it. Ideally, we should be able to
hover over it and see it in a tooltip, but the `div` still doesn't
support that out of the box.
| Main modal | Modal header |
|--------|--------|
| <img width="1136" alt="Screenshot 2024-10-23 at 12 49 18"
src="https://github.com/user-attachments/assets/ed5f0222-faa1-49bd-b249-2f22497566d8">
| <img width="1136" alt="Screenshot 2024-10-23 at 12 49 23"
src="https://github.com/user-attachments/assets/5a464b12-99e8-4934-aa6a-c9c4c40ea4d4">
|
Release Notes:
- N/A
Danilo Leal
created
6a0c19f
ssh remoting: Log server version check result (#19622)
Click to expand commit body
Release Notes:
- N/A
Thorsten Ball
created
622c266
docs: Add documentation for `auto_install_extensions` setting (#19559)
Click to expand commit body
Improved: Documenation for (un)installing extensions automatically.
Signed-off-by: Tom Zaspel <tom@zaspel.it>
Co-authored-by: Peter Tripp <peter@zed.dev>
Tom Zaspel
and
Peter Tripp
created
dc4396b
ssh remoting: Fix overflowing host in titlebar (#19619)
1a59b64
Fill the rest of the prompt data when sending to the client (#19616)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/19587
Release Notes:
- N/A
Kirill Bulatov
created
992155c
Update example node settings in default.json to use the correct key for node path (#19607)
Click to expand commit body
Hey team!
I was investigating the new node settings added in #18172, and when
trying to set the node path I noticed that the example settings in
`default.json` use the wrong key for the `node_path` - it should be
`path` instead.
See
[here](https://github.com/zed-industries/zed/blob/19eebcd349d9ea14aa9ec6e0fe178ae26945f52a/crates/zed/src/main.rs#L488)
for where the setting is used.
Release Notes:
- N/A
We have to do `workspace.with_local_workspace`, otherwise we'll try to
open the settings on the remote host.
Release Notes:
- N/A
Thorsten Ball
created
b85af0e
Fall back to handling the abs path for external worktree entries (#19612)
Click to expand commit body
Certain files like Rust stdlib ones can be opened by cmd-clicking on
terminal, editor contents, etc.
Those files will not belong to the current worktree, so a fake worktree,
with a single file, invisible (i.e. its dir(s) will not be shown in the
UI such as project panel), will be created on the file opening.
When the file is closed, the worktree is closed and removed along the
way, so those worktrees are considered ephemeral and their ids are not
stored in the database.
This causes issues on reopening such files when they are closed.
The PR makes Zed to fall back to opening the file by abs path when it's
not in the project metadata, but has the abs path stored in history or
in the opened items DB data.
Release Notes:
- Handle external worktree entries [re]open better
Kirill Bulatov
created
bce1b7a
ssh remoting: Add setting to download binary on host (#19606)
Click to expand commit body
This adds the following optional setting:
```json
{
"remote_server": {
"download_on_host": false
}
}
```
Right now, it's **off by default** because I haven't tested it enough.
Release Notes:
- N/A
Thorsten Ball
created
c292bdd
docs: Improve language server configuration dotted/nested notation example (#19608)
Peter Tripp
created
1cb9f64
ssh: Clean up bits of the main modal UI (#19604)
Click to expand commit body
This PR main relevant change is removing the logic we had inserted for
keyboard nav scroll as that was unreliable; we need to figure out a
better solution still. I'm also removing the visible on hover behavior
for the scrollbar as that was making us lose the click and drag feature
the component has. Lastly, I added a bit of right-margin in the delete
icon button so that's not too crammed with the scrollbar.
Release Notes:
- N/A
Danilo Leal
created
1bded42
ssh: Dismiss file picker when new window is opened (#19600)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
7f64f04
ssh remoting: Ensure only single instance can upload binary (#19597)
Click to expand commit body
This creates a `<binary_path>.lock` file and checks for it whenever
uploading a binary.
Parameters:
- Wait for other instance to finish: 10m
- Mark lockfile as stale and ignore it after: 10m
- When waiting on another process, check every 5seconds
We can tweak all of them.
Ideally we'd have a value in the lockfile, that lets us detect whether
the other process is still there, but I haven't found something stable
yet:
- We don't have a stable PID on the server side when we run multiple
commands
- The `ControlPath` is on the client side
Release Notes:
- N/A
Thorsten Ball
created
375bc88
lsp_log: Add server capabilities view (#19448)
Click to expand commit body
Hello, this PR adds a new view to the LSP servers menu for
displaying an LSP server capabilities.
When I work on LSP stuff, quite often I need to check what capabilities
an LSP server has. Currently there is no built-in way for checking that
in Zed, and I have to use [`LSP
DevTools`](https://lsp-devtools.readthedocs.io) project. LSP DevTools
works OK but it works as a proxy between the client and the server, so
setting it up is not that easy in Zed. Zed already has many goodies for
LSP like tracing and RPC messages, so I thought that a simple view with
server capabilities could be useful too. Thanks!
## Some screenshots:
### Ruby LSP

### New menu entry:

Release Notes:
- N/A
Vitaly Slobodin
created
d53a86b
project_panel: Fix the confusing display when files or directories have the same name in a case-insensitive comparison (#19211)
Click to expand commit body
- Closes #18851
Release Notes:
- Fixed directory name comparison on Linux not considering the case
([#18851](https://github.com/zed-industries/zed/issues/18851))
wannacu
created
6c7e79e
Cap the size of the Supermaven states buffer (#19246)
Click to expand commit body
Caps the size of the Supermaven states buffer to 1000 elements.
Previously, the buffer would grow unbounded so for long sessions the
number of states that the Supermaven autocomplete provider maintains can
be quite large. In practice, states that are sufficiently old are so
unlikely to be visited again that we can regenerate the completion.
Thus, we can cap the buffer to 1000 elements.
Release Notes:
- N/A
- Fixes modal closing when using the remote modal folder
- Fixes a bug with local terminals where they could open in / instead of
~
- Fixes a bug where SSH connections would continue running after their
window is closed
- Hides SSH Terminal process details from Zed UI
- Implement `cmd-o` for remote projects
- Implement LanguageServerPromptRequest for remote LSPs
Release Notes:
- N/A
Mikayla Maki
created
fabc143
Update telemetry docs to not point to specific lines of code (#19583)
Click to expand commit body
The old links pointed to specific lines that were no longer the correct
lines. Let's skip pointing the reader of the docs to a specific line.
Release Notes:
- N/A
Joseph T. Lyons
created
07e086b
Don't upload local settings to ssh remotes (#19577)
Click to expand commit body
Closes: #18618
Release Notes:
- (breaking) SSH Remoting: stop uploading local settings to the remote.
fc7874e
Fix GitHub link for upstream markdown grammer (#19580)
Click to expand commit body
This PR removes an extra slash from the Github link to the upstream
Tree-sitter markdown grammer introduced in #19570 in the cargo-files.
Release Notes:
- N/A
Finn Evers
created
dcb0da0
collab: Return free tier usage from `GET /billing/monthly_spend` (#19578)
Click to expand commit body
This PR updates the `GET /billing/monthly_spend` endpoint to also return
information about the free tier usage.
Release Notes:
- N/A
- Closes #19092
- Closes #15411
Release Notes:
- SSH Remoting: Build with musl (adds support for machines with old, or
no glibc)
Conrad Irwin
created
3319760
Make closing the SSH modal equivalent to cancelling the SSH connection task (#19568)
Click to expand commit body
TODO:
- [x] Fix focus not being on the modal initially
Release Notes:
- N/A
---------
Co-authored-by: Trace <violet.white.batt@gmail.com>
Mikayla Maki
and
Trace
created
f951410
Use upstream tree-sitter-markdown (#19570)
Click to expand commit body
After
https://github.com/tree-sitter-grammars/tree-sitter-markdown/pull/163 ,
no need to use zed-industries fork for tree-sitter-markdown
Release Notes:
- N/A
Kirill Bulatov
created
47ade2f
Check for rsync before downloading updates (#19392)
21a44d7
collab: Prevent users from ending up with multiple active billing subscriptions (#19574)
Click to expand commit body
This PR adds some safeguards to ensure that users do not end up with
multiple active billing subscriptions.
We now do the following:
1. When initiating a checkout, we first make sure the user does not
already have an active subscription.
2. When creating subscriptions in response to Stripe events, we ensure
that we don't already have an active subscription.
Release Notes:
- N/A
Marshall Bowers
created
efd485c
Add file icons for Zig, Julia, SCSS, HCL, Nix, and Roc (#19529)
Conrad Irwin
,
dovakin0007
, and
dovakin0007
created
e93d626
Improve disconnected modal for SSH (#19567)
Click to expand commit body
Closes #ISSUE
Release Notes:
- SSH Remoting: made reconnect modal more robust
Conrad Irwin
created
5dbf68d
editor: Save base buffers when applying changes from their branches (#19562)
Click to expand commit body
This PR makes it so that when we apply changes within a branch
buffer—currently just the edits buffer—we save the underlying buffer.
This also fixes an issue where new files created via edits were not
properly flushed to disk.
Release Notes:
- N/A
---------
Co-authored-by: Max <max@zed.dev>
Marshall Bowers
and
Max
created
d8d84bf
Tell users they can close a stale issue if they can't repro (#19563)
Click to expand commit body
A user commented on this issue to let us know they couldn't reproduce,
which would keep it open for another 6 months. Best we can do is tell
them what to do if they can't repro, which is to close the issue
themselves.
- https://github.com/zed-industries/zed/issues/10671
Release Notes:
- N/A
d80683f
ssh remoting: Fix heartbeat timer and exit conditions (#19557)
Click to expand commit body
This contains a bunch of smallish but nasty fixes:
- Heartbeat timer was never reset after first heartbeat
- Use same return value when stderr is closed as when stdout is closed
- Always check proxy process status since it should also be done when we
get to this point (either it died and our task stopped, or our task
stopped and we dropped the process handle and it was killed on drop)
- make error messages less wrongly-specific
Release Notes:
- N/A
Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball
and
Bennet
created
ab98d48
assistant: Add tracking fields to Codegen for alternative assists (#19467)
Click to expand commit body
Added some tracking fields to Codegen and CodegenAlternatives in order
to collect data for experimentation in a fork.
Release Notes:
- N/A