Commit Graph

16756 Commits

Author SHA1 Message Date
Mikayla Maki
44969460cd
Remove remaining port related todos (#3994)
TODO:
- [x] Audit all TODO comments in Zed source and mark port related ones
with a !
- [x] Resolve all todos written as `todo!`

Release Notes:

- N/A
2024-01-10 17:31:05 -08:00
Max Brunsfeld
cb5d4edc4b
Handle reconnects to the livekit server in which local tracks are unpublished (#3992)
Release notes:

* Fixed a bug where network interruptions could cause audio and screen
sharing to stop working without indicating that they were stopped, and
there was no way to restart the audio stream.
2024-01-10 16:34:11 -08:00
Mikayla
1932a298cb
Add back ime_key 2024-01-10 16:29:00 -08:00
Max Brunsfeld
75fdaeb56f Detect when a track is unpublished due to reconnecting to livekit
Co-authored-by: Julia <julia@zed.dev>
2024-01-10 16:12:26 -08:00
Max Brunsfeld
2d1eb0c56c 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
0dca67fc33 Add --top flag to zed-local script, for making windows take up half the screen 2024-01-10 16:09:40 -08:00
Conrad Irwin
b907f375a3
Fix fold-related panic (#4008)
Although it's not super clear why this fails; in zed1 we used to have a
bounds
check. Restoring the bounds check for now, but leaving a debug_assert!
in case
a local reproduction happens.

Release Notes:

- Fix a panic that happened sometimes when rendering folds
2024-01-10 16:53:25 -07:00
Conrad Irwin
766a869208 Fix fold-related panic 2024-01-10 15:51:13 -07:00
Kirill Bulatov
3c1ed152ee
Remove active call data when it was accepted (#4007)
That hopefully helps with call notifications sometimes not being closed

Release Notes:

- N/A
2024-01-11 00:40:32 +02:00
Kirill Bulatov
2e9c9adfbe Remove active call data when it was accepted
That hopefully helps with call notifications sometimes not being closed

co-authored-by: Max <max@zed.dev>
2024-01-11 00:35:00 +02:00
Mikayla
f71a0cddb8
Remove last todos 2024-01-10 12:13:12 -08:00
Mikayla
4bcac68c8c
Restore GPUI test 2024-01-10 11:43:52 -08:00
Piotr Osiewicz
9553759899
Remove todo from search tests 2024-01-10 11:26:11 -08:00
Mikayla
7ef88397c9
Fix seg fault when using the WindowContext::on_window_should_close() API 2024-01-10 11:26:11 -08:00
Mikayla
2a09c6aad5
Restore missing test 2024-01-10 11:26:11 -08:00
Mikayla
c98d7adf83
Audit all TODOs in Zed and mark port related todos 2024-01-10 11:26:11 -08:00
Max Brunsfeld
02ef6fc973
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
61a9a3a274 Revert "Remove ChannelsAlpha flag"
This reverts commit 1c1151a0ed.
2024-01-10 11:52:33 -07:00
Max Brunsfeld
69a93edabd 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
8d1bca450f 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
282184a673
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
f16331a331
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
5dff458014
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
1c1151a0ed Remove ChannelsAlpha flag
Welcome to the party!
2024-01-10 09:29:44 -07:00
Conrad Irwin
f8e4fd012f collab 0.36.0 2024-01-10 09:26:15 -07:00
Marshall Bowers
a5203364b1
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
aff119b80a
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
1c77104050 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
1d000f1dcc
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
c197ea49ca Simplify uniform list scrolling logic 2024-01-10 13:45:50 +02:00
Kirill Bulatov
f57ff1c660 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
927e0db750 An attempt to defer scrolls during empty initial state 2024-01-10 11:26:23 +02:00
Kirill Bulatov
bbccf48dd2
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
6809b92e34 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
3c2ebc3d88
Prototype cursor sharing (the inefficient way) (#3970)
Release Notes:

- Sync guest users' cursor positions
2024-01-09 22:21:24 -07:00
Conrad Irwin
5d3f5611e5
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
2ca462722c Fix some tests (mostly more run_until_parked's...) 2024-01-09 22:14:11 -07:00
Conrad Irwin
8ceb9fd67f
Run migrations on development server start (#3971)
Release Notes:

- N/A
2024-01-09 21:42:30 -07:00
Conrad Irwin
72c022f413 Ensure focus-sensitive tests have active windows 2024-01-09 21:38:06 -07:00
Conrad Irwin
1bf33b4b61 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
45baad2825
Remove or fix stale todos (#3990)
The software equivalent of dusting

Release Notes:

-
2024-01-09 18:37:35 -08:00
Mikayla
e786e22121
And a few more todos 2024-01-09 16:41:17 -08:00
Mikayla
9ce7ef8949
Remove the last of the major todos 2024-01-09 16:14:54 -08:00
Marshall Bowers
8cb291baa4
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
276bfa0fab Merge branch 'main' into guest-promotion 2024-01-09 16:28:42 -07:00
Conrad Irwin
4da9d61a42 Implement live kit promotion/demotion 2024-01-09 16:10:12 -07:00
Mikayla
ed263a7b5c
Resolve more todos 2024-01-09 15:08:05 -08:00
Mikayla
80790d921d
Fix / remove small todos 2024-01-09 14:16:46 -08:00
Marshall Bowers
684bd530f0
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
68d0b468f3
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