Commit log

965d685 collab 0.40.2

Joseph T. Lyons created

3b70171 v0.120.x stable

Joseph T. Lyons created

9b79f04 zed 0.120.4

Conrad Irwin created

6c69f4e Simplify Membership Management (#6747)

Click to expand commit body
Simplify Zed's collaboration system by:
- Only allowing member management on root channels.
- Disallowing moving sub-channels between different roots.
- Disallowing public channels nested under private channels.

This should make the mental model easier to understand, and makes it
clearer
who has what access. It is also significantly simpler to implement, and
so
hopefully more performant and less buggy.

Still TODO:
- [x] Update collab_ui to match.
- [x] Fix channel buffer tests.

Release Notes:

- Simplified channel membership management.

Conrad Irwin created

4ad3cf7 collab fixes (#6720)

Click to expand commit body
- Fail faster on serialization failure
- Move expensive participant update out of transaction

Release Notes:

- Fixed creating/moving channels in busy workspaces

Conrad Irwin created

a15b307 collab errors (#4152)

Click to expand commit body
One of the complaints of users on our first Hack call was that the error
messages you got when channel joining failed were not great.

This aims to fix that specific case, and lay the groundwork for future
improvements.

It adds two new methods to anyhow::Error

* `.error_code()` which returns a value from zed.proto (or
ErrorCode::Internal if the error has no specific tag)
* `.error_tag("key")` which returns the value of the tag (or None).

To construct errors with these fields set, you can use a builder API
based on the ErrorCode type:

* `Err(ErrorCode::Forbidden.anyhow())`
* `Err(ErrorCode::Forbidden.message("cannot join channel").into())` - to
add any context you want in the logs
* `Err(ErrorCode::WrongReleaseChannel.tag("required", "stable").into())`
- to add structured metadata to help the client handle the error better.


Release Notes:

- Improved error messaging when channel joining fails.

Conrad Irwin created

27320f0 zed 0.120.3

Conrad Irwin created

09331d6 Fix panic when typing umlauts in command palette using Vim mode (#6761)

Click to expand commit body
Release Notes:

- This fixes a panic that occurs when someone was using Vim mode and
typing umlauts into the command palette. E.g: `:%s/impërt`

Thorsten Ball created

8650a3d Upgrade alacritty_terminal in hopes to avoid PTY poll failing (#6715)

Click to expand commit body
We saw stack traces in our #panic channel pop up that failed on this
line:

https://github.com/zed-industries/alacritty/blob/33306142195b354ef3485ca2b1d8a85dfc6605ca/alacritty_terminal/src/event_loop.rs#L323-L324

With this message:

thread 'PTY reader' panicked at 'called `Result::unwrap()` on an `Err`
value: Os { code: 9, kind: Uncategorized, message: "Bad file descriptor"
}'

/Users/administrator/.cargo/git/checkouts/alacritty-afea874b09a502a5/3330614/alacritty_terminal/src/event_loop.rs:324

We don't know how to reproduce the error. It doesn't seem related to the
number of open PTY handles, because `openpty` itself didn't fail. We can
only assume that something went wrong between `openpty` and the setup of
the polling.

Since Alacritty itself changed its polling mechanism significantly by
switching from `mio` to `polling`
(https://github.com/alacritty/alacritty/pull/6846) we upgraded with the
hope that this will fix the bug.

Release Notes:

- Upgraded alacritty_terminal to newest version in order to hopefully
fix a rare panic that can occur when starting a new terminal.

Thorsten Ball created

dc9f3af zed 0.120.2

Conrad Irwin created

9c62880 Fix circular locking in prompts (#6456)

Click to expand commit body
Sometimes Cocoa calls app delegate methods (notably the display link)
while we're calling Cocoa methods. This causes a deadlock unless we
are careful to run cocao methods while we're not holding our internal
locks

Release Notes:

- Fixed a crash when opening the MacOS Save As dialogue.

Conrad Irwin created

80f9dc3 Use the correct snapshot when calculating mouse positions (#6453)

Click to expand commit body
Release Notes:

- Fixed a panic in calculating remote cursor positions

Conrad Irwin created

e8873b5 Fix crash in feedback modal (#6431)

Click to expand commit body
After the general release we saw a number of crashes due to a SEGFAULT
inside the
System::new() method apparently relating to refreshing the user list.

As we do not need the user list, and the similar code in the telemtry
create is not crashing,
do less work for now.

Release Notes:

- Fixed a crash when opening the feedback modal

Conrad Irwin created

ffbd5a4 zed 0.120.1

Mikayla created

20d35fd Revert "Ensure that notify observations are sent during `Window::draw()`" (#6152)

Click to expand commit body
Reverts zed-industries/zed#4236

This causes an infinite loop when opening the language server logs

Mikayla Maki created

ddc437e v0.120.x preview

Joseph T. Lyons created

f654b89 Make it clearer that macOS Sonoma is supported (#4249)

Click to expand commit body
This PR updates the docs to make it clearer that macOS Sonoma is
supported.

Release Notes:

- N/A

Marshall Bowers created

4665b9a Improve startup time (#4248)

Click to expand commit body
Since our last measurements, startup time in Zed had regressed quite
significantly. This was due to several issues:

- We were loading IBMPlex, which we're not really using in the UI.
- Images were being parsed in the foreground, thus blocking the main
thread
- Language models (for semantic index and assistant) were being loaded
in the foreground, thus blocking the main thread
- Interaction with the keychain was blocking the main thread

In addition to these, with this pull request we will now deserialize the
items for a pane in parallel, as opposed to doing so sequentially.

All combined, when running the zed binary directly this brings startup
time from ~350ms to ~210ms on my machine.

Release Notes:

- Improved startup time.

Antonio Scandurra created

25a7eb2 Move interaction with keychain off the main thread

Antonio Scandurra created

2ce24dc Fix tab bar button's focus handling lagging behind (#4247)

Click to expand commit body
This fixes https://github.com/zed-industries/community/issues/2442 for
me.

Previously, the tab bar buttons would stay when the chat panel was
opened (and received focus) until something else was drawn (or caused a
render?)

With this change, the tab bar buttons are only shown if the pane was
focus.

I'm not sure about the side-effects of this, but the toolbar still seems
to work fine.

### Before


https://github.com/zed-industries/zed/assets/1185253/24b56e51-467b-4a09-909f-72ee6f76f32c

### After



https://github.com/zed-industries/zed/assets/1185253/18865f49-d00e-453a-8a38-aee15f06beb8



### Release Notes:

- (Added|Fixed|Improved) ...
([#<public_issue_number_if_exists>](https://github.com/zed-industries/community/issues/<public_issue_number_if_exists>)).

Thorsten Ball created

b9218ae Add module documentation to GPUI and make gpui.rs example compile (#4241)

Click to expand commit body
[[PR Description]]

Release Notes:

- N/A

Mikayla Maki created

0d0c85a Fix typo in comment

Piotr Osiewicz created

fe2cb9f fixup! pane: Another stab at focus flickers in tab bar

Piotr Osiewicz created

0497b2f pane: Another stab at focus flickers in tab bar

Click to expand commit body
This time around, we address the flicker seen in #3857 by querying the active item (that might've just been added),
as it knows whether it has focus even if the parent Pane does not.

Co-authored-by: Thorsten <thorsten@zed.dev>

Piotr Osiewicz and Thorsten created

22046ef Load language models in the background

Antonio Scandurra created

92b0184 Load images in the background

Antonio Scandurra created

e3157f7 Remove unused font

Antonio Scandurra created

e4604eb Parallelize deserialization of pane items on startup

Click to expand commit body
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>

Antonio Scandurra and Mikayla Maki created

526ea40 Log if element arena allocation is >80% (#4246)

Click to expand commit body
We recently doubled the size of the `ELEMENT_ARENA` after someone ran
into a panic due to the arena running out of space.

This adds some logging so that we can hopefully develop a better
understanding of when the element area's allocation is elevated.

Release Notes:

- N/A

Antonio Scandurra created

027f425 Fix tab bar button's focus handling lagging behind

Click to expand commit body
This fixes https://github.com/zed-industries/community/issues/2442 for
me.

Previously, the tab bar buttons would stay when the chat panel was
opened (and received focus) until something else was drawn (or caused a
render?)

With this change, the tab bar buttons are only shown if the pane was
focus.

I'm not sure about the side-effects of this, but the toolbar still seems
to work fine.

Thorsten Ball created

e018506 Cache font-missing result to avoid unnecessary lookups (#4245)

Click to expand commit body
This fixes the performance problem we saw in
https://github.com/zed-industries/community/issues/2405.

In a trace we could see that if a font is missing we'd constantly look
it up and never cache that it's missing.

This changes that and does cache the font-is-missing result.

Drawback is that one would need to restart Zed after installing a
missing font that was configured in settings. That seems acceptable for
now, though.

Release Notes:

- Improved rendering performance when configured fonts are missing on
the system.

Thorsten Ball created

18f5752 Log if element arena allocation is >80%

Click to expand commit body
We recently doubled the size of the `ELEMENT_ARENA` after someone ran
into a panic due to the arena running out of space.

This adds some logging so that we can hopefully develop a better
understanding of when the element area's allocation is elevated.

Co-authored-by: Antonio <antonio@zed.dev>

Thorsten Ball and Antonio created

4800991 Cache font-missing result to avoid unnecessary lookups

Click to expand commit body
This fixes the performance problem we saw in https://github.com/zed-industries/community/issues/2405.

In a trace we could see that if a font is missing we'd constantly look
it up and never cache that it's missing.

This changes that and does cache the font-is-missing result.

Drawback is that one would need to restart Zed after installing a
missing font that was configured in settings. That seems acceptable for
now, though.

Co-authored-by: Antonio <antonio@zed.dev>

Thorsten Ball and Antonio created

bd6197e Increase capacity of element arena to 8MB (#4244)

Click to expand commit body
This fixes a panic we just saw on nightly. It's the first time we see
this panic, so I think it's pretty safe to assume having twice as much
capacity will fix it.

Release Notes:

- Fixed a crash that could sometimes occur when the window contained
lots of graphical elements.

Antonio Scandurra created

b640e0e Increase capacity of element arena to 8MB

Click to expand commit body
This fixes a panic we just saw on nightly. It's the first time we
see this panic, so I think it's pretty safe to assume having twice as
much capacity will fix it.

Antonio Scandurra created

ce0ff81 Fix more tests

Mikayla created

fa6acc3 Add note about discord

Mikayla created

c0b9f0a Update JetBrains keymap (#4243)

Click to expand commit body
I want to immediately archive the `keymaps` repo tomorrow. This is the
only change that needs to be brought over.

Release Notes:

- N/A

Joseph T. Lyons created

1facc9f Fix test error

Mikayla created

ce7cd5a Copy GPUI documentation to README

Mikayla created

1d63902 Update JetBrains keymap

Joseph T. Lyons created

d80959d Add module documentation to GPUI and make gpui.rs example compile

Mikayla created

c07e416 Clean up `gpui` docs (#4240)

Click to expand commit body
This PR does some cleanup of the `gpui` docs, making sure we're linking
things appropriately and following good Rust documentation style.

Release Notes:

- N/A

Marshall Bowers created

1aa02ac Ensure that notify observations are sent during `Window::draw()` (#4236)

Click to expand commit body
This PR fixes a bug in GPUI where the observation API would not be
triggered if a focus event caused a `notify()`

Release Notes:

- N/A

Mikayla Maki created

ab3aba9 Add `CODE_OF_CONDUCT.md` (#4239)

Click to expand commit body
This PR adds a `CODE_OF_CONDUCT.md` that links out to the existing code
of conduct on the Zed site.

The link in the file is currently a dead link, but will work once the
new site goes live tomorrow.

Release Notes:

- N/A

Marshall Bowers created

6b50509 Balance headings in README (#4238)

Click to expand commit body
This PR balances the headings in the README.

Release Notes:

- N/A

Marshall Bowers created

a936aab Update README (#4237)

Click to expand commit body
This PR updates the README by removing the TODO items and linking out to
the contributing docs.

Release Notes:

- N/A

Marshall Bowers created

68260a4 Don't error when checking target dir size if there is no target dir

Max Brunsfeld created

8336300 Call notify observers during `Window::draw()`

Mikayla created

26c901e Fix bugs in file finder (#4234)

Click to expand commit body
* Fixed jumping of list item when the separator appeared and
disappeared.
* Fixed a bug where the selection got into a valid state when updating
the matches

Release Notes:

- Fixed an issue where the file finder's selection got into a state
where nothing was selected after filtering the matches.

Max Brunsfeld created