Commit log

ddc2844 zed 0.128.2

Antonio Scandurra created

646b493 Hard code max token counts for supported models (cherry-pick #9675) (#9685)

Click to expand commit body
Cherry-picked Hard code max token counts for supported models (#9675)

Co-authored-by: Nathan Sobo <nathan@zed.dev>

gcp-cherry-pick-bot[bot] and Nathan Sobo created

8ca7b0d zed 0.128.1

Conrad Irwin created

383473c Fix copilot modal (cherry-pick #9613) (#9615)

Click to expand commit body
Cherry-picked Fix copilot modal (#9613)

Release Notes:

- Fixed copilot modal not responding
([#9596](https://github.com/zed-industries/zed/issues/9596)). (preview
only)

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

77b7187 v0.128.x preview

Mikayla created

88857f8 VS Code -> Zed tasks converter (#9538)

Click to expand commit body
We can convert shell, npm and gulp tasks to a Zed format. Additionally, we convert a subset of task variables that VsCode supports.

Release notes:

- Zed can now load tasks in Visual Studio Code task format

---------

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

Anthony Eid , Piotr Osiewicz , and Piotr Osiewicz created

269d251 Add support for applying theme after extension is installed (#9529)

Click to expand commit body
Release Notes:

- Added support for opening the theme selector with installed themes
after installing an extension containing themes.
([#9228](https://github.com/zed-industries/zed/issues/9228)).

<img width="1315" alt="Screenshot 2024-03-20 at 11 00 35 AM"
src="https://github.com/zed-industries/zed/assets/1486634/593389b3-eade-4bce-ae17-25c02a074f21">

---------

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

Jason Lee and Marshall Bowers created

6cec389 ui: Make `top_padding` an associated function on the `TitleBar` (#9577)

Click to expand commit body
This PR makes the function for computing the top padding for the
`TitleBar` an associated function.

Release Notes:

- N/A

Marshall Bowers created

9ab7a22 Fix licensing errors

Antonio Scandurra created

f2394c7 Fix licensing

Antonio Scandurra created

7855b9e Allow to handle autoclosed characters differently (#8666)

Click to expand commit body
Adds the `always_treat_brackets_as_autoclosed` setting to control how
the autoclosed characters are handled.

The setting is off by default, meaning the behaviour stays the same
(following how VSCode handles autoclosed characters).
When set to `true`, the autoclosed characters are always skipped over
and auto-removed no matter how they were inserted (following how Sublime
Text/Xcode handle this).


https://github.com/zed-industries/zed/assets/471335/304cd04a-59fe-450f-9c65-cc31b781b0db


https://github.com/zed-industries/zed/assets/471335/0f5b09c2-260f-48d4-8528-23f122dee45f

Release Notes:

- Added the setting `always_treat_brackets_as_autoclosed` (default:
`false`) to always treat brackets as "auto-closed" brackets, i.e.
deleting the pair when deleting start/end, etc.
([#7146](https://github.com/zed-industries/zed/issues/7146)).

---------

Co-authored-by: Thorsten Ball <mrnugget@gmail.com>

Tim Masliuchenko and Thorsten Ball created

d5e0817 windows: Fix title bar height when maximized (#9449)

Click to expand commit body
screenshots and description incoming

## title bar when window is maximized
| before | after |
| ---    | ---   |
|
![image](https://github.com/zed-industries/zed/assets/1284289/075a943d-54db-4b71-9fa0-15f823255182)
|
![image](https://github.com/zed-industries/zed/assets/1284289/39a1d381-fcfd-4651-aab4-231a8ec3bd99)
|

## ~~caption buttons at 200%~~
~~buttons are now properly responsive at different scales~~
~~closes #9438~~
~~proper scale factor handling in follow up PR (possibly #9440)~~

<details>
  <summary>out of date image</summary>


![scale-factor](https://github.com/zed-industries/zed/assets/1284289/299d37b8-0d2e-4f2e-81db-2fff6fc59a62)
</details>

should be fixed by https://github.com/zed-industries/zed/pull/9456


Release Notes:

- N/A

Ezekiel Warren created

3dadfe4 Channel chat: Add edit message (#9035)

Click to expand commit body
**Summary**:
- Removed reply message from message_menu
- Made render_popover_buttons a bit more reusable
- Fixed issue that you can't close the reply/edit preview when you are
not focusing the message editor
- Notify only the new people that were mentioned inside the edited
message

**Follow up**
- Fix that we update the notification message for the people that we
mentioned already
- Fix that we remove the notification when a message gets deleted.
  - Fix last acknowledge message id is in correct now

**Todo**:
- [x] Add tests
- [x] Change new added bindings to the `Editor::Cancel` event.

Release Notes:

- Added editing of chat messages
([#6707](https://github.com/zed-industries/zed/issues/6707)).

<img width="239" alt="Screenshot 2024-03-09 at 11 55 23"
src="https://github.com/zed-industries/zed/assets/62463826/b0949f0d-0f8b-43e1-ac20-4c6d40ac41e1">
<img width="240" alt="Screenshot 2024-03-13 at 13 34 23"
src="https://github.com/zed-industries/zed/assets/62463826/d0636da2-c5aa-4fed-858e-4bebe5695ba7">

---------

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Remco Smits , Bennet Bo Fenner , and Conrad Irwin created

5139aa3 Fix merge conflict in collab (#9550)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

86a86a9 Fix incorrect git ref check in publish extension cli workflow

Click to expand commit body
Co-authored-by: Marshall <marshall@zed.dev>

Max Brunsfeld and Marshall created

fd11bd6 Perform extension packaging in extension-cli (#9549)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Marshall <marshall@zed.dev>

Max Brunsfeld and Marshall created

85c294d windows: Implement `app_version` (#9410)

Click to expand commit body
#### Call `app_version`:

![Screenshot 2024-03-16
011821](https://github.com/zed-industries/zed/assets/14981363/9e618e49-fee2-4e7a-b884-6b0be05a0c95)

#### `Zed.exe` info:

![Screenshot 2024-03-16
011856](https://github.com/zed-industries/zed/assets/14981363/2b17a5df-ad38-42d0-8396-53680d77101d)


Release Notes:

- N/A

张小白 created

cfa0fc9 wayland: change some borrow_mut to borrow, reduce borrow scopes, fix two crashes (#9306)

Click to expand commit body
Release Notes:

- N/A

Luke Jones created

086f4e6 windows: Properly handle `DPI` (#9456)

Click to expand commit body
As I mentioned before, there are the following issues with how GPUI
handles scale factors greater than 1.0:
1. The title bar buttons do not function correctly, with minimizing
button performing maximization and maximizing button performing closure.
2. As discussed in #8809, setting a scale factor greater than 1.0 causes
GPUI's drawing content to be pushed off the screen.

This PR introduces `LogicalSize` and `PhysicalSize` to differentiate
between coordinate systems for proper GPUI rendering, and now scale
factors above 1.5 are working correctly.

`Zed` with a scale factor equals 1.5, and change between different scale
factors:



https://github.com/zed-industries/zed/assets/14981363/3348536d-8bd3-41dd-82f6-052723312a5b



Release Notes:

- N/A

张小白 created

2c36652 wayland: fix handling of non-discrete scroll events (#9548)

Click to expand commit body
https://github.com/zed-industries/zed/pull/9103 broke touchpad scrolling
on Wayland
This PR correctly filters the `Axis` to handle all non-discrete scroll
events (see
https://wayland.app/protocols/wayland#wl_pointer:enum:axis_source)

Should fix https://github.com/zed-industries/zed/issues/9525

Release Notes:

- N/A

apricotbucket28 created

8ae5a3b Allow AI interactions to be proxied through Zed's server so you don't need an API key (#7367)

Click to expand commit body
Co-authored-by: Antonio <antonio@zed.dev>

Resurrected this from some assistant work I did in Spring of 2023.
- [x] Resurrect streaming responses
- [x] Use streaming responses to enable AI via Zed's servers by default
(but preserve API key option for now)
- [x] Simplify protobuf
- [x] Proxy to OpenAI on zed.dev
- [x] Proxy to Gemini on zed.dev
- [x] Improve UX for switching between openAI and google models
- We current disallow cycling when setting a custom model, but we need a
better solution to keep OpenAI models available while testing the google
ones
- [x] Show remaining tokens correctly for Google models
- [x] Remove semantic index
- [x] Delete `ai` crate
- [x] Cloud front so we can ban abuse
- [x] Rate-limiting
- [x] Fix panic when using inline assistant
- [x] Double check the upgraded `AssistantSettings` are
backwards-compatible
- [x] Add hosted LLM interaction behind a `language-models` feature
flag.

Release Notes:

- We are temporarily removing the semantic index in order to redesign it
from scratch.

---------

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

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

905a240 Add GitHub Action for publishing the extension CLI (#9542)

Click to expand commit body
This PR adds a GitHub Action for publishing the extension CLI.

When the `extension-cli` tag is pushed, this Action will run, build the
`zed-extension` binary, and upload it to DigitalOcean for consumption.

This will allow us to consume the pre-built binary in the CI for the
extensions repo.

Release Notes:

- N/A

---------

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

Marshall Bowers and Max created

2ea333f Insert hitbox if div contains tooltip (#9545)

Click to expand commit body
Release Notes:

- Fixed a bug that would cause certain tooltips to not show up
(preview-only).

Antonio Scandurra created

ac6c4f3 windows: fix 'space' keystroke keydown event (#9476)

Click to expand commit body
the space key was being reported as key " " which didn't allow it to be
used in keybindings

Release Notes:

- N/A

Ezekiel Warren created

fd0071f Add an animation to the LSP checking indicator (#9463)

Click to expand commit body
Spinner go spinny.

Extra thanks to @kvark for helping me with the shaders.



https://github.com/zed-industries/zed/assets/2280405/9d5f4f4e-0d43-44d2-a089-5d69939938e9


Release Notes:

- Added a spinning animation to the LSP checking indicator

---------

Co-authored-by: Dzmitry Malyshau <kvark@fastmail.com>

Mikayla Maki and Dzmitry Malyshau created

56bd96b Image viewer (#9425)

Click to expand commit body
This builds on #9353 by adding an image viewer to Zed. Closes #5251.

Release Notes:

- Added support for rendering image files
([#5251](https://github.com/zed-industries/zed/issues/5251)).

<img width="1840" alt="image"
src="https://github.com/zed-industries/zed/assets/836375/3bccfa8e-aa5c-421f-9dfa-671caa274c3c">

---------

Co-authored-by: Mikayla Maki <mikayla@zed.dev>

Kyle Kelley and Mikayla Maki created

8d515a6 Update binary name for extension CLI (#9541)

Click to expand commit body
This PR updates the binary name used by the extension CLI from
`extension_cli` to `zed-extension`.

Release Notes:

- N/A

Marshall Bowers created

d6b7f14 suggested extensions (#9526)

Click to expand commit body
Follow-up from #9138

Release Notes:

- Adds suggested extensions for some filetypes
([#7096](https://github.com/zed-industries/zed/issues/7096)).

---------

Co-authored-by: Felix Zeller <felixazeller@gmail.com>

Conrad Irwin and Felix Zeller created

7573f35 Simplify and document parts of linux text system code (#9443)

Click to expand commit body
I mainly focused on improving the `font_id` function, see the
description of e286483262e525c64c29d3747838ea9d2bac7bad for more
details. The rest are some drive-by changes I could not resist to.

When I am right about af4d6c43ce87ff5f16ad39c223e13326550010dd, someone
with a Mac could change it there as well.

This PR is probably best reviewed commit by commit :)

cc @gabydd @h3mosphere

Release Notes:

- N/A

---------

Signed-off-by: Niklas Wimmer <mail@nwimmer.me>

Niklas Wimmer created

250528d Windows: Auto close HANDLE (#9429)

Click to expand commit body
`HANDLE` is wrapped in a RAII struct.

Release Notes:

- N/A

Co-authored-by: Mikayla Maki <mikayla@zed.dev>

白山風露 and Mikayla Maki created

868616d Introduce `extension-cli` binary, for packaging extensions in CI (#9523)

Click to expand commit body
This will be used in the
[extensions](https://github.com/zed-industries/extensions) repository
for packaging the extensions that users submit.

Release Notes:

- N/A

---------

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

Max Brunsfeld and Marshall Bowers created

7ef6600 Improve Ruby language to recognize Guardfiles (#9530)

Click to expand commit body
Release Notes:

- Improved Ruby language to recognize Guardfile.

Ben Hamment created

97fbec9 Clean up the live_kit_client manifest file (#9532)

Click to expand commit body
Removes some redundant dependency defenitions and updates one
dependency.

Tobias Decking created

080e25d chore: Merge zed lib with zed binary.

Click to expand commit body
TL;DR:
- shaves off about 0.5 seconds from most of our debug builds.
- It would've slightly regressed release build due to preventing build pipelining, but as a tradeoff I've bumped up codegen-units for zed.

\# What did you come up with this time Piotr
In our zed repository I've noticed that merely *loading dependencies* in each crate takes non-trivial amount of time (~800ms in case of editor).
That is to say, the moment you \`use editor\`, your build time increases by 800ms - this happens just once in crate though, as it looks like compiler has to load .rlibs of all of the referenced dependencies.
This is visible under rustc's self-profile. Repro steps on twitter: https://twitter.com/PiotrOsiewicz/status/1762845413072101567

\# How does this commit alleviate this?
zed lib + zed bin are on critical path of every build and cumulatively take about 3s to build. This commit bundles all of this up into ~2.2s of bin build time instead.

\# Wait, splitting binary targets is good, no?
Splitting up a binary target into lib + bin is generally considered to be a good practice, as you can then reuse the lib part elsewhere if needed.
It also allows the build to kick off the moment metadata for all of the dependencies is available (thus, you don't need to wait for codegen).

However, we do not really use zed as a lib, so the first benefit is not really a thing for us.
The latter *is* indeed something we lose out on in release mode (in dev codegen phase of leaf-ish crates is insignificant, as we use shared generics - thus we don't spend much time codegening).
That's why I've bumped codegen units for zed crate to 16 in release mode to keep build times in tact.

Piotr Osiewicz created

79a424f Add Vue language server auto update (#9474)

Click to expand commit body
For #9401

---------

Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>

Hans and Joseph T. Lyons created

192cd5f Fix file git status refresh on .gitignore update (#9466)

Click to expand commit body
This PR fixes file name coloring in the project panel and tabs when
.gitignore file is updated. It's intended to fix #7831.

There's another, less vivid, problem with git-aware labels coloring.
It's about files that are both ignored and contained in the git index.
I'll file a separate issue for it to keep this fix focused.

Release Notes:

- Fixed file Git status refreshing on .gitignore update (#7831).

Andrew Lygin created

1e1fb21 Merge prost dependecies (#9522)

Click to expand commit body
This patch puts the prost, prost-build, and prost-types dependencies
together and unifies their version. This improves organization a bit in
addition to improving build time slightly, since a redundant version of
prost is now removed.

The dependencies are _not_ updated to the newest versions, because the
newest versions add a dependency on the `protoc` application, which is
not provided by cargo and thus breaks the building process.

Tobias Decking created

0c82585 Bump collab min version (#9521)

Click to expand commit body
We made a change last week to allow creating files with names. This
means some files have null saved_mtime, which old versions of zed panic
on.

A fix is available in 0.126.3 and above

Release Notes:


- N/A

Conrad Irwin created

d8e32c3 linux: scrolling improvements (#9103)

Click to expand commit body
This PR adjusts scrolling to be a lot faster on Linux and also makes
terminal scrolling work.

For Wayland, it makes scrolling faster by handling the `AxisValue120`
event (which also allows high-resolution scrolling on supported mice)
On X11, changed the 1 line per scroll to 3.

### Different solutions

I tried replicating Chromium's scrolling behaviour, but it was
inconsistent in X11/Wayland and found it too fast on Wayland. Plus, it
also didn't match VSCode, since it seems that they do something
different.

Release Notes:

- Made scrolling faster on Linux
- Made terminal scroll on Linux

apricotbucket28 created

c0f8581 Windows: implement symlink (#9508)

Click to expand commit body
Since Windows has a distinction between symlinks for directories and
symlinks for files, the implementation is adapted to this distinction.

Release Notes:

- N/A

白山風露 created

cd9b865 maintain channel subscriptions in RAM (#9512)

Click to expand commit body
This avoids a giant database query on every leave/join event.

Release Notes:

- N/A

Conrad Irwin created

963618a Upgrade Tree-sitter to handle high memory usage and memory errors in wasm parsers (#9518)

Click to expand commit body
Fixes #8528

Release Notes:

- Fixed a crash that could occur when editing certain SQL files.
- Fixed a general class of crashes that could occur due to bugs in
grammars added via extensions.

Co-authored-by: Marshall <marshall@zed.dev>

Max Brunsfeld and Marshall created

18fa84b Fix panic loading language queries (#9506)

Click to expand commit body
Release Notes:

- Fixed a panic when loading a language with queries but no grammar

Conrad Irwin created

f738bfd Don't panic on missing mtime (#9513)

Click to expand commit body
This is expected as of zed 0.128 when a new unsaved file is created

Release Notes:

- Fixed a panic when collaborating with newer zed versions

Conrad Irwin created

afda188 ci: fixup typo (#9511)

Click to expand commit body
Typoed in path in #9509 , mea culpa.

Release Notes:

- N/A

Piotr Osiewicz created

bce6fe4 chore/ci: Fix naming collision in release artifacts. (#9509)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

df94906 Make the cli crate depend on workspace clap (#9507)

Click to expand commit body
This fixes an outstanding TODO.

---------

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

Tobias Decking and Piotr Osiewicz created

7c0a0e2 Add keyboard shortcut to suppress prompt while deleting files/dirs (#9452)

Click to expand commit body
Completes #7228.
Adds back Backspace as the main delete key binding and makes Linux
bindings consistent with macOS

Release Notes:
- ⌘-Delete/⌘-Backspace will now suppress deletion confirmation prompts
in project panel
([#7228](https://github.com/zed-industries/zed/issues/7228)).

Mayfield created

e22d31b windows: Respect "appears transparent" for title bar (#9454)

Click to expand commit body
now respecting the 'appears transparent' titlebar option which is used
in the storybook crate. created for #9453

# storybook

running

```
cargo run -p storybook components/text
```

| before | after |
| ---    | ---   |
|
![image](https://github.com/zed-industries/zed/assets/1284289/88cd93de-4ca9-40d6-aa53-aa7bc65e1f5c)
|
![image](https://github.com/zed-industries/zed/assets/1284289/b3528775-219b-46b7-9f99-da5b88330fbd)
|

Release Notes:

- N/A

Co-authored-by: Mikayla Maki <mikayla@zed.dev>

Ezekiel Warren and Mikayla Maki created

4f8ae13 Update developing_zed__building_zed_windows.md (#9477)

Click to expand commit body
Release Notes:

- N/A

skullcrushercmd created