Antonio Scandurra
9932ddfd59
Fix flicker due to adding and removing menu bar extra unnecessarily
2022-10-07 15:07:09 +02:00
Antonio Scandurra
11cdfc954c
Don't leave the room if there's a pending room update
2022-10-07 14:52:39 +02:00
Antonio Scandurra
da67401be9
💄
2022-10-07 14:51:04 +02:00
Antonio Scandurra
17ceb30ae7
Ensure sharing the same project twice is idempotent
2022-10-07 14:47:06 +02:00
Antonio Scandurra
5c0e496872
Fix styling for busy contacts
2022-10-07 14:42:18 +02:00
Antonio Scandurra
d0fb6b3376
Fix room disconnection problems when creating room and sharing project
2022-10-07 14:39:11 +02:00
Antonio Scandurra
6393ad8c75
Show contact status
2022-10-07 13:56:28 +02:00
Antonio Scandurra
28de74f845
Include a busy field in proto::Contact
2022-10-07 12:21:56 +02:00
Antonio Scandurra
bac01e2fda
Never set a room on active call if it is offline
2022-10-07 12:00:23 +02:00
Antonio Scandurra
b80a39c165
Leave room when client is the only participant
2022-10-07 11:58:49 +02:00
Antonio Scandurra
6e6e44b20a
Move project sharing into Room
2022-10-07 10:14:17 +02:00
Antonio Scandurra
991a2fd9b2
Unset room on active call when disconnecting
2022-10-07 09:23:25 +02:00
Antonio Scandurra
82458e465b
WIP: start on menu bar extra
2022-10-06 16:10:45 +02:00
Antonio Scandurra
0bd465df40
Always include room id in protos
...
This is redundant, but it futures-proof the ability to talk about
multiple rooms at any given time and feels safer in terms of race
conditions.
2022-10-06 15:20:49 +02:00
Antonio Scandurra
35d55323e4
Remove stale contacts panel reference
2022-10-06 15:17:02 +02:00
Antonio Scandurra
bf30092c63
Implement call cancellation
2022-10-06 15:12:27 +02:00
Antonio Scandurra
7a30636a76
Delete rooms without pending users or participants
2022-10-06 14:20:40 +02:00
Antonio Scandurra
a2c823e866
Move contacts panel styles into contacts popover
2022-10-06 14:07:21 +02:00
Antonio Scandurra
f3b459ede5
Move contacts panel features into collab_ui
2022-10-06 14:00:14 +02:00
Antonio Scandurra
20482bad8d
Move IncomingCall into call crate
2022-10-06 09:52:03 +02:00
Antonio Scandurra
6597a5183a
Move incoming calls into ActiveCall
2022-10-06 09:50:26 +02:00
Antonio Scandurra
33eee3003f
Check room invariants in Store::check_invariants
2022-10-05 16:29:22 +02:00
Antonio Scandurra
7c4051e642
Enhance integration test to verify creating rooms while busy
2022-10-05 16:20:01 +02:00
Antonio Scandurra
abad8199ee
Add integration test verifying calls to busy users
2022-10-05 16:14:40 +02:00
Antonio Scandurra
8d591c6ab1
Allow following users into external projects
2022-10-05 15:32:55 +02:00
Antonio Scandurra
360b75f5f7
Move logic for joining project into a global action in collab_ui
2022-10-05 15:04:03 +02:00
Antonio Scandurra
bca261ef76
Set room location when active workspace changes
2022-10-05 15:03:40 +02:00
Antonio Scandurra
b8005ca30d
Set room only after project has been shared to avoid flicker
2022-10-05 11:19:44 +02:00
Antonio Scandurra
06ab1095a1
Always open project when added to a call via the + button
2022-10-05 11:01:28 +02:00
Antonio Scandurra
4ae097e515
Use AppContext instead of MutableAppContext for ActiveCall::global
2022-10-05 10:51:51 +02:00
Antonio Scandurra and Max Brunsfeld
d60225f118
Automatically share project when creating the room
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-10-04 19:25:48 +02:00
Antonio Scandurra and Max Brunsfeld
12511d3e5e
Don't show share button for remote projects
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-10-04 18:35:54 +02:00
Antonio Scandurra
7ac25fa0a9
Re-emit notifications and events from ActiveCall
...
This lets us only observe and subscribe to the active call without
needing to track the underlying `Room` if it changes, which implies
writing the same boilerplate over and over.
2022-10-04 18:15:56 +02:00
Antonio Scandurra
212a83ba85
Simplify Collaborator to stop including the user
...
It can be retrieved from the `Room` and we're guaranteed to have
a room in order to have collaborators in a project.
2022-10-04 18:00:54 +02:00
Antonio Scandurra
cc8f7e188c
Show notification when a new project is shared and allow joining it
2022-10-04 16:55:41 +02:00
Antonio Scandurra
1021f51bf8
Show Share button for unshared projects when inside of a room
2022-10-04 15:56:20 +02:00
Antonio Scandurra
66d211f378
Use a different style for inactive participants
2022-10-04 15:06:20 +02:00
Antonio Scandurra
396fc03fff
Implement Room::set_location
2022-10-04 11:46:01 +02:00
Antonio Scandurra
32dcfcb580
Emit event on Room when a user shares a new project
2022-10-03 17:12:07 +02:00
Antonio Scandurra
a51b32b51f
Automatically fetch remote participant users in Room
2022-10-03 16:09:49 +02:00
Antonio Scandurra
48129ae74f
Prevent calls from users who aren't contacts
2022-10-03 15:54:20 +02:00
Antonio Scandurra
1387ab407e
Fix randomized integration test failure
2022-10-03 15:50:47 +02:00
Antonio Scandurra
bbe6bf0d96
Adapt integration tests to always pass a room id to Project::share
...
Randomized test is failing, so we'll look into that next.
2022-10-03 15:44:11 +02:00
Antonio Scandurra
b05063b8a1
WIP: require sharing projects on a given Room
2022-09-30 18:21:47 +02:00
Antonio Scandurra
9d6f15cb60
Rip out project registration and use sharing/unsharing instead
2022-09-30 12:23:57 +02:00
Antonio Scandurra
0b6390b1a2
Remove project join requests
2022-09-30 11:35:50 +02:00
Antonio Scandurra and Nathan Sobo
5cf6e0728c
Remove projects from contact updates
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-09-29 19:40:36 +02:00
Antonio Scandurra and Nathan Sobo
100249e196
Encapsulate Room interaction within ActiveCall
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-09-29 17:39:53 +02:00
Antonio Scandurra and Nathan Sobo
ccea160994
Rename room crate to call
...
Also, rename `client::Call` to `client::IncomingCall`.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-09-29 17:24:31 +02:00
Antonio Scandurra
366c7ac5d6
Wire up accepting/declining a call
2022-09-29 15:33:33 +02:00