Commit log

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

d36ebc8 Add global `Fs` instance (#15044)

Click to expand commit body
This PR adds a global `Fs` instance to the app context.

This will make it easier to access the filesystem in some cases instead
of having to thread it around.

Release Notes:

- N/A

Marshall Bowers created

5062bf0 repl: Pad the table rows with a fraction of the line height (#15042)

Click to expand commit body
Compute the final height using the number of rows and the constant
fraction.

Ensures we don't accidentally overlap lines below table output.

<img width="663" alt="image"
src="https://github.com/user-attachments/assets/fe24b08d-2271-4dcc-88c7-8702ba4c68b0">


Release Notes:

- N/A

Kyle Kelley created

4d65f7e chore: Bump async-tungstenite to 0.23 (and tungstenite to 0.20.1) (#15039)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

7ae305a Make vim::test_remap less flaky on linux (#15040)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

ba4ff1d chore: Remove clap3 dependency by disabling default features of cbindgen (#15037)

Click to expand commit body
cbindgen pulled that in, but we don't really need it (Plus it pulls in a
dep with an advisory)

Release Notes:

- N/A

---------

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

Piotr Osiewicz and Marshall Bowers created

d034d73 Try blade#144 (#15036)

Click to expand commit body
This pulls in https://github.com/kvark/blade#144 to see if it results in
fewer bad GPU configurations selected

Release Notes:

- linux: Improved graphics card detection

Conrad Irwin created

5f7881f Improve ssh remote error handling and logging (#15035)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

b0c525a inotify alert (#15027)

Click to expand commit body
Release Notes:

- linux: Show an error and troubleshooting steps for inotify limits
(#10310)

Conrad Irwin created