Commit log

e85f190 Fix 0 notes versions being always unread (#9030)

Click to expand commit body
Co-Authored-By: Max <max@zed.dev>
Co-Authored-By: Nathan <nathan@zed.dev>

Release Notes:

- Fixed empty notes always showing as unread

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

Conrad Irwin , Max , and Nathan created

284a57d Fix panic in open urls (#9032)

Click to expand commit body
Co-Authored-By: Nathan <nathan@zed.dev>

Release Notes:

- N/A

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

Conrad Irwin and Nathan created

9068911 wayland: don't dispatch modifier key events (#9027)

Click to expand commit body
Modifier keys are dispatched as events on wayland, unlike macos. This
prevents pending bindings from matching, because something like e.g. `g
shift-e` is received by the key matcher as `g shift shift-e`.

Rom Grk created

27518f4 Fix extension store test failure on main due to wasi-sdk download

Max Brunsfeld created

86748a0 Denormalize buffer operations (#9026)

Click to expand commit body
This should significantly reduce database load on redeploy.

Co-Authored-By: Max <max@zed.dev>
Co-Authored-By: Nathan <nathan@zed.dev>

Release Notes:

- Reduced likelihood of being disconnected during deploys

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

Conrad Irwin , Max , and Nathan created

b5370cd Remove git_commit syntax highlighting from core Zed (#9025)

Click to expand commit body
Fallback to extension
https://github.com/zed-industries/extensions/pull/307

Release Notes:

- Remove git_commit syntax highlighting from Zed core, `git-firefly` extension replaced that

Co-authored-by: William Desportes <williamdes@wdes.fr>
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Co-authored-by: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>

d1y , William Desportes , Kirill Bulatov , and Marshall Bowers created

85e6bc9 Enable `clippy::suspicious_to_owned` (#9004)

Click to expand commit body
Another small change: calling to owned on the `Cow` was cloning the
`Cow`, not its contents and so calling `clone` makes this more explicit

Kirpal Grewal created

105e654 Include `font_features` in cache key for fonts (#8928)

Click to expand commit body
## Release Notes

- Fixed font ligatures not always respecting the setting
([#4313](https://github.com/zed-industries/zed/issues/4313)).

## Preview


![20240306133121_rec_-convert](https://github.com/zed-industries/zed/assets/8667822/dc2aaa00-41d0-4fe9-8d9c-80e1f047894d)

Yesterday17 created

6b89842 Pluralize and order user menu items for consistency (#9013)

Click to expand commit body
Release Notes:

- N/A

Max created

bc7fb9f Show tooltip with item paths for recent project picker items (#8987)

Click to expand commit body
Before

![empty-tooltip](https://github.com/zed-industries/zed/assets/5518/4a00158c-5ae1-4ef9-8686-d4c188a99050)

After

![output](https://github.com/zed-industries/zed/assets/5518/b30f8272-485d-40e1-989a-facd122e96c8)

Release Notes:

- Fixed empty tooltip for recent projects picker items

Jason Lee created

d450fde language: Track buffer dirty state based on edits, not on file contents

Piotr Osiewicz created

4c9c9df Add ZED_SELECTED_TEXT variable to tasks (#8865)

Click to expand commit body
Tasks are able to access a users selected text using the environment
variable "ZED_SELECTED_TEXT".

Release notes:

- Added ZED_SELECTED_TEXT task variable which contains contents of
selection

Anthony Eid created

3a9ec90 task: make ZED_FILE return abs path, for real this time (#9000)

Click to expand commit body
Release Notes:

- Fixed ZED_FILE environment variable containing a relative path, not an
absolute one.

Piotr Osiewicz created

01fe3ee Fix project panel icon bouncing when renaming (#8988)

Click to expand commit body
I found the project panel icon has a little bounce when I tried to
rename some files.

Release Notes:

- Fix project panel icon bouncing when renaming.

## Before



https://github.com/zed-industries/zed/assets/28998859/76f04c33-da68-40e2-9c83-045e78187679

**Set `buffer_line_height` to `standard`**


https://github.com/zed-industries/zed/assets/28998859/9a9eca93-5fda-4060-ba1d-0cd4e0486eb8



## After


https://github.com/zed-industries/zed/assets/28998859/29b49f1c-a9ae-4281-8921-8f1d8dd74262

**Set `buffer_line_height` to `standard`**


https://github.com/zed-industries/zed/assets/28998859/8f1ccbb5-fe0e-4905-97c4-cb7431e5dc46

Floyd Wang created

0a07746 Delete tasks.md

Click to expand commit body
Moved documentation to zed.dev

Joseph T. Lyons created

026cdc6 Update tasks.md

Joseph T. Lyons created

4238793 Add `[x`/`]x` to select larger/smaller syntax node in Vim (#8985)

Click to expand commit body
`[x` will select the larger syntax node, `]x` the smaller one. Inspired
by https://github.com/tpope/vim-unimpaired.

Release Notes:

- Added `[x` and `]x` as default keybindings in Vim mode to select
larger and smaller syntax nodes respectively.

Thorsten Ball created

1a93870 Only 5s of data! (#8983)

Click to expand commit body
This is still 200Mb in production, and takes several minutes to process
and download.

Release Notes:

- N/A

Conrad Irwin created

4f53e6e Update cargo.lock

Conrad Irwin created

75a42c2 Migrate from scrypt to sha256. (#8969)

Click to expand commit body
This reduces the server time to compute the hash from 40ms to 5µs,
which should remove this as a noticable chunk of CPU time in production.

(An attacker who has access to our database will now need only 10^54
years of CPU time instead of 10^58 to brute force a token).

Release Notes:

- Improved sign in latency by 40ms.

Conrad Irwin created

4d2156e Improved message hovering in chat panel (#8977)

Click to expand commit body
Highlights messages on hover and fixed a more concise position for the
popover menu button.

Before:


https://github.com/zed-industries/zed/assets/146845123/39cab30f-659f-4164-a4ac-1dfee796e016

<img width="368" alt="Screenshot 2024-03-07 at 01 08 24"
src="https://github.com/zed-industries/zed/assets/146845123/74f41243-2dc2-4839-a733-9db3109e4665">

<img width="313" alt="Screenshot 2024-03-07 at 01 04 39"
src="https://github.com/zed-industries/zed/assets/146845123/f66c764d-488a-4303-b66e-f75835df6949">

After:


https://github.com/zed-industries/zed/assets/146845123/ac059c0d-7b16-4fd5-bbd7-ca96e1a6dfe1


<img width="368" alt="Screenshot 2024-03-07 at 01 09 42"
src="https://github.com/zed-industries/zed/assets/146845123/fa8940f6-52b4-489d-b0d3-d0e9443e2de2">

<img width="313" alt="Screenshot 2024-03-07 at 01 04 31"
src="https://github.com/zed-industries/zed/assets/146845123/850226f3-2c70-4a90-bb35-4a4cb0b7a219">


Thank you for the help @ConradIrwin and @RemcoSmitsDev !


Release Notes:
- Improved message hovering in chat panel

Evren Sen created

9481b34 Fix issue template formatting (#8866)

Click to expand commit body
Release Notes:
- N/A

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

L and Joseph T. Lyons created

8a92d28 Remove `todo!` comments (#8981)

Click to expand commit body
Switching fully to normal `todo` style

Release Notes:

- N/A

Mikayla Maki created

8be4b4d Support emoji shortcodes in chat (#8455)

Click to expand commit body
Completes: https://github.com/zed-industries/zed/issues/7299

Suggestions


https://github.com/zed-industries/zed/assets/53836821/2a81ba89-4634-4d94-8370-6f76ff3e9403

Automatically replacing shortcodes without using the completions (only
enabled when `message_editor` > `auto_replace_emoji_shortcode` is
enabled in the settings):


https://github.com/zed-industries/zed/assets/53836821/10ef2b4b-c67b-4202-b958-332a37dc088e






Release Notes:

- Added autocompletion for emojis in chat when typing emoji shortcodes
([#7299](https://github.com/zed-industries/zed/issues/7299)).
- Added support for automatically replacing emoji shortcodes in chat
(e.g. typing ":wave:" will be converted to "👋")

---------

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

Bennet Bo Fenner and Conrad Irwin created

c0edb5b GPUI custom window prompts (#8980)

Click to expand commit body
This adds a GPUI fallback for window prompts. Linux does not support
this feature by default, so we have to implement it ourselves.

This implementation also makes it possible for GPUI clients to override
the platform prompts with their own implementations.

This is just a first pass. These alerts are not keyboard accessible yet,
does not reflect the prompt level, they're implemented in-window, rather
than as popups, and the whole feature need a pass from a designer.
Regardless, this gets us one step closer to Linux support :)

<img width="650" alt="Screenshot 2024-03-06 at 5 58 08 PM"
src="https://github.com/zed-industries/zed/assets/2280405/972ebb55-fd1f-4066-969c-a87f63b22a6f">

Release Notes:

- N/A

Mikayla Maki created

c8e03ce Wayland: Support integer scaling without wp_fractional_scale (#8886)

Click to expand commit body
Release Notes:
- N/A

`DoubleBuffered` is not currently very necessary because we only care
about a single field `OutputState::scale` but I think it can be useful
for other objects as it's a fairly common pattern in wayland.

bbb651 created

74e7611 windows: get current display size (#8916)

Click to expand commit body
For the moment the windows port has a single display with hard-coded
values.

This first PR is just to at least fetch the **actual size of the current
display**. The idea
is using this code as a first template to start getting familar with the
code base
and prepare the work for enumerating all displays.

intigonzalez created

0b87be7 Make anchor_in_excerpt Optional (#8975)

Click to expand commit body
We were seeing panics due to callers assuming they had valid
excerpt_ids, but that cannot easily be guaranteed across await points as
anyone may remove an excerpt.

Release Notes:

- Fixed a panic when hovering in a multibuffer

Conrad Irwin created

ae5ec92 Small fixes to task modal & long commands (#8974)

Click to expand commit body
* Show the entire task tooltip on terminal tab hover:
<img width="979" alt="Screenshot 2024-03-07 at 01 40 56"
src="https://github.com/zed-industries/zed/assets/2690773/bc274a5c-70f6-4f3d-87b4-04aff3594089">

* Scroll to the end of the query when a menu label is reused as a query:
<img width="658" alt="Screenshot 2024-03-07 at 01 41 03"
src="https://github.com/zed-industries/zed/assets/2690773/972857f4-36db-49dc-8fa1-dd15e0470660">

Release Notes:

- Improved task modal UX with long bash-like commands

Kirill Bulatov created

ca37d39 add a script to get a flamegraph of collab in production (#8972)

Click to expand commit body
Add `./script/collab-flamegraph` so you can profile in production (or
staging)

Release Notes:

- N/A

Conrad Irwin created

675ae24 Add a command for building and installing a locally-developed Zed extension (#8781)

Click to expand commit body
This PR adds an `zed: Install Local Extension` action, which lets you
select a path to a folder containing a Zed extension, and install that .
When you select a directory, the extension will be compiled (both the
Tree-sitter grammars and the Rust code for the extension itself) and
installed as a Zed extension, using a symlink.

### Details

A few dependencies are needed to build an extension:
* The Rust `wasm32-wasi` target. This is automatically installed if
needed via `rustup`.
* A wasi-preview1 adapter WASM module, for building WASM components with
Rust. This is automatically downloaded if needed from a `wasmtime`
GitHub release
* For building Tree-sitter parsers, a distribution of `wasi-sdk`. This
is automatically downloaded if needed from a `wasi-sdk` GitHub release.

The downloaded artifacts are cached in a support directory called
`Zed/extensions/build`.

### Tasks

UX

* [x] Show local extensions in the Extensions view
* [x] Provide a button for recompiling a linked extension
* [x] Make this action discoverable by adding a button for it on the
Extensions view
* [ ] Surface errors (don't just write them to the Zed log)

Packaging

* [ ] Create a separate executable that performs the extension
compilation. We'll switch the packaging system in our
[extensions](https://github.com/zed-industries/extensions) repo to use
this binary, so that there is one canonical definition of how to
build/package an extensions.

### Release Notes:

- N/A

---------

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

Max Brunsfeld , Marshall , and Marshall Bowers created

e273198 Debounce language server updates (#8953)

Click to expand commit body
We'll send at least one every 100ms, but may send more if other messages
are sent on the connection.

Release Notes:

- Fixed some slowness when collaborating with verbose language servers.

Conrad Irwin created

af87fb9 Implement more GPUI services on windows. (#8940)

Click to expand commit body
### Description

This is a part of #8809 , impl the following functions:

- `os_version`
- `local_timezone`
- `double_click_interval`
- `set_cursor_style`
- `open_url`
- `reveal_path`

Release Notes:
- N/A

---------

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

Small White and Mikayla Maki created

effc317 Fix project panel scrolling position restoration (#8961)

Click to expand commit body
Project panel loses the last scrolling position every time the user
hides/shows it. This PR fixes the problem.

The reason of the problem is that `UniformListScrollHandle`, which is
intended to store the scrolling position between redrawings, is only
used for ad-hoc autoscrollings to the list items, while the
`interactivity.scroll_handle` that is responsible for the scrolling
position, doesn't survive the project panel hiding.

How the problem looks:


https://github.com/zed-industries/zed/assets/2101250/7c7e3da6-9a9d-4f28-a181-ee9547349d4c

Release Notes:

- Fixed scrolling position restoration in the Project Panel.

Andrew Lygin created

6bbd09e Emit the WorktreeUpdatedEntries event for all projects, not just local (#8963)

Click to expand commit body
Fixes a regression introduced in
https://github.com/zed-industries/zed/pull/8846 (which hasn't yet been
released), in which the project panel didn't update correctly for remote
projects when collaborating.

Release Notes:

- N/A

Max Brunsfeld created

06035da windows: more frequent frame requests (#8921)

Click to expand commit body
Note rust analyzer running in background now without keyboard/mouse
movement.

![](https://media.discordapp.net/attachments/1208481909676576818/1214769879098597416/high-framerate-windows.gif?ex=65fa519c&is=65e7dc9c&hm=4c9ba72fa3c3c548964e46d9c07f0c0bf9545ed9a9ae11495101dcae5db06d59&=)

Release Notes:

- Improved frame rate on Windows

Ezekiel Warren created

8357039 Set the default DPI awareness for Zed (#8936)

Click to expand commit body
### Description

This is a part of #8809 


Release Notes:
- N/A

Small White created

59faef5 Update `mio` (#8935)

Click to expand commit body
### Description
This is a part of #8809 

Update mio from 0.8.8 to 0.8.11.

When using named pipes on Windows, mio will under some circumstances
return invalid tokens that correspond to named pipes that have already
been deregistered from the mio registry. The impact of this
vulnerability depends on how mio is used. For some applications, invalid
tokens may be ignored or cause a warning or a crash. On the other hand,
for applications that store pointers in the tokens, this vulnerability
may result in a use-after-free.

### Connections

[named-pipes: fix receiving IOCP events after deregister
#1760](https://github.com/tokio-rs/mio/pull/1760)

[Windows Named pipes invalid memory access
#6369](https://github.com/tokio-rs/tokio/issues/6369)


Release Notes:

- N/A

Small White created

a0fac38 prevent empty cwd in terminal view (#8924)

Click to expand commit body
closes #8825

Release Notes:

- N/A

Ezekiel Warren created

8352f39 Improve bindings to better match VS-Code (#8584)

Click to expand commit body
Release Notes:

- Changed default keybindings in the VS Code keymap so that
`alt-[up|down]` now move lines up/down and`alt-shift-[up|down]`
duplicate lines up/down. Previous bindings for selecting larger/smaller
syntax nodes are now bound to `ctrl-shift-[left|right]`.
([#4652](https://github.com/zed-industries/zed/issues/4652))([#7151](https://github.com/zed-industries/zed/issues/7151))

---------

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

Edvard Høiby and Thorsten Ball created

850dddd v0.127.x dev

Joseph T. Lyons created

563c4db Install perf tools in production containers (#8957)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

8eb0239 Remove console-subscriber (#8955)

Click to expand commit body
It doubles CPU and RAM usage for not really enough benefit

Release Notes:

- N/A

Conrad Irwin created

deb86a1 Fix ./script/symbolicate on Preview crashes (#8956)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

b622dcb Enable `clippy::cast_abs_to_unsigned` (#8912)

Click to expand commit body
Thankfully this one is a simple, single change that also prevents
overflow in the `abs()`

Kirpal Grewal created

2f15676 Update App Menus to add `...` for some modal action menu, and group menu items by type. (#8951)

Click to expand commit body
Release Notes:

- Improved App Menu, add `...` for modal action menu, and group menu
items by type.

In macOS and Windows, the `...` suffix of menu item, is means that will
open a dialog.

Jason Lee created

4a60326 Remove workspace border, avoid the main window having double borders (#8922)

Click to expand commit body
Release Notes:

- Fixed main window border, avoid double borders.



## Diff (Left is Before, Right is After)


![SCR-20240306-g2v](https://github.com/zed-industries/zed/assets/5518/b13bab55-9d74-4181-ae43-e338bb6f7112)

![SCR-20240306-g0x](https://github.com/zed-industries/zed/assets/5518/af9d4190-a974-4c26-8466-dce1c78c3f31)




Reference to Safari:

![SCR-20240306-ejo](https://github.com/zed-industries/zed/assets/5518/14c41898-8218-4bec-8574-8915a7186926)


## More Theme tests

![SCR-20240306-g0d](https://github.com/zed-industries/zed/assets/5518/8938671e-bc7c-4a6a-8c06-0992beb92bb1)

![SCR-20240306-g0j](https://github.com/zed-industries/zed/assets/5518/73a68663-70f5-4f83-aea0-2079236079e7)

![SCR-20240306-g0q](https://github.com/zed-industries/zed/assets/5518/0a2b4905-3dd1-4081-b538-a78728470004)



![SCR-20240306-fu9](https://github.com/zed-industries/zed/assets/5518/dd3a9e2c-ea28-46c6-a993-047dae8b2d8f)

Jason Lee created

567fee4 Update `Project search` to `Project Search`. (#8943)

Click to expand commit body
Release notes:

- N/A

Jason Lee created

6036830 Throttle the sending of UpdateFollowers messages (#8918)

Click to expand commit body
## Problem

We're trying to figure out why we sometimes see high latency when
collaborating, even though the collab server logs indicate that messages
are not taking long to process.

We think that high volumes of certain types of messages, including
`UpdateFollowers` may cause a lot of messages to queue up, causing
delays before collab sees certain messages.

## Fix

This PR reduces the number of `UpdateFollowers` messages that clients
send to collab when scrolling around or moving the cursor, using a
time-based throttle.

The downside of this change is that scrolling will not be as smooth when
following someone. The advantage is that it will be much easier to keep
up with the stream of updates, since they will be sent much less
frequently.

## Release Notes:

- Fixed slowness that could occur when collaborating due to excessive
messages being sent to support following.

---------

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

Max Brunsfeld , Nathan , Conrad , Antonio Scandurra , Thorsten , and Thorsten Ball created

c8383e3 Use a string for ZED_LOAD_BALANCER_SIZE_UNIT in k8s template

Click to expand commit body
Co-Authored-By: Thorsten <thorsten@zed.dev>

Antonio Scandurra and Thorsten created