Commit Graph

238 Commits

Author SHA1 Message Date
Max Brunsfeld
0cf65223ce Remove 2 suffix for collab, rope, settings, menu
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:29:16 -08:00
Max Brunsfeld
5ddd298b4d Remove 2 suffix for fs, db, semantic_index, prettier
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:09:42 -08:00
Max Brunsfeld
53bdf6beb3 Remove 2 suffix for client, call, channel
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:02:14 -08:00
Joseph T. Lyons
3abd376d6a Add timestamp delta to telemetry events 2023-11-19 21:52:28 -05:00
Conrad Irwin
4a6a17d866 Merge branch 'main' into zed2 2023-10-27 10:55:15 +02:00
Antonio Scandurra
516236e044 Disable livekit on zed2 2023-10-26 17:15:19 +02:00
Antonio Scandurra
637cff3ebd WIP 2023-10-26 17:15:19 +02:00
Conrad Irwin
b8bd070a83
Fix panic by disallowing multiple room joins (#3149)
Release Notes:

- Fixed panic that could occur when switching channels quickly
2023-10-24 23:57:08 +02:00
Conrad Irwin
dfc34e582a Fix extra race 2023-10-24 18:54:55 +02:00
Mikayla
7e4de2ac16
Restore synchronization 2023-10-21 03:08:25 -07:00
Mikayla
5365fd2149
WIP: Add test for panic, temporarily rollback synchronization changes 2023-10-21 03:05:57 -07:00
Conrad Irwin
fd8e6110b1 Fix panic by disallowing multiple room joins 2023-10-20 14:34:25 -06:00
Conrad Irwin
e03e5364d2 Wire through LiveKit permissions 2023-10-19 23:23:33 -06:00
Conrad Irwin
0eff7c6ca9 Add read-only channel notes support
Fix some bugs where ChannelNotes and ChannelChat had old cached channel
instances
2023-10-19 13:20:49 -06:00
Conrad Irwin
d4ef764305 Merge branch 'main' into links 2023-10-09 20:08:48 -06:00
Conrad Irwin
8922437fcd code review 2023-10-09 19:06:55 -06:00
Max Brunsfeld
1d29709c32 Avoid possible panic in Room::most_active_project
Participants' locations might momentarily reference projects that have already been unshared.
2023-10-09 15:04:01 -07:00
Max Brunsfeld
b807b3c785 Handle participants' participant index changing
This normally doesn't happen, but it can happen if a participant
loses connection ungracefully, restarts their app, and then
explicitly joins again.
2023-10-09 14:45:19 -07:00
Conrad Irwin
abfb4490d5 Focus the currently active project if there is one
(also consider your own projects in "most_active_projects")
2023-10-09 12:05:26 -06:00
Conrad Irwin
63a230f92e Make joining on boot work 2023-10-06 16:11:45 -06:00
Conrad Irwin
4128e2ffcb Fix panic if the host is not there. 2023-10-06 15:18:25 -06:00
Max Brunsfeld
3412bb75be Remove call -> channel dependency 2023-10-06 13:39:10 -07:00
Mikayla
dd0edcd203
Changed the on-click behavior of joining a channel to not open the chat, and only open 1 project instead of all projects
Co-authored-by: conrad <conrad.irwin@gmail.com>
Co-authored-by: max <max@zed.dev>
2023-10-04 11:46:08 -07:00
Mikayla
23ee8211c7
Lower frequency of popup warning when leaving a call
co-authored-by: conrad <conrad.irwin@gmail.com>
2023-10-03 19:30:05 -07:00
Conrad Irwin
18e7305b6d Change channel join behavior
- Clicking on a channel name now joins the channel if you are not in it
- (or opens the notes if you are already there).
- When joining a channel, previously shared projects are opened
  automatically.
- If there are no previously shared projects, the notes are opened.
2023-10-02 23:20:06 -06:00
Conrad Irwin
39af2bb0a4 Ensure notifications are dismissed
Before this change if you joined a project without clicking on the
notification it would never disappear.

Fix a related bug where if you have more than one monitor, the
notification was only dismissed from one of them.
2023-10-02 11:01:21 -06:00
Max Brunsfeld
555c9847d4 Add ZED_ALWAYS_ACTIVE env var, use it in local collaboration script
This makes zed always behave as if the app is active, even if no window is focused.
It prevents the 'viewing a window outside of zed' state during collaboration.
2023-09-29 13:43:43 -07:00
Max Brunsfeld
ca0a4bdf8e Introduce a WorkspaceStore for handling following 2023-09-28 18:58:52 -07:00
Max Brunsfeld
e34ebbc665 Remove unused dependencies on theme 2023-09-28 17:13:10 -07:00
Max Brunsfeld
38a9e6fde1 Fix removal of followers on Unfollow 2023-09-28 16:46:43 -07:00
Max Brunsfeld
e9c1ad6acd Undo making project optional on stored follower states
Following works without a project, but following in unshared projects does
not need to be replicated to other participants.
2023-09-28 14:21:44 -07:00
Max Brunsfeld
a8b35eb8f5 Merge branch 'main' into allow-following-outside-of-projects 2023-09-28 11:58:28 -07:00
Max Brunsfeld
0f39b63801 Rename color_index to participant_index
Co-authored-by: Conrad <conrad@zed.dev>
2023-09-28 11:37:22 -07:00
Max Brunsfeld
545b5e0161 Assign unique color indices to room participants, use those instead of replica_ids
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
2023-09-28 11:06:09 -07:00
Joseph T. Lyons
0897ed561f Rework call events api
There were time when events with bad data were being emitted. What we found was that places where certain collaboration-related code could fail, like sending an, would still send events, and those events be in a bad state, as certain elements weren't constructed as expected, thus missing in the event. The new API guarantees that we have data in the correct configuration. In the future, we will add events for certain types of failures within Zed.

Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com>
2023-09-26 14:18:32 -04:00
Max Brunsfeld
f34c6bd1ce Start work on allowing following without a shared project 2023-09-21 13:14:15 -07:00
Max Brunsfeld
a91f5244a9 Mute on join if ZED_IMPERSONATE is set 2023-09-08 16:24:37 -07:00
Joseph T. Lyons
39e13b6675 Allow call events to be logged without a room id 2023-09-06 22:53:05 -04:00
Joseph T. Lyons
653d4976cd Add operation for opening channel notes in channel based calls 2023-09-05 17:13:09 -04:00
Max Brunsfeld
404f76739c Format let-else statements 2023-08-25 10:11:32 -07:00
Mikayla
a7a4e2e369
Add buffer integration test
Rearrange channel crate structure
Get channel buffer from database

co-authored-by: Max <max@zed.dev>
2023-08-23 18:34:43 -07:00
Joseph T. Lyons
f66e6863fa Add channel id to call events
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-08-21 13:50:04 -04:00
Mikayla
0524abf114
Lazily initialize and destroy the audio handle state on call initiation and end 2023-08-15 23:19:11 -07:00
Max Brunsfeld
1ffde7bddc Implement calling contacts into your current channel
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-15 14:56:54 -07:00
Max Brunsfeld
ddf3642d47 Avoid flicker when moving between channels 2023-08-15 13:18:56 -07:00
Max Brunsfeld
13982fe2f4 Display intended mute status while still connecting to a room
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-14 16:47:26 -07:00
Mikayla Maki
30e1bfc872
Add the ability to jump between channels while in a channel 2023-08-02 17:13:09 -07:00
Mikayla Maki
003a711dea
Add room creation from channel join
co-authored-by: max <max@zed.dev>
2023-07-31 16:54:12 -07:00
Mikayla Maki
92fa879b0c
Add ability to join a room from a channel ID
co-authored-by: max <max@zed.dev>
2023-07-31 16:53:57 -07:00
Joseph T. Lyons
6095525b56
Add microphone toggle events (#2765)
Release Notes:

- N/A
2023-07-20 16:10:20 -04:00
Joseph T. Lyons
7d3d54652b Remove unused method 2023-07-20 15:54:26 -04:00
Kirill Bulatov
a5e63fbf77 Properly display keybindings in context menus 2023-07-20 12:18:04 +03:00
Mikayla Maki
1e4bddd276
fmt 2023-07-19 12:34:56 -07:00
Mikayla Maki
5ceb258b3e
Mute mics by default
Fix bug when file ends in line with 1 more digit displayed than previous lines
Remove stale UI elements from voice call development
2023-07-19 12:34:24 -07:00
Joseph T. Lyons
6da5008f32 Fix screen sharing panic introduced by call events
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-07-12 16:12:07 -04:00
Joseph T. Lyons
98a0113ac3 Add call events
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-07-11 13:58:55 -04:00
Nate Butler
a7ce602bac Update collaboration sounds, add sounds to screensharing 2023-07-04 16:18:42 -04:00
Mikayla Maki
0e4c904091
Add joined sound effect when new participants join the room 2023-07-03 13:36:03 -07:00
Mikayla Maki
d2127825e3
Add first-pass sound support to Zed 2023-07-03 13:30:04 -07:00
Mikayla Maki
138de37cbf
Add basic sound handling infrastructure 2023-06-30 16:10:49 -07:00
Piotr Osiewicz
2ddf0e12bf Undeafen: unmute if user was not muted prior to deafening 2023-06-28 11:10:56 +02:00
Mikayla Maki
5d02b49058
Added muted and currently speaking tracking 2023-06-27 19:23:13 -07:00
Mikayla Maki
60ce584427
WIP: Add mute icons 2023-06-27 13:12:52 -07:00
Piotr Osiewicz
3104275d87 Keep users muted once they undeafen themselves 2023-06-27 17:19:18 +02:00
Piotr Osiewicz
a9b5c1d867 Remove unnecessary call to context.notify 2023-06-26 12:45:50 +02:00
Piotr Osiewicz
6c676121f2 Fixed mic's state not being updated in titlebar if user mutes a mic via command palette 2023-06-23 13:22:33 +02:00
Piotr Osiewicz
8bd9fe1fb0 Deafen now also mutes microphone 2023-06-22 20:05:06 +02:00
Piotr Osiewicz
85d1c89d34 Remove unused import 2023-06-22 13:52:21 +02:00
Piotr Osiewicz
4583d22ede cargo fmt 2023-06-22 13:49:36 +02:00
Mikayla Maki
5ffe74f47e
Fix race condition in sharing mic on connection
co-authored-by: antonio <antonio@zed.dev>
2023-06-21 08:50:38 -07:00
Mikayla Maki
9b77cafd7b
Add a mic sharing to room joining 2023-06-20 15:35:19 -07:00
Mikayla Maki
8273e08d4a
Add is_muted and is_deafened 2023-06-20 15:23:06 -07:00
Mikayla Maki
cf4251fb55
Fix deafened -> enabled mistranslation
Fix mislocation of caller query in detach_and_log_error
Fix incorrect wording on livekit integration
Add share_mic action for manually enabling the microphone
Make mic sharing wait until the room has been fully established
2023-06-20 15:17:49 -07:00
Mikayla Maki
b828a74ad6
Add deafen controls 2023-06-20 12:34:32 -07:00
Mikayla Maki
e58f0ac72f
Add mute toggling controls 2023-06-20 09:35:57 -07:00
Mikayla Maki
ecd2129c2f
Add deafen and mute stubs 2023-06-16 11:16:36 -07:00
Mikayla Maki
53062e8422
turn mic off by default in dev builds, add enviroment variable for turning it back on 2023-06-16 10:44:31 -07:00
Mikayla Maki
dedc117cca
Add audio APIs to Zed
Share mic on joining room
2023-06-16 10:13:27 -07:00
Max Brunsfeld
ebbe52e6b0 🎨 Specify more dependencies at the workspace level 2023-04-24 17:41:55 -07:00
Max Brunsfeld
abdccf7393 Use a workspace dependency for the futures crate 2023-04-24 09:43:31 -07:00
Antonio Scandurra
016343e65d Merge branch 'main' into randomized-tests-operation-script 2023-04-10 08:45:22 +02:00
Nathan Sobo
8136d8a8a6 Fix formatting 2023-04-06 15:54:44 -06:00
Nathan Sobo
de9bf6dfbd Merge MutableAppContext into AppContext
There may have been a good reason for the difference at some point, or I was
still learning Rust. But now it's just &mut AppContext vs &AppContext.
2023-04-06 15:49:03 -06:00
Max Brunsfeld
1159f5517b Avoid applying outdated UpdateProject methods after rejoining a room 2023-04-04 21:49:37 -07:00
Max Brunsfeld
cbeb6e692d Move postage crate version specification to workspace Cargo.toml 2023-03-21 11:26:13 -07:00
Max Brunsfeld
b34477458e Close remote project windows when leaving a call 2023-03-15 15:24:58 -07:00
Max Brunsfeld
f5c4a2a0dd Fix failure to see screenshare tracks that were started prior to joining a call
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-03-13 11:15:22 -07:00
Antonio Scandurra
bca1acf6d3 Leave room on quit
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-03-13 17:52:10 +01:00
Julia
b9110c9268 Increase reconnect timeout
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-03-03 13:10:08 -08:00
Julia
465d8cc2ff Differentiate between follow state on a per-project basis 2023-02-24 00:07:17 -05:00
Antonio Scandurra
59a66190e5 Avoid trying to reconnect to a room if client is signed out 2023-02-23 14:53:10 +01:00
Julia
05e9615507 Highlight face pile which local user is following 2023-02-22 11:22:37 -05:00
Julia
4513c40993 Following face piles finally take their first breath 2023-02-22 11:21:23 -05:00
Julia
33c265d3cf Abuse a closure instead of abusing options/iterators quite so much 2023-02-22 11:21:23 -05:00
Julia
58c41778e7 Absolute pain of the iterator kind (start laying out a user's followers) 2023-02-22 11:21:23 -05:00
Julia
d6462c611c Begin tracking follow states on collab server
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-02-22 11:21:23 -05:00
Julia
f68eda97fb Tell project when it has been unshared
Co-Authored-By: Petros Amoiridis <petros@zed.dev>
2023-02-22 11:21:23 -05:00
Julia
e96d52f35a Move share button and support unsharing 2023-02-22 11:21:23 -05:00
Antonio Scandurra
7be868e372 Avoid creating more than one room when inviting multiple people at once
Previously, when initiating a call by calling multiple people, only
the first person would get the call while all the others would briefly
show a "pending" status but never get the call.

This would happen because `ActiveCall` was trying to a create a different
room for each person called, because the original room creation hadn't finished
and so a `ModelHandle<Room>` wasn't being store in the active call.

With this commit, only one room can be created at any given time and further
invites have to wait until that room creation is done.
2023-02-14 12:03:30 +01:00
Kay Simmons
303216291b Move sharing status indicator out of the call crate and into collab_ui in order so that the model doesn't depend on the view 2023-02-03 11:17:50 -08:00