Commit Graph
16742 Commits
Author SHA1 Message Date
Max BrunsfeldandJulia 4e6d9913e6 Expose a single updates stream from live_kit_client::Room
Co-authored-by: Julia <julia@zed.dev>
2024-01-10 16:10:52 -08:00
Max Brunsfeld e64b970ef9 Add --top flag to zed-local script, for making windows take up half the screen 2024-01-10 16:09:40 -08:00
Max Brunsfeld 5454f546d3 Ensure ArenaRef pointers are aligned to their contained type (#4002)
We think this may fix a segfault that sometimes occurs during
`display_layer`.
2024-01-10 10:53:24 -08:00
Conrad Irwin 9d85957024 Revert "Remove ChannelsAlpha flag"
This reverts commit 679a2454f9.
2024-01-10 11:52:33 -07:00
Max BrunsfeldandAntonio Scandurra 52de7f6336 Ensure ArenaRef pointers are aligned to their contained type
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2024-01-10 10:36:08 -08:00
Conrad Irwin 69c56ed4ed Remove extra assertion
As part of debugging the port of following tests we added an assertion
that the project was dropped. Now that we initialize the editor and
handle focus correctly in tests, the project is retained by
`refresh_document_highlights`. That doesn't affect the meaning of the
tests
2024-01-10 10:18:45 -07:00
Piotr Osiewicz 201baab4ad editor: Use inclusive ranges for git diff resolution. (#3999)
The culprit was in display map which was resolving next valid point for
the editor, without regard for whether that point belongs to the same excerpt. We now make an end point a minimum of the end point passed in and the start of excerpt header, if there are any. 
This bug existed in Zed1 as well.

Fixes: Diff markers in multibuffer search overlap with dividers between
excepts (shouldn't extend all the way into the divider region)


Release Notes:
- Fixed diff markers being drawn incorrectly near headers in multibuffer
views.
2024-01-10 18:11:05 +01:00
Conrad Irwin 4d6daa9c9a Remove ChannelsAlpha flag (#4001)
Welcome to the party!

[[PR Description]]

Release Notes:

- Added Channels for structured real-time collaboration (TODO: link)
2024-01-10 10:02:52 -07:00
Conrad Irwin a021f69da3 Ensure focus_in and focus_out fire on window activation (#3993)
Also:
- Rename cx.on_blur to cx.on_focus_lost
- Fix a bug where notify calls in focus handlers were ignored
- Fix a bug where vim would get stuck in the wrong mode when switching
  windows

Release Notes:

- (preview only) vim: fix switching between multiple windows
2024-01-10 10:00:07 -07:00
Conrad Irwin 679a2454f9 Remove ChannelsAlpha flag
Welcome to the party!
2024-01-10 09:29:44 -07:00
Conrad Irwin 6ece69b9ea collab 0.36.0 2024-01-10 09:26:15 -07:00
Marshall Bowers fdb1b33044 Use the .selected style for buffer search option buttons (#4000)
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.
2024-01-10 10:35:06 -05:00
Marshall Bowers b3d65a66e2 Fix possessive "its" in docs and comments (#3998)
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
2024-01-10 10:09:48 -05:00
Piotr Osiewicz bec16b4e28 chore: Enable asset compression
This reduces size of release binary by ~20% from 134MB to 107MB without noticeable slowdown on startup. Assets are decompressed granularly, on first access
2024-01-10 13:54:25 +01:00
Kirill Bulatov 2f5297d3a4 Fix uniform_list scrolling logic (#3996)
Release Notes:

- Fixed theme selector not showing currently selected theme on open
2024-01-10 13:58:08 +02:00
Kirill Bulatov 9817e004f9 Simplify uniform list scrolling logic 2024-01-10 13:45:50 +02:00
Kirill BulatovandAntonio Scandurra b6c0a3188f Make the scroll position updated as soon as possible to the correct deferred value
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2024-01-10 12:16:06 +02:00
Kirill Bulatov f2a9f86eee An attempt to defer scrolls during empty initial state 2024-01-10 11:26:23 +02:00
Kirill Bulatov ebae865101 Disable synthetic drag for drag and drop (#3995)
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
2024-01-10 11:25:56 +02:00
Kirill Bulatov 82dfa761af Disable synthetic drag on drag and drop
Otherwise, conflicting MouseMove events are generated and page regions start to flicker.
2024-01-10 11:18:45 +02:00
Conrad Irwin 57296f3d42 Prototype cursor sharing (the inefficient way) (#3970)
Release Notes:

- Sync guest users' cursor positions
2024-01-09 22:21:24 -07:00
Conrad Irwin c2fb3b071c guest promotion (#3969)
Release Notes:

- Adds the ability to promote read-only guests to read-write
participants in calls
2024-01-09 22:21:13 -07:00
Conrad Irwin bf8823caf0 Fix some tests (mostly more run_until_parked's...) 2024-01-09 22:14:11 -07:00
Conrad Irwin 836ad478de Run migrations on development server start (#3971)
Release Notes:

- N/A
2024-01-09 21:42:30 -07:00
Conrad Irwin a8fe6c1755 Ensure focus-sensitive tests have active windows 2024-01-09 21:38:06 -07:00
Conrad Irwin a3f79d31f8 Ensure focus_in and focus_out fire on window activation
Also:
- Rename cx.on_blur to cx.on_focus_lost
- Fix a bug where notify calls in focus handlers were ignored
- Fix a bug where vim would get stuck in the wrong mode when switching
  windows
2024-01-09 20:55:00 -07:00
Mikayla Maki 3a4e71c204 Remove or fix stale todos (#3990)
The software equivalent of dusting

Release Notes:

-
2024-01-09 18:37:35 -08:00
Mikayla 85b2c5841f And a few more todos 2024-01-09 16:41:17 -08:00
Mikayla 3149f61fee Remove the last of the major todos 2024-01-09 16:14:54 -08:00
Marshall Bowers 1195355e24 Take a different approach to rendering channel buttons (#3991)
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.
2024-01-09 18:39:29 -05:00
Conrad Irwin fba7f557d9 Merge branch 'main' into guest-promotion 2024-01-09 16:28:42 -07:00
Conrad Irwin 13ae271a65 Implement live kit promotion/demotion 2024-01-09 16:10:12 -07:00
Mikayla e8a4ca5dae Resolve more todos 2024-01-09 15:08:05 -08:00
Mikayla ab829df8b6 Fix / remove small todos 2024-01-09 14:16:46 -08:00
Marshall Bowers 36e36decc8 ui: Fix doc tests (#3989)
There were a ton of doc tests that weren't compiling in the `ui` crate,
so this PR fixes them.

Release Notes:

- N/A
2024-01-09 16:56:28 -05:00
Max Brunsfeld 7d7483b1e7 Remove unnecessary mutexes from livekit client types (#3984)
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.
2024-01-09 13:40:27 -08:00
Conrad Irwin 5e464ccde4 Fix panic in set_scroll_anchor_remote (#3987)
If the remote sends us an invalid scroll position, we should not panic.

Release Notes:

- Fix a panic receiving scroll positions out of order
2024-01-09 14:39:06 -07:00
Kirill Bulatov 32fb4f9507 Do not dismiss buffer search when any modal is present (#3988)
Release Notes:

- Fixed buffer search being dismissed not after the modals are
2024-01-09 23:36:32 +02:00
Kirill BulatovandPiotr Osiewicz 48c15abf2b Do not dismiss buffer search when any modal is present
Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
2024-01-09 23:29:05 +02:00
Marshall Bowers fac822cac4 Rename Shape to AvatarShape (#3986)
This PR renames the `Shape` enum to `AvatarShape`, since it seems pretty
specific to `Avatar`s.

Release Notes:

- N/A
2024-01-09 16:21:27 -05:00
Conrad Irwin ff33f08095 Fix panic in set_scroll_anchor_remote 2024-01-09 14:19:48 -07:00
Max Brunsfeld db50d7d80c Make RemoteTrackPublication a tuple struct again 2024-01-09 12:54:51 -08:00
Max Brunsfeld 27d90a7270 Store a raw Room pointer on RoomDelegate 2024-01-09 12:50:00 -08:00
Marshall Bowers b3678463e8 Clean up references in doc comments in ui and theme crates (#3985)
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
2024-01-09 15:22:36 -05:00
Mikayla 604e544d4a Remove unused API 2024-01-09 12:20:17 -08:00
Mikayla Maki d5da000fa6 Add a test to catch keybinding bounds issue (#3966)
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
2024-01-09 12:03:48 -08:00
Max BrunsfeldandConrad 1d6547d548 Remove unnecessary mutexes from livekit client types
Co-authored-by: Conrad <conrad@zed.dev>
2024-01-09 12:02:29 -08:00
Nate Butler d3fae03bcb Add some Theme and UI docs (#3979)
Documents a number of items in the `theme` and `ui` crates.

Release Notes:

- N/A
2024-01-09 15:00:21 -05:00
Mikayla 9a9abd176e Fixed test 2024-01-09 11:52:03 -08:00
Julia b41cd2b4de Take into account multiple scroll deltas within a single frame (#3982)
Release Notes:

- Fixed an issue where all but the last scroll event would be dropped if
there were multiple within a single frame.
2024-01-09 14:51:26 -05:00