Commit log

f8e4fd0 collab 0.36.0

Conrad Irwin created

a520336 Use the `.selected` style for buffer search option buttons (#4000)

Click to expand commit body
This PR updates the `IconButton`s used to control the buffer search
options to use the `.selected` state to denote when they are active.
This matches what we are doing in the project search.

This should improve the contrast in certain themes.

Release Notes:

- Improved the active style for the search options in buffer search.

Marshall Bowers created

aff119b Fix possessive "its" in docs and comments (#3998)

Click to expand commit body
This PR fixes a number of places where we were incorrectly using "it's"
where we needed to use the possessive "its".

Release Notes:

- N/A

Marshall Bowers created

1c77104 chore: Enable asset compression

Click to expand commit body
This reduces size of release binary by ~20% from 134MB to 107MB without noticeable slowdown on startup. Assets are decompressed granularly, on first access

Piotr Osiewicz created

1d000f1 Fix uniform_list scrolling logic (#3996)

Click to expand commit body
Release Notes:

- Fixed theme selector not showing currently selected theme on open

Kirill Bulatov created

c197ea4 Simplify uniform list scrolling logic

Kirill Bulatov created

f57ff1c Make the scroll position updated as soon as possible to the correct deferred value

Click to expand commit body
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>

Kirill Bulatov and Antonio Scandurra created

927e0db An attempt to defer scrolls during empty initial state

Kirill Bulatov created

bbccf48 Disable synthetic drag for drag and drop (#3995)

Click to expand commit body
New drag and drop is capable of emitting fake mouse events already, no
need to fake it more.

Release Notes:

- Fixed excessive pane regions flicker on certain drag and drop state

Kirill Bulatov created

6809b92 Disable synthetic drag on drag and drop

Click to expand commit body
Otherwise, conflicting MouseMove events are generated and page regions start to flicker.

Kirill Bulatov created

3c2ebc3 Prototype cursor sharing (the inefficient way) (#3970)

Click to expand commit body
Release Notes:

- Sync guest users' cursor positions

Conrad Irwin created

5d3f561 guest promotion (#3969)

Click to expand commit body
Release Notes:

- Adds the ability to promote read-only guests to read-write
participants in calls

Conrad Irwin created

2ca4627 Fix some tests (mostly more run_until_parked's...)

Conrad Irwin created

8ceb9fd Run migrations on development server start (#3971)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

45baad2 Remove or fix stale todos (#3990)

Click to expand commit body
The software equivalent of dusting

Release Notes:

-

Mikayla Maki created

e786e22 And a few more todos

Mikayla created

9ce7ef8 Remove the last of the major todos

Mikayla created

8cb291b Take a different approach to rendering channel buttons (#3991)

Click to expand commit body
This PR changes the approach we're using to render the channel buttons
to use a more straightforward (and less hacky) approach.

### Motivation

Even with the variety of hacks that were employed to make the current
approach work, there are still a number of issues with the current
solution:

- Hovering in the empty space to the left of a channel doesn't correctly
apply the hover background to the container for the channel buttons
- Hovering to the very right of the collab panel (right on top of the
drag handle) causes the channel button container to apply its hover
background without applying it to the rest of the row
- The buttons would still get pushed off to the right by the indent
space in the channel tree, resulting in jagged indicators at small sizes

Additionally, the rectangular background placed behind the channel
buttons still didn't look great when it overlapped with the channel
names.

### Explanation

For these reasons, I decided to explore a simpler approach that
addresses these issues, albeit with some tradeoffs that I think are
acceptable.

We now render the absolutely-positioned button container as a sibling
element of the `ListItem`. This is to avoid issues with the container
getting pushed around based on the contents of the `ListItem` rather
than staying absolutely positioned at the end of the row.

We also have gotten rid of the background for the button container, and
now rely on the background of the individual `IconButton`s to occlude
the channel name behind them when the two are overlapping.

Here are some examples of the new UI in various configurations:

#### When the channel entry is hovered

<img width="270" alt="Screenshot 2024-01-09 at 6 15 24 PM"
src="https://github.com/zed-industries/zed/assets/1486634/0207a129-30eb-4067-8490-3b6c9cbf75ea">

#### Overlapping with the channel name

<img width="229" alt="Screenshot 2024-01-09 at 6 15 43 PM"
src="https://github.com/zed-industries/zed/assets/1486634/0a67507e-45c8-4325-a71e-d416edc3a115">

#### Narrow collab panel

<img width="116" alt="Screenshot 2024-01-09 at 6 16 07 PM"
src="https://github.com/zed-industries/zed/assets/1486634/887ebaa3-e4d6-4497-9141-afcc8b7cd356">

### Tradeoffs

The new approach comes with the following tradeoffs that I am currently
aware of:

The occlusion can look a little weird when the icons are in the middle
of a channel name (as opposed to fully occluding the end of the channel
name):
<img width="190" alt="Screenshot 2024-01-09 at 6 24 32 PM"
src="https://github.com/zed-industries/zed/assets/1486634/0062b806-1b8f-47eb-af8d-f061d9829366">

Hovering one of the icons causes the icon to be hovered instead of the
row:

<img width="232" alt="Screenshot 2024-01-09 at 6 31 38 PM"
src="https://github.com/zed-industries/zed/assets/1486634/cbcc1a45-64d2-4890-8ad6-c5a5ee961b86">

Release Notes:

- Improved the way channel buttons are displayed.

Marshall Bowers created

276bfa0 Merge branch 'main' into guest-promotion

Conrad Irwin created

4da9d61 Implement live kit promotion/demotion

Conrad Irwin created

ed263a7 Resolve more todos

Mikayla created

80790d9 Fix / remove small todos

Mikayla created

684bd53 ui: Fix doc tests (#3989)

Click to expand commit body
There were a ton of doc tests that weren't compiling in the `ui` crate,
so this PR fixes them.

Release Notes:

- N/A

Marshall Bowers created

68d0b46 Remove unnecessary mutexes from livekit client types (#3984)

Click to expand commit body
We had introduced these mutexes at a time when `gpui2` required app
entities to be `Sync`, but they are no longer needed. Removing them now
because we're trying to find out why we're sometimes getting crashes and
deadlocks in livekit, and we didn't before.

Max Brunsfeld created

0daa2bf Fix panic in set_scroll_anchor_remote (#3987)

Click to expand commit body
If the remote sends us an invalid scroll position, we should not panic.

Release Notes:

- Fix a panic receiving scroll positions out of order

Conrad Irwin created

18e537a Do not dismiss buffer search when any modal is present (#3988)

Click to expand commit body
Release Notes:

- Fixed buffer search being dismissed not after the modals are

Kirill Bulatov created

8b71b1d Do not dismiss buffer search when any modal is present

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

Kirill Bulatov and Piotr Osiewicz created

a579ef1 Rename `Shape` to `AvatarShape` (#3986)

Click to expand commit body
This PR renames the `Shape` enum to `AvatarShape`, since it seems pretty
specific to `Avatar`s.

Release Notes:

- N/A

Marshall Bowers created

a46947d Fix panic in set_scroll_anchor_remote

Conrad Irwin created

e3c603f Make RemoteTrackPublication a tuple struct again

Max Brunsfeld created

356f9fc Store a raw Room pointer on RoomDelegate

Max Brunsfeld created

7ed3f5f Clean up references in doc comments in `ui` and `theme` crates (#3985)

Click to expand commit body
This PR cleans up a number of references in doc comments in the `ui` and
`theme` crates so that `rustdoc` will link and display them correctly.

Release Notes:

- N/A

Marshall Bowers created

145f3f5 Remove unused API

Mikayla created

447bfca Add a test to catch keybinding bounds issue (#3966)

Click to expand commit body
Add a test to catch regressions to
https://github.com/zed-industries/zed/pull/3964

Thanks for the idea @ConradIrwin 

TODO:

- [ ] Fix immediate stack overflow in test

Release Notes:

- N/A

Mikayla Maki created

128a8ff Remove unnecessary mutexes from livekit client types

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

Max Brunsfeld and Conrad created

510234c Add some Theme and UI docs (#3979)

Click to expand commit body
Documents a number of items in the `theme` and `ui` crates.

Release Notes:

- N/A

Nate Butler created

1728c4e Fixed test

Mikayla created

5b1894a Take into account multiple scroll deltas within a single frame (#3982)

Click to expand commit body
Release Notes:

- Fixed an issue where all but the last scroll event would be dropped if
there were multiple within a single frame.

Julia created

51988f6 Document more enums

Nate Butler created

74dadd6 Clean up references in doc comments (#3983)

Click to expand commit body
This PR cleans up a number of references in doc comments so that
`rustdoc` will link and display them correctly.

Release Notes:

- N/A

Marshall Bowers created

463270e Take into account multiple scroll deltas within a single frame

Click to expand commit body
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>

Julia and Antonio Scandurra created

c19551d Document free functions

Nate Butler created

cb24062 Restore removed ColorScaleStep ALL that was breaking the build

Nate Butler created

e020d7c Document ui crate traits

Nate Butler created

00c3afd Add documentation to GPUI (#3980)

Click to expand commit body
🍐d with @conrad @mikayla-maki on covering some of the surface area.

Release Notes:

- N/A

Nathan Sobo created

42cbd10 Even more docs

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

Nathan Sobo and Conrad created

46065c2 Fix unclosed delimiter

Nate Butler created

7dbe051 Add label docs

Nate Butler created

324fd24 Initial button documentation

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nate Butler and Antonio Scandurra created

458c672 Add more API docs

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

Nathan Sobo and Conrad created