Commit log

582ad04 zed 0.146.5

Joseph T Lyons created

6993bb5 Fix cmd-alt-g b for git blame (#15103)

Click to expand commit body
Broken by #14942 as the matching Pane binding for toggle regex now takes
precedence. cmd-alt-x still works for that.

Release Notes:

- N/A

Conrad Irwin created

1495b95 Bump to 0.146.4 for @SomeoneToIgnore

Zed Bot created

83cbbe0 assistant: Report all worktree entries in /file completions (#15617)

Click to expand commit body
We were reporting file count as worktree entry count, which led to us
missing some of the entries in /file command completion.

/cc @bennetbo

The other components that used `PathMatchCandidateSet` are
`/diagnostics` and file finder. File finder is unaffected, as it used
`Candidates::Files` - thus previously reported count was correct for it;
`/diagnostics` were using `::Entries` as well, so it could miss entries
just like `/files`.

Release Notes:

- Fixed /file and /diagnostics slash commands omitting entries in it's
completions menu.

Piotr Osiewicz created

15ceda5 Return an empty measurement instead of panicking (#15269)

Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/15256

Returns zero size for no items to render.

Incorrect worktree state made the uniform list to have 0 items to
render, so
```Rust
let mut items = (self.render_items)(item_ix..item_ix + 1, cx);
let mut item_to_measure = items.pop().unwrap();
```
panicked as the first line returned an empty array despite a
single-element range provided.


Release Notes:

- N/A

Kirill Bulatov created

cf6f667 regression: Fix a panic when removing git-containing worktree from the project panel (#15256)

Click to expand commit body
Follow-up of #14989

Opening a project with git metadata and clicking "Remove from Project" will panic:
![image](https://github.com/user-attachments/assets/ba00dc55-d299-4edc-9a1f-01e92f0dd9ca)

Release Notes:

- N/A

CharlesChen0823 created

5367605 linux: Update `TryExec` value in desktop file (#15149)

Click to expand commit body
Release Notes:

- Fixed ([#15148](https://github.com/zed-industries/zed/issues/15148)).

Harsh Narayan Jha created

1a0ad7e Properly calculate y offsets for multi buffer context menus (#15594)

Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/14727

Release Notes:

- Fixed multi buffer context menus not showing properly

Co-authored-by: Max Brunsfeld <max@zed.dev>

Kirill Bulatov and Max Brunsfeld created

1c8d937 v0.146.x stable

Joseph T Lyons created

0d1f778 zed 0.146.3

Peter Tripp created

3b5aa8d terminal: Fix ctrl-a keybind on Linux (#15512)

Click to expand commit body
- Disable Terminal ctrl-a (conflicts with readline).
- Standardize modifier order to use ctrl-shift instead of shift-ctrl to match existing keys.
- Move ctrl-shift-c (collab) to \!Terminal context (fix flickering in terminal right click menu).
- Consolidate two Terminal blocks in linux keybind

Peter Tripp created

738552b vim remap 2 (#15193)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

796adf4 zed 0.146.2

Joseph T Lyons created

8368e4c repl: Pass session id to kernel connections (#15389)

Click to expand commit body
Updated runtimelib to 0.14 and passed a kernel session ID through to
identify our client.

Release Notes:

- N/A

Kyle Kelley created

6300a67 repl: Log Jupyter kernel process stderr and stdout (#15391)

Click to expand commit body
Super simple piping of logs from the Jupyter kernels to the Zed logs.

Release Notes:

- Added logging of stderr from Jupyter kernels to the Zed logs

Kyle Kelley created

e80c0f5 Add is_staff and destination to download events (#15445)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

064d7ba Add repl events (#15259)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Kyle Kelley <rgbkrk@gmail.com>

Joseph T. Lyons and Kyle Kelley created

4708951 zed 0.146.1

Peter Tripp created

054e083 Restore linux ctrl-d functionality (#15238)

Click to expand commit body
- Restore `ctrl-d` functionality accidentally removed
- Remove duplicate `ctrl-d` keymap in `Editor` context (dead)

Peter Tripp created

66a41c9 Pin a specific version of `typos` in CI (cherry-pick #15128) (#15252)

Click to expand commit body
Cherry-picked Pin a specific version of `typos` in CI (#15128)

This PR makes it so we pin a specific version of `typos` in CI, rather
than just relying on whatever is already installed or what the latest
version is.

Release Notes:

- N/A

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

gcp-cherry-pick-bot[bot] and Marshall Bowers created

3a8acc9 Fix contributor-scraping code

Joseph T Lyons created

2291137 v0.146.x preview

Joseph T Lyons created

846fc67 repl: Show executing status at the bottom of the outputs while waiting for execution to finish (#15096)

Click to expand commit body
![image](https://github.com/user-attachments/assets/3b43f9d9-6456-42e2-a76a-43887d63309e)

Release Notes:

- N/A

Kyle Kelley created

0843da0 repl: Incorporate moving down to next cell in jupytext mode (#15094)

Click to expand commit body
`jupytext_snippets` now returns back both the jupytext snippets and the
`Point` of the next jupytext snippet.

Release Notes:

- N/A

Kyle Kelley created

9e528db repl: Simplify error output formatting (#15088)

Click to expand commit body
Release Notes:

- N/A

Kyle Kelley created

c6d6c44 Revert "Try blade#144 (#15036)" (#15095)

Click to expand commit body
This reverts commit d034d73af9d335f2a97dbc784999d2b94af58a03.

Release Notes:

- N/A

Conrad Irwin created

9de6d31 feature_flags: Add support for flags that aren't auto-enabled for staff (#15093)

Click to expand commit body
This PR adds support for defining feature flags that aren't auto-enabled
for Zed staff.

This will be useful in situations where we want to land a feature behind
a feature flag, but only want to ship it to certain staff members (e.g.,
the members currently working on it) initially.

Release Notes:

- N/A

Marshall Bowers created

d540c95 settings_ui: Add prototype for settings controls (#15090)

Click to expand commit body
This PR adds a prototype for controlling settings via the settings UI.

Still staff-shipped.

Release Notes:

- N/A

Marshall Bowers created

f7d6818 Sublime swap lines (#15089)

Click to expand commit body
Improved SublimeText keymap (Mac & Linux).

- Add bind for MoveLineUp/Down (`ctrl-shift-up` on linux and `cmd-ctrl-up` on MacOS).

Co-authored-by: unixtensor <brandon@rhpidfyre.io>

Peter Tripp and unixtensor created

06d3dc0 Fix rendering issue with vtsls (#15087)

Click to expand commit body
Before:
<img width="697" alt="Screenshot_2024-07-20_at_20 47 41"
src="https://github.com/user-attachments/assets/bc6db18e-77b9-400b-a917-2545269b7d1b">
After:
<img width="707" alt="Screenshot_2024-07-23_at_22 09 27"
src="https://github.com/user-attachments/assets/a0f6ebe5-fba0-4cc1-8d8b-b1982e2adf95">

Release Notes:

- Fixed multiline details provided by vtsls breaking rendering in
autocompletions

Stanislav Alekseev created

64b15d3 Display blocks over the git hunks (#15083)

Click to expand commit body
Before:

![before](https://github.com/user-attachments/assets/614bbafd-f344-4c86-bd62-fff5f1ab143a)

After:

![after](https://github.com/user-attachments/assets/40a72a46-9fc4-4f94-9090-fb389f824a8d)


Release Notes:

- N/A

Kirill Bulatov created

23c5fc1 chore: Use explicit if let instead of for .. in option (#15086)

Click to expand commit body
Fixes one clippy violation from 1.80 (that's due for release tomorrow).

Release Notes:

- N/A

Piotr Osiewicz created

c43eafb Update the test code to newer realities (#15084)

Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/14886

We do not require the branch to be up-to-date with `main` before
merging, and in 4 days some related test code got reworked so that there
were no conflicts and it slipped.

Release Notes:

- N/A

Kirill Bulatov created

62a890f Increase size of icon buttons within the inline editor (#15051)

Click to expand commit body
This PR increases the size of the the icon buttons within the inline
editors, both within the buffer and on the terminal. I also added
properties to make sure they always render as a square, as well as
tweaking the stop icon SVG, adding an alternative sparkle icon that fit
the same grid as the close (14x14) icon, and adding a bit more right
padding on the buffer's case so it doesn't collide with the scrollbar.
End result is that they have a bit of an easier target space area and
normalized sizes.

---

Release Notes:

- N/A

Danilo Leal created

5ad3c6b inline_assistant: Respect tabs when selection first row is not indented (#14886)

Click to expand commit body
When using the inline assistant with a language such as Go that uses
tabs, if the user selects a block of text that is correctly formatted
and where the first line has no indentation, the `suggested_line_indent`
variable ends up with `IndentSize { len: 0, kind: Space }`. That's
because `suggested_line_indent` current relies on
`BufferSnapshot::suggested_indents` suggestion for the first line on the
selection, but since it is already correctly indented, there are no
suggestions and `MultiBufferSnapshot::indent_size_for_line` is used
instead.


https://github.com/zed-industries/zed/blob/2d96bba61fd9e60951ecfcf697707a974475c1b2/crates/assistant/src/inline_assistant.rs#L2124-L2128

In this patch, we also take a look at the rest of the selection and
detect tabs. If one is encountered, we assume that tabs should always be
used. I suppose this isn't perfect, especially if the original file had
a mix of spaces and tabs, however it seems better than the status quo.

I considered using `BufferSnapshot::language_indent_size_at`, but I
imagine tabs should be preserved even when a specific language isn't
being used.

See screenshot below of the original prompt with this patch.

Tests:

* New unit test
* I've also manually tested with a few other cases: selection where all
lines are indented and file that only use spaces.

Release Notes:

- Fixed 'inline_assistant: tabs are overwritten with space characters
when first line in selection has no indentation'
([#14885](https://github.com/zed-industries/zed/issues/14885)).

<img width="942" alt="image"
src="https://github.com/user-attachments/assets/f2c5d7e9-e8bc-400b-bd6f-09e4a89d22c1">

Artur Rodrigues created

e004a57 Improve project panel settings documentation (#15075)

Click to expand commit body
Improved Project Panel Settings Documentation: The documentation for the
project panel settings has been enhanced for clarity and
comprehensiveness, providing better guidance and examples for users.
Default values have been aligned with project_panel_settings.rs.

Release Notes:

- N/A

schdaniel20 created

babf892 Do not show signature help when editor is not focused (#15080)

Click to expand commit body
Show the help again, if it was not dismissed and the editor regains
focus.

Release Notes:

- N/A

Kirill Bulatov created

faf5ab7 Fix a typo in the remote development docs (#15078)

Click to expand commit body
Uses https://github.com/zed-industries/zed/pull/15015 

Release Notes:

- N/A

Kirill Bulatov created

912b396 Adjust model selector popover design (#15056)

Click to expand commit body
This PR mostly refines the model selector popover design by formatting
the models names' and adjusting spacing/alignment in the list-related
items. The list component changes could've been made in a separate PR
but it was also very practical to do it here as I was already
in-context. Either way, I'm happy to separate if that's better!

One thing I couldn't necessarily figure out, though, is why the order
changed (e.g., Anthropic at last ). I wonder if that was because of the
separator logic somehow? I'd love guidance here—new to Rust!

| Before | After |
|--------|--------|
| <img width="228" alt="Screenshot 2024-07-23 at 21 02 33"
src="https://github.com/user-attachments/assets/3372c6c9-08dc-4d71-9265-26f015e2dbc2">
| <img width="228" alt="Screenshot 2024-07-23 at 21 01 45"
src="https://github.com/user-attachments/assets/624cc7db-a3d9-48e3-99d7-c29829501130">
|

---

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>

Danilo Leal , Marshall Bowers , Bennet Bo Fenner , Antonio , and Antonio Scandurra created

87d9303 Support Jupytext-style line comments for REPL evaluation ranges (#15073)

Click to expand commit body
This adds support for detecting line comments in the
[Jupytext](https://jupytext.readthedocs.io/) format. When line comments
such as `# %%` is present, invoking `repl: run` will evaluate the code
between these line comments as a unit.

/cc @rgbkrk 

```py
# %%
# This is my first block
print(1)
print(2)

# %%
# This is my second block
print(3)
```

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Thorsten <thorsten@zed.dev>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>

Nathan Sobo , Antonio Scandurra , Antonio , Thorsten , and Thorsten Ball created

af4b980 assistant: Fix issues when configuring different providers (#15072)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>

Bennet Bo Fenner and Antonio Scandurra created

ba6c36f repl: Fix repl-over-selection not being Vim-line-wise aware (#15068)

Click to expand commit body
Release Notes:

- N/A

Thorsten Ball created

7644605 docs: Fix default binding for REPL (#15065)

Click to expand commit body
Release Notes:

- N/A

Thorsten Ball created

b4a8f14 linux: Detect shift better (#15013)

Click to expand commit body
Release Notes:

- linux: Fixed typing shortcuts like ctrl-/ on some systems

Conrad Irwin created

c84da37 rpc: Add support for OAEP-based encryption format (#15058)

Click to expand commit body
This PR adds support for a new encryption format for exchanging access
tokens during the authentication flow.

The new format uses Optimal Asymmetric Encryption Padding (OAEP) instead
of PKCS#1 v1.5, which is known to be vulnerable to side-channel attacks.

**Note: We are not yet encrypting access tokens using the new format, as
this is a breaking change between the client and the server. This PR
only adds support for it, and makes it so the client and server can
decrypt either format moving forward.**

This required bumping the RSA key size from 1024 bits to 2048 bits. This
is necessary to be able to encode the access token into the ciphertext
when using OAEP.

This also follows OWASP recommendations:

> If ECC is not available and RSA must be used, then ensure that the key
is at least 2048 bits.
>
> —
[source](https://cheatsheetseries.owasp.org/cheatsheets/Cryptographic_Storage_Cheat_Sheet.html#algorithms)

Release Notes:

- N/A

Marshall Bowers created

edf7f6d Upgrade `rsa` to v0.9.6 (#15055)

Click to expand commit body
This PR upgrades the `rsa` crate to v0.9.6.

The version we were using was rather old, and for something
security-sensitive we should be using a recent version.

No behavioral changes have been made, just updates to account for
changes in the crate's API.

Release Notes:

- N/A

Marshall Bowers created

1307a80 rpc: Add regression tests for encoding/decoding public keys (#15054)

Click to expand commit body
This PR adds some tests to ensure we don't regress in our public key
encoding/decoding capabilities when making changes in this area.

Release Notes:

- N/A

Marshall Bowers created

9d11a6f repl: Detect Conda and Python environments with their own kernel specs (#15047)

Click to expand commit body
Detect kernels in conda and python environments.

Release Notes:

- N/A

Kyle Kelley created

6769e55 Revert "chore: Bump async-tungstenite to 0.23 (and tungstenite to 0.20.1) (#15039)" (#15048)

Click to expand commit body
This reverts commit 4d65f7eea39beeaf9b1952264fe713c0379a0739.

Reverting because it causes auth with collab to break.

Release Notes:

- N/A

Marshall Bowers created

8550480 Update http crate name (#15041)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created