Commit Graph
5995 Commits
Author SHA1 Message Date
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 ScandurraandMax 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 ScandurraandMax 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 ScandurraandNathan Sobo 5cf6e0728c Remove projects from contact updates
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-29 19:40:36 +02:00
Antonio ScandurraandNathan Sobo 100249e196 Encapsulate Room interaction within ActiveCall
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-29 17:39:53 +02:00
Antonio ScandurraandNathan 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