Commit log

accb4f8 Cache last used layer_id for StackingOrder (#4211)

Click to expand commit body
This optimizes rendering time by saving computation of the layer_id and
comparison when inserting it into the `BTreeMaps`.


![layer_id_caching](https://github.com/zed-industries/zed/assets/1185253/2944fa3d-586b-4a9a-9dfc-0acf59b77402)

Release Notes:

- Improved rendering performance when a lot of text is being displayed.

Thorsten Ball created

bf843e2 Cache last used layer_id for StackingOrder

Click to expand commit body
This optimizes rendering time by saving computation of the layer_id and
comparison when inserting it into the `BTreeMaps`.

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

Thorsten Ball and Antonio created

ab8585e Remove the `async` modifier from the `workspace_configuration` method

Kirill Bulatov created

f8939fd Trim diagnostic messages to fix rendering bug

Click to expand commit body
Before this change a diagnostic message with a trailing newline (e.g.
`line1\nline2\n`) would be rendered in a `Block` with `line_height: 2`.
But the content we then display in this block had 3 "lines", which
pushed the content out of the block.

This fixes the issue by trimming the newlines at the end from the
diagnostics.

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

Thorsten Ball and Antonio created

351914f Clean up LSP servers on worktree release

Kirill Bulatov created

5a9f1e4 fix local collab tests (#4209)

Click to expand commit body
I was unable to run the collab tests locally because I would run out of
file descriptors.

From some digging it turned out that tokio allocates a new file
descriptor to do work on the CurrentThread using KQUEUE.

We create a new tokio Runtime with each database connection, and these
database connections were being retained by the Client, which is
retained by the Context.

Cleaning up our leaked contexts (and an unrelated retain cycle in the
UserStore) fixes the problem (though does make me
wonder if a different approach might be preferrable).

Release Notes:

- N/A

Conrad Irwin created

ce0833e Fix off-by-one highlighting in hover tooltip (#4206)

Click to expand commit body
rust analyzer has a tendency to return markdown of the form:

```rust
 // <-- note the leading space
blah blah blah
```

This is clearly defectuous, so we used to .trim() the output.

Unfortunately we trim after applying syntax highlighting, so that causes
the output to look goofy.

Fix this by updating the highlighting when we trim.

[[PR Description]]

Release Notes:

- Fixed a bug where syntax highlighting was off in hover tooltips

Conrad Irwin created

309148f Update Channel membership UI (#4203)

Click to expand commit body
* Remove ability to act on people defined in parent channels
* Show promote buttons on guests

Release Notes:

- Improved channel membership manangement

Conrad Irwin created

d4e83e4 Fix docs

Conrad Irwin created

34efb23 Fix a circular reference between Client and UserStore

Click to expand commit body
Before this change once the UserStore had been created, the Client would
never be dropped.

Conrad Irwin created

0b1b758 Fix leaking test contexts

Click to expand commit body
I was unable to run the collab tests locally because I would run out of
file descriptors.

From some digging it turned out that tokio allocates a new file
descriptor to do work on the CurrentThread using KQUEUE.

We create a new tokio Runtime with each database connection, and these
database connections were being retained by the Client, which is
retained by the Context.

Cleaning up our leaked contexts fixes the problem (though does make me
wonder if a different approach might be preferrable).

Conrad Irwin created

3d5bce6 Fix clippy lints in GPUI and finish documenting GPUI modules (#4188)

Click to expand commit body
TODO:
- [x] Clippy pass
- [x] Element / WindowContext refactor
- [x] `geometry `
- [x] `text_system`
- [x] `styled`
- [x] `element_cx`

Release Notes:

- N/A

Mikayla Maki created

a241a13 fix test

Mikayla created

938b84c Finish documenting GPUI

Mikayla created

eab2e21 Document more styling functions

Mikayla created

a99d5b8 WIP: text_system

Mikayla created

0c3fb44 Document geometry

Mikayla created

1902df9 WIP: Start geometry crate

Mikayla created

1f94463 Switch Arc<Mutex<Keymap>> to Rc<RefCell<Keymap>>, a relic of the GPUI2 port.

Click to expand commit body
Make gpui pass clippy

Mikayla created

ba5b969 collab 0.40.0

Max Brunsfeld created

a529a53 Don't allow granting write access to guests who haven't signed the CLA, if the channel requires the zed CLA (#4208)

Max Brunsfeld created

2570808 Add requires_zed_cla column to channels table

Click to expand commit body
Don't allow granting guests write access in a call where the channel
or one of its ancestors requires the zed CLA, until that guest has
signed the Zed CLA.

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

Max Brunsfeld and Marshall created

f2eb78b Avoid overwriting mouse wheel scroll with selection auto-scroll (#4207)

Click to expand commit body
Release Notes:

- Fixed an issue where mouse wheel events could be ignored while
selecting text near the top or bottom of the editor with the mouse.

Julia created

a2aa47a Avoid overwriting mouse wheel scroll with selection auto-scroll

Julia created

fd8d2d4 One off

Conrad Irwin created

92c4c84 Fix the fonts panic and completions in the settings (#4205)

Click to expand commit body
* Do not add fonts' `font_family` into the font completion list, if
there's no corresponding attribute in the font data
* Remove `font_style_name` and `font_name` attribute from the completion
options, since those bring `-Italic`, `-Bold` variants that are not
family names (which we use to load the fonts, so they are useless)

Release Notes:

- Improved font family names completion in the settings

Kirill Bulatov created

a75fa35 Fix the fonts panic

Click to expand commit body
co-authored-by: Piotr <piotr@zed.dev>

Kirill Bulatov and Piotr created

98d514f Fix off-by-one highlighting in hover tooltip

Click to expand commit body
rust analyzer has a tendency to return markdown of the form:

```rust
 // <-- note the leading space
blah blah blah
```

This is clearly defectuous, so we used to .trim() the output.

Unfortunately we trim after applying syntax highlighting, so that causes
the output to look goofy.

Fix this by updating the highlighting when we trim.

Conrad Irwin created

676d2cb collab 0.39.0

Max Brunsfeld created

44c2b8b Add REST APIs for signing the CLA, retrieving users who've signed the CLA (#4202)

Max Brunsfeld created

b9458fe Fix call to get_or_create_user in seed binary

Max Brunsfeld created

03e0089 Fix get_or_create_user test

Max Brunsfeld created

cd7f377 Allow checking CLA signatures by GitHub login

Click to expand commit body
This will be used by CLA Bot.

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

Max Brunsfeld and Marshall created

a9ddef8 Update Channel membership UI

Click to expand commit body
* Remove ability to act on people defined in parent channels
* Show promote buttons on guests

Conrad Irwin created

43c2192 Hide editor hovers when a menu is open (#4200)

Click to expand commit body
Release Notes:

- Fixed a bug where editor hover state could appear while menu open
([#2384](https://github.com/zed-industries/community/issues/2384)).

Conrad Irwin created

56556d7 Add API for retrieving the date that a contributor signed the CLA

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

Max Brunsfeld and Marshall created

6c937c4 Make POST /contributors API idempotent

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

Max Brunsfeld and Marshall created

2bfbd72 Remove unused import? (#4201)

Click to expand commit body
Release builds are currently failing:
https://github.com/zed-industries/zed/actions/runs/7616903969/job/20744857084

It is unclear to me why debug builds are not.

Release Notes:

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

Conrad Irwin created

2445df8 Remove unused import?

Conrad Irwin created

53b47c1 Hide editor hovers when a menu is open

Conrad Irwin created

c5465d2 Fix panel deserialization (#4198)

Click to expand commit body
In the old world, panel loading happened strictly before workspace
deserialization. Now it's inverted.

Fix this by storing on the dock the serialized state so they can restore
state as panels are loaded.

[[PR Description]]

Release Notes:

- Fixed Zed forgetting which panels were open on boot.
([#2406](https://github.com/zed-industries/community/issues/2406)).

Conrad Irwin created

36a8bbf Fix panel deserialization

Click to expand commit body
In the old world, panel loading happened strictly before workspace
deserialization. Now it's inverted.

Fix this by storing on the dock the serialized state so they can restore
state as panels are loaded.

Conrad Irwin created

1981de4 Add REST APIs for getting and adding contributors

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

Max Brunsfeld and Mikayla created

a1c4716 Potential fix for #2422 (#4197)

Click to expand commit body
- it seems like layer.drawable_size() is 0,0 in metal_renderer.rs:189 
- we set this in two places:
    - in response to a CALayerDelegate setFrameSize: event
- in response to a CALayerDelegate viewDidChangeBackingProperties:
event.
- it looks like if we don't set it in either of these cases we get a
different failure mode: the view is zoomed just wrong.
- That said, I can reproduce the screenshot if .scale_factor() returns
0.
- This might happen if [nativeWindow screen] is nil, which happens when
the window is off screen.
    - possible that zed started with offscreen window?
- I would expect that viewDidChangeBackingProperties would fire when
that changed.
    - potential fix: default to 2.0

Release Notes:

- Fixed Zed occasionally rendering blank on laungh
([#2422](https://github.com/zed-industries/community/issues/2422)).

Conrad Irwin created

e896941 Fix certain hovers being cut off (#4196)

Click to expand commit body
Release Notes:

- Fixes a bug where the bottom of hover popovers would be cut off
([#2434](https://github.com/zed-industries/community/issues/2434)).

Mikayla Maki created

72cb865 jk (#4189)

Click to expand commit body
Add support for mapping `jk` to escape in vim mode.

This changes the behaviour of the keymatches when there are pending
matches.

Before: Even if there was a pending match, any complete matches would be
triggered and the pending state lost.

After: If there is a pending match, any complete matches are delayed by
1s, or until more keys are typed.

Release Notes:

- Added support for mapping `jk` in vim mode
([#2378](https://github.com/zed-industries/community/issues/2378)),
([#176](https://github.com/zed-industries/community/issues/176))

Conrad Irwin created

9d221a1 Z index with flicker fix (#4170)

Click to expand commit body
Part of `was_top_layer` was checking if a opaque level starts with the
current stacking order, but now that each entry in the order has an id,
those comparison checks were failing as every entry generated is now
unique

I'll admit I'm still a little fuzzy on the specific reasons for this
function to be defined as it is so I'd appreciate another set of eyes

Release Notes:

- N/A

Julia created

41a99c6 Potential fix for #2422

Conrad Irwin created

6419df8 Fix certain hovers being cut off

Mikayla created

942edbf Run tests even if lint/fmt/spell/squawk fails

Conrad Irwin created