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
Conrad Irwin
created
282184a
editor: Use inclusive ranges for git diff resolution. (#3999)
Click to expand commit body
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.
Welcome to the party!
[[PR Description]]
Release Notes:
- Added Channels for structured real-time collaboration (TODO: link)
Conrad Irwin
created
5dff458
Ensure focus_in and focus_out fire on window activation (#3993)
Click to expand commit body
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
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
This reduces size of release binary by ~20% from 134MB to 107MB without noticeable slowdown on startup. Assets are decompressed granularly, on first access
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
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
72c022f
Ensure focus-sensitive tests have active windows
Conrad Irwin
created
1bf33b4
Ensure focus_in and focus_out fire on window activation
Click to expand commit body
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
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.
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