Commit log

df96b64 zed 0.119.9

Joseph T. Lyons created

b0a1e25 Merge branch 'main' into v0.119.x

Joseph T. Lyons created

47f2d55 Revert "Use taffy to retrieve the parent for a given layout node" (#4070)

Click to expand commit body
This reverts commit 5904bcf1c20638d63b244a1b2b038ec9a664ba1c.

Release Notes:

- N/A

Antonio Scandurra created

4e0c8dc Revert "Use taffy to retrieve the parent for a given layout node"

Click to expand commit body
This reverts commit 5904bcf1c20638d63b244a1b2b038ec9a664ba1c.

Co-Authored-By: Antonio Scandurra <antonio@zed.dev>

Julia and Antonio Scandurra created

0bf66e4 Call CGGetActiveDisplayList once to avoid panic (#4069)

Click to expand commit body
This contains two changes in order to hopefully avoid the panic we saw
in #panics:

```
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value'
crates/gpui/src/platform/mac/display.rs:30
<backtrace::capture::Backtrace as core::fmt::Debug>::fmt
<backtrace::capture::Backtrace as core::fmt::Debug>::fmt
Zed::init_panic_hook::{closure#0}
std::panicking::rust_panic_with_hook
std::panicking::rust_panic_with_hook
std::sys_common::backtrace::output_filename
<std::panicking::begin_panic_handler::FormatStringPayload as core::panic::PanicPayload>::take_box
core::panicking::panic_fmt
core::panicking::panic
gpui::platform::mac::display::display_bounds_to_native
<gpui::platform::mac::window::MacWindow as gpui::platform::PlatformWindow>::bounds
<gpui::window::WindowContext>::window_bounds_changed
<gpui::window::Window>::new::{closure#1}
gpui::platform::mac::window::view_did_change_backing_properties
<gpui::platform::mac::platform::MacPlatform as gpui::platform::Platform>::run
Zed::main
<core::marker::PhantomData<core::option::Option<Zed::LocationData>> as serde::de::DeserializeSeed>::deserialize::<&mut serde_json::de::Deserializer<serde_json::read::StrRead>>
workspace::open_new::<Zed::restore_or_create_workspace::{closure#0}::{closure#0}::{closure#0}::{closure#2}::{closure#0}>::{closure#0}::{closure#0}
std::rt::lang_start_internal
serde_json::de::from_trait::<serde_json::read::StrRead, core::option::Option<Zed::Panic>>
```

Two changes:
* Reduce the number of calls to `CGGetActiveDisplayList` in the hopes
that this will also reduce chances of it returning an empty list.
Previously, in the worst case, we called it 6 times. Now the worst case
is that we call it 3 times.
* Instead of calling `CGGetActiveDisplayList` to get the primary display
we do what Chromium does and construct the primary display from
NSScreen.

Release Notes:

- Fixed a bug that caused a panic that could happen when Zed attempted
to render on a sleeping display.

Thorsten Ball created

f938bae Use NSScreen to fetch primary display

Click to expand commit body
According to Chromium source, `NSScreen::screens` should always get us
one display.

We made this change because we ran into panics caused by the previous
`unwrap()` when `CGGetActiveDisplayList` might return an empty list.

Thorsten Ball created

03bfe3e Call CGGetActiveDisplayList once to avoid panic

Click to expand commit body
Previously we called CGGetActiveDisplayList twice: once to get the
number of displays and then to get the displays.

We saw a panic due to no displays being returned here. As a first
attempt to fix the panic, we're reducing the amount of calls to
CGGetActiveDisplayList and just do one with the trade-off being that we
pre-allocate 32 pointers in a Vec.

Thorsten Ball created

ed78f70 Fix previous theme not being applied on startup (#4068)

Click to expand commit body
Fixes `[2024-01-16T09:21:54Z ERROR util]
crates/theme/src/settings.rs:172: theme not found: One Light` error from
the log after
https://github.com/zed-industries/zed/commit/d84785f7e8519b30e474385e5a72f5726cf4783e

Release Notes:

- N/A

Kirill Bulatov created

0749664 Fix previous theme not being applied on startup

Kirill Bulatov created

ec3cfc3 Adds a way to select items under multiple carets (#4067)

Click to expand commit body
Deals with https://github.com/zed-industries/community/issues/2374

Release Notes:

- Added a way to select items under multiple carets with
`editor::SelectNext` and `editor::SelectPrevious` commands

Kirill Bulatov created

25abe8f Fix the tests

Kirill Bulatov created

fbb363e Add tests

Kirill Bulatov created

47971ec Add command palette action events (#4065)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

268d156 Add command palette action events

Joseph T. Lyons created

deac172 Restore re-rendering of editors on buffer font size changes (#4064)

Click to expand commit body
Now that views are cached, we need to explicitly `.notify()` text
editors when the buffer font size changes.

* [x] Notify editors when settings change, or adjusting buffer font size
* [x] Figure out why non-focused editors still do not re-render when
adjusting buffer font size
* [x] Reset buffer font size adjustment when the size is updated in the
user's settings

Max Brunsfeld created

d84785f Put back logic for resetting buffer font adjustment on settings change.

Max Brunsfeld created

1e755aa Notify global observers when removing a global

Max Brunsfeld created

8f1633e Iterate from leaf to root when marking views dirty in notify

Max Brunsfeld created

f220323 Fix fallback font (#4062)

Click to expand commit body
As this is used if you mis-spell "buffer_font_family", it should be
monospace.

Also treat "Zed Mono" and "Zed Sans" as valid fonts

Follow up to #4045

Release Notes:

- Fixes font validation to allow "Zed Mono" as a valid font

Conrad Irwin created

8f26289 Notify editors on buffer font size changes

Max Brunsfeld created

e57c32e Avoid playing newly published audio tracks when deafened (#4040)

Click to expand commit body
Release Notes:

- Fixed a bug where the 'deafen' button would only apply to audio from
the call's current participants, but not any participants who joined
after the button was pressed.
- Fixed a bug where after being granted write access to a channel, the
microphone icon appeared non-muted, even though audio was not shared.

Max Brunsfeld created

e90794d Add and enhance tests for muting/deafening, fix exposed logic errors

Max Brunsfeld created

55671ea Select next/previous word for multiple carets if possible

Kirill Bulatov created

acf85db Add more open events (#4061)

Click to expand commit body
Adds open events for

- Welcome page
- Project search
- Project diagnostics

Release Notes:

- N/A

Joseph T. Lyons created

b565c44 Avoid panicking when closing a dragged tab (#4057)

Click to expand commit body
Release Notes:

- Fixed a panic that could occur when closing a tab while dragging it.

Antonio Scandurra created

f0ed80c Fix fallback font

Click to expand commit body
As this is used if you mis-spell "buffer_font_family", it should be
monospace.

Also treat "Zed Mono" and "Zed Sans" as valid fonts

Conrad Irwin created

24db41f Remove debugs

Joseph T. Lyons created

355d1fc Remove button event function

Joseph T. Lyons created

148c294 Removed button event

Joseph T. Lyons created

ba9a9f4 Add more open events

Click to expand commit body
project search
diagnostics
welcome page

Joseph T. Lyons created

9a70a89 Fix project panel being toggled on workspace startup. (#4059)

Click to expand commit body
A sequence of events: Launch Zed -> Quit Zed -> Launch Zed would leave
you with a project panel in a a different state on each open (e.g. if it
is open on 1st one, 2nd run will have it closed). We were essentially
not tracking whether the deserialization took place.

Release Notes:

- Fixed project panel being toggled on/off on startup due to incorrect
tracking of serialization state (solves
https://github.com/zed-industries/community/issues/2406)

Piotr Osiewicz created

e2f08a6 Add LSP logs into the end of the editor, not after its caret (#4060)

Click to expand commit body
Also prevent tabs from being added in readonly editors

Release Notes:

- Fixed LSP logs being inserted into the editor incorrectly
- Fixed `editor::Tab` action inserting tabs in read-only files

Kirill Bulatov created

92add99 Add LSP logs into the end of the editor, not after its caret

Click to expand commit body
Also prevent tabs from being added in readonly editors

Kirill Bulatov created

e60117d Avoid panicking when closing a dragged tab

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

Antonio Scandurra , Max , and Nathan created

1b35b93 Avoid retrieving layout bounds inside of right click menu event handler (#4056)

Click to expand commit body
By the time the event handler is invoked, all information about the
rendered layout tree is gone.

Release Notes:

- N/A

Antonio Scandurra created

e4728b0 Preserve tooltips requested by cached views (#4055)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

a56265e Avoid retrieving layout bounds inside of right click menu event handler

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

Antonio Scandurra , Nathan , and Max created

69bbcba Preserve tooltips requested by cached views

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

Antonio Scandurra , Nathan , and Max created

a92b9ab Fix unaligned close button in tab bar (#4054)

Click to expand commit body
This fixes the close button not being vertically aligned in the tab bar.


## Before
![screenshot-2024-01-15-18 13
49@2x](https://github.com/zed-industries/zed/assets/1185253/edf81b4d-a93a-461a-9835-4aba025cf337)

## After
![screenshot-2024-01-15-18 14
45@2x](https://github.com/zed-industries/zed/assets/1185253/2ae24c8c-9df3-4248-8566-fee6ce8602e0)


---

Release Notes:

- Fixed close-tab button not being vertically aligned in the tab bar.

Thorsten Ball created

b9be214 Fix unaligned close button in tab bar

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

Thorsten Ball and Marshall created

90f4c70 Rename `h_stack` and `v_stack` to `h_flex` and `v_flex`, respectively (#4053)

Click to expand commit body
This PR renames the `h_stack` and `v_stack` to `h_flex` and `v_flex`,
respectively.

We were previously using `h_stack` and `v_stack` to match SwiftUI, but
`h_flex` and `v_flex` fit better with the web/flexbox terminology that
the rest of GPUI uses.

Additionally, we were already calling the utility functions used to
implement `h_stack` and `v_stack` by the new names.

Release Notes:

- N/A

Marshall Bowers created

b136d21 Make tab close button square (#4052)

Click to expand commit body
This PR makes the close button for tabs square.

`IconButton` now accepts a `shape`, and using `IconButtonShape::Square`
will ensure the `IconButton` is square with respect to its contained
icon.

#### Before

<img width="119" alt="Screenshot 2024-01-15 at 10 32 40 AM"
src="https://github.com/zed-industries/zed/assets/1486634/dc806b9b-411f-4cd9-8c10-676d2cbd298b">

#### After

<img width="116" alt="Screenshot 2024-01-15 at 10 32 24 AM"
src="https://github.com/zed-industries/zed/assets/1486634/8b4ef43c-14b6-449f-a235-5d7affd82c4e">

Release Notes:

- Changed the tab close button to be square.

Marshall Bowers created

1da9c8b Rebuild shader header when cbindgen sources have changed (#4051)

Click to expand commit body
This was causing the Metal shaders to incorrectly interpret the
primitives submitted by GPUI, which in turn caused rendering to be
completely borked.

Release Notes:

- N/A

Antonio Scandurra created

ef4831b Prevent storybook dialog from swallowing terminal cursor when ctrl-c-ed (#4050)

Click to expand commit body
Honestly thought this was a bug with our terminal port lol. Turns out
its an oversight in the `dialoguer` crate but its seems pretty easy to
work around so might as well

Release Notes:

- N/A

Julia created

0ff5603 Rebuild shader header when cbindgen sources have changed

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

Antonio Scandurra and Thorsten created

5000a53 Prevent storybook dialog from swallowing terminal cursor when ctrl-c-ed

Julia created

e52a229 gpui: Pin to font-kit with improved OTC parsing performance. (#4047)

Click to expand commit body
Details are in https://github.com/zed-industries/font-kit/pull/1; We're
not doing anything too fancy, really. Still, you should mostly see font
loading times drop significantly for font collections
Release Notes:
- Improved loading performance of large font collections (e.g. Iosevka).
Fixes https://github.com/zed-industries/community/issues/1745,
https://github.com/zed-industries/community/issues/246


https://github.com/zed-industries/zed/assets/24362066/f70edbad-ded6-4c12-9c6d-7a487f330a1b

Piotr Osiewicz created

f061015 Do not run squawk tests outside of PR builds (#4049)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

346103d Do not run squawk tests outside of PR builds

Kirill Bulatov created

fc294ce Disable copilot for feedback and lsp log editors (#4048)

Click to expand commit body
LSP log editor caused recursive flood of messages, and feedback editor
is better with people writing their own feedback.

Release Notes:

- Fixed hanging due to excessive logs when browsing Copilot LSP logs

Kirill Bulatov created