Commit log

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)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Danilo <danilo@zed.dev>

Thorsten Ball and Danilo created

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

Jamie Bowers created

e633f62 ssh remoting: Fix opening settings file (#19614)

Click to expand commit body
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

![CleanShot 2024-10-19 at 07 44
38@2x](https://github.com/user-attachments/assets/22c97b49-c539-4e39-a5f1-1c926347abca)


### New menu entry:

![CleanShot 2024-10-19 at 07 45
08@2x](https://github.com/user-attachments/assets/d3903d6e-c09a-40e2-b042-1abde490987d)


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

Kevin Wang created

d0bc84e Fix remoting things (#19587)

Click to expand commit body
- 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.

Conrad Irwin created

48674ec Add paths to connection headers (#19579)

Click to expand commit body
Closes #ISSUE

<img width="562" alt="Screenshot 2024-10-22 at 3 21 22 PM"
src="https://github.com/user-attachments/assets/51afd8e8-b635-4d69-9463-2ccdaabeb955">

<img width="844" alt="Screenshot 2024-10-22 at 3 22 35 PM"
src="https://github.com/user-attachments/assets/ae57c0f8-396c-485d-b5e2-14558da98a18">

Release Notes:

- N/A

---------

Co-authored-by: Trace <violet.white.batt@gmail.com>

Mikayla Maki and Trace created

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

Marshall Bowers created

a9f48bd Try to build with musl on CI (#19571)

Click to expand commit body
- 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)

Peter Tripp created

263e143 macos: Add services menu (#16959)

Peter Tripp created

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)

Click to expand commit body
Release Notes:

- Added file icons for Zig, Julia, SCSS, HCL, Nix, and Roc files.

<img width="733" alt="image"
src="https://github.com/user-attachments/assets/37602be7-173f-40d1-8177-3d35b11d4208">

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Derek Briggs and Marshall Bowers created

7a6550c Do not allow drag and drop of FS entries into the remote projects (#19565)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

23ad470 ssh: Add UI refinements to the remote modals (#19558)

Click to expand commit body
This PR polishes spacing, borders, header design, font size, etc.

Release Notes:

- N/A

Danilo Leal created

6dcec47 Show invisibles in editor (#19298)

Click to expand commit body
Release Notes:

- Added highlighting for "invisible" unicode characters

Closes #16310

---------

Co-authored-by: dovakin0007 <dovakin0007@gmail.com>
Co-authored-by: dovakin0007 <73059450+dovakin0007@users.noreply.github.com>

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

Joseph T. Lyons created

6f6893a Fix reversed prompt in #19533 (#19538)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

7ae25d1 Fix comment when marking issues as stale (#19561)

Click to expand commit body
Oops

<img width="928" alt="image"
src="https://github.com/user-attachments/assets/a16ea5cd-c02d-4add-9b58-853de9aa5ba7">

Release Notes:

- N/A

Joseph T. Lyons created

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

Adam Wolff created

ce11ca9 Don't suggest assistant code actions if it's disabled (#19553)

Click to expand commit body
Closes #19155

Release Notes:

- Fixed code action for "Fix with assistant" appearing when assistant
was disabled.

Richard Feldman created

edda149 Do not remove worktrees after the headless server removal (#19556)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Conrad Irwin <conrad@zed.dev>

Kirill Bulatov and Conrad Irwin created

291ca2c Update Rust crate wasmtime-wasi to v24.0.1 (#19338)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [wasmtime-wasi](https://redirect.github.com/bytecodealliance/wasmtime)
| workspace.dependencies | patch | `24.0.0` -> `24.0.1` |

---

### Release Notes

<details>
<summary>bytecodealliance/wasmtime (wasmtime-wasi)</summary>

###
[`v24.0.1`](https://redirect.github.com/bytecodealliance/wasmtime/releases/tag/v24.0.1)

[Compare
Source](https://redirect.github.com/bytecodealliance/wasmtime/compare/v24.0.0...v24.0.1)

#### 24.0.1

Released 2024-10-09.

##### Fixed

- Fix a runtime crash when combining tail-calls with host imports that
capture a
    stack trace or trap.

[GHSA-q8hx-mm92-4wvg](https://redirect.github.com/bytecodealliance/wasmtime/security/advisories/GHSA-q8hx-mm92-4wvg)

- Fix a race condition could lead to WebAssembly control-flow integrity
and type
    safety violations.

[GHSA-7qmx-3fpx-r45m](https://redirect.github.com/bytecodealliance/wasmtime/security/advisories/GHSA-7qmx-3fpx-r45m)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

3ba2af2 ssh: Expose server address in the title bar (#19549)

Click to expand commit body
This PR exposes the server address (or the nickname, if there is one) on
the title bar and in all modals that have the SSH header. The title bar
tooltip meta description still shows the original server address
(regardless of a nickname existing in this case), though.

<img width="600" alt="Screenshot 2024-10-22 at 10 58 36"
src="https://github.com/user-attachments/assets/64a94d9f-798b-44a4-9dee-6056886535bb">

Release Notes:

- N/A

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

Danilo Leal and Piotr Osiewicz created

d8d8c90 context_servers: Update protocol (#19547)

Click to expand commit body
We sadly have to change the underlying protocol once again. This will
likely be the last change to the core protocol without correctly
handling older versions. From here on out, we want to get better with
version handling. To do so, we introduce the notion of a string protocol
version to be explicit of when the underlying protocol last changed.

The change also changes the return values of prompts. For now we only
allow User messages from servers to match the current behaviour. We will
change this once #19222 lands which will allow slash commands to insert
user and assistant messages.

Release Notes:

- N/A

David Soria Parra created

680b3dd Refine AI context summary prompt (#19530)

Click to expand commit body
Release Notes:

- Improved prompt for generating context editor summaries.

Adam Wolff created

270e13b docs: Document upstream JSONC Prettier issues (#19552)

Peter Tripp created

b3aa705 ssh remoting: Daemonize server process properly by forking and closing stdio (#19544)

Click to expand commit body
This fixes the `ssh` proxy process not being notified when the proxy
process dies. Turns out that the server would have stdout/stderr/stdin
connected to the grand-parent ssh process connected to it and as long as
the server kept running (even once it was daemonized into the
background) the grand-parent ssh process wouldn't exit.

That in turn meant that the Zed client wasn't notified when the proxy
process died.

Release Notes:

- N/A

---------

Co-authored-by: Bennet <bennet@zed.dev>

Thorsten Ball and Bennet created

f16461d Fix Discord link (#19551)

Click to expand commit body
We can't seem to generate invite links that dumps a user directly into a
specific channel, so just adding a general invite link and then pointing
them to the Windows channel name.

Release Notes:

- N/A

Joseph T. Lyons created