Commit Graph
80 Commits
Author SHA1 Message Date
Max Brunsfeld bb00134f5f Clean up projects when leaving a room 2022-12-20 16:44:57 -08:00
Max BrunsfeldandAntonio Scandurra 55ebfe8321 Handle unshared projects when rejoining a room
Also, construct remote projects via the room, to guarantee
that the room can manage the projects' sharing lifecycle.

Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-12-20 11:10:46 -08:00
Antonio Scandurra 52babc51a0 Make host reconnection test pass when mutating worktree while offline 2022-12-20 17:30:58 +01:00
Antonio Scandurra 1a3940a12e Fix project reconnection test to ensure rooms actually reconnects 2022-12-20 14:51:46 +01:00
Max BrunsfeldandNathan Sobo 70dd586be9 Start work on rejoining rooms, supplying all project info at once
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-12-19 17:50:43 -08:00
Max Brunsfeld af85db9ea5 WIP - Retain hosts' project state when they disconnect 2022-12-19 11:38:08 -08:00
Antonio Scandurra aa44de3d16 Fix test ensuring room is left when disconnected from LiveKit 2022-12-16 10:52:32 +01:00
Max Brunsfeld ad37034960 Identify LiveKit room participants by user id, not peer id
This way, their participant id can remain the same when they reconnect.
2022-12-15 17:19:32 -08:00
Antonio Scandurra 05e99eb67e Introduce an epoch to ConnectionId and PeerId 2022-12-14 15:55:56 +01:00
Antonio Scandurra 553585b9a1 Add more logging to Room 2022-12-14 11:43:12 +01:00
Antonio Scandurra f1884d608b Allow server to see client disconnection before giving up on reconnecting 2022-12-13 12:17:21 +01:00
Antonio Scandurra 0220d7ba5d Include room_id in CallCanceled message
This ensures we don't accidentally cancel old calls.
2022-12-13 11:43:09 +01:00
Antonio Scandurra 6a6a032f1f Delete stale rooms/participants after RECONNECT_TIMEOUT 2022-12-13 11:32:37 +01:00
Antonio Scandurra beea9b68ff Allow re-joining room after server restarts 2022-12-12 16:03:21 +01:00
Antonio Scandurra 895c365485 Introduce random reconnections in the randomized test 2022-12-12 11:43:08 +01:00
Antonio Scandurra aca3f02590 Re-join room when client temporarily loses connection 2022-12-12 11:43:08 +01:00
Antonio Scandurra 4c1b4953c1 Remove version from Room
We won't need it once we add the per-room lock.
2022-11-18 20:18:48 +01:00
Antonio ScandurraandNathan Sobo 4b1dcf2d55 Always use strings to represent paths over the wire
Previously, the protocol used a mix of strings and bytes without any consistency.

When we go to multiple platforms, we won't be able to mix encodings of paths anyway.
We don't know this is the right approach, but it at least makes things consistent
and easy to read in the database, on the wire, etc. Really, we should be using entry
ids etc to refer to entries on the wire anyway, but there's a chance this is the
wrong decision.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-11-15 16:46:17 +01:00
Antonio Scandurra d7369ace6a Skip applying room updates if they're older than the local room state 2022-11-14 15:35:39 +01:00
Antonio Scandurra 40073f6100 Wait for acknowledgment before sending the next project update 2022-11-14 15:32:49 +01:00
Antonio Scandurra 9902211af1 Leave room when connection is dropped 2022-11-14 10:13:36 +01:00
Antonio Scandurra c213c98ea4 Remove calls table and use just room_participants 2022-11-11 15:22:04 +01:00
Antonio Scandurra 6871bbbc71 Start moving Store state into the database 2022-11-11 12:06:43 +01:00
Antonio Scandurra 2a3773240d Show a Calling indicator right away when initiating a call 2022-10-25 11:05:57 +02:00
Antonio Scandurra 9860dbbbea Set location on ActiveCall even before there's a room
We will automatically call `Room::set_location` once a room has been
assigned.
2022-10-24 15:07:25 +02:00
Antonio Scandurra a8bd234aa4 Simplify room events 2022-10-24 10:53:44 +02:00
Antonio Scandurra 476020ae84 Show shared screen as a pane item 2022-10-24 10:04:08 +02:00
Antonio Scandurra 1bbb7dd126 Leave Zed room when LiveKit room disconnects 2022-10-21 14:21:45 +02:00
Antonio Scandurra ae44a38285 Remove unused LKDisplays API 2022-10-21 10:12:24 +02:00
Antonio Scandurra db8b8ef66b WIP 2022-10-20 20:17:54 +02:00
Antonio Scandurra 99aa1219d2 Simplify renderer interface for live-kit-client 2022-10-20 09:51:55 +02:00
Nathan Sobo 723fa83909 Use fake LiveKit server to test we can send frames when screen sharing 2022-10-19 19:14:55 -06:00
Antonio Scandurra 3160d07b9c Model pending screen share in Room 2022-10-19 11:38:24 +02:00
Antonio Scandurra e49fc9f4b1 Prevent Room from screen-sharing twice 2022-10-19 10:45:51 +02:00
Antonio Scandurra 773f569385 Add control to toggle screen-sharing 2022-10-19 10:19:20 +02:00
Antonio Scandurra 219793afcc Merge remote-tracking branch 'origin/main' into screen-sharing 2022-10-19 10:04:56 +02:00
Antonio Scandurra 0c3c1e1f68 WIP 2022-10-18 19:30:45 +02:00
Antonio Scandurra 9cf39b1da6 Disconnect from live-kit Room on drop 2022-10-18 14:50:03 +02:00
Antonio Scandurra 46635956f4 Emit Frame event when new frames are generated for a remote track 2022-10-18 12:18:49 +02:00
Antonio Scandurra 8c6de99159 Use participant identity and track sid everywhere 2022-10-18 12:05:59 +02:00
Nathan Sobo 59fab0bb2d WIP 2022-10-17 23:47:55 -06:00
Nathan Sobo c73e2c2d0f Get test_app running without crashing 2022-10-17 23:38:43 -06:00
Nathan Sobo 8c1c98a0bf WIP 2022-10-17 23:25:04 -06:00
Mikayla Maki 5bb2edca8b Added absolute path info to remote worktrees (updated protocol version) 2022-10-17 15:27:46 -07:00
Antonio Scandurra 499b8f5f55 WIP 2022-10-17 18:00:54 +02:00
Antonio Scandurra 81d83841ab WIP: Start integrating screen-sharing 2022-10-17 14:50:05 +02:00
Antonio Scandurra c9225bb87c WIP: Start integrating with LiveKit when creating/joining rooms 2022-10-17 12:20:55 +02:00
b8bc5a282e Allow inviting users to a project that was shared by someone else
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-10-13 18:48:14 +02:00
Max BrunsfeldandAntonio Scandurra 1f0a9ce418 Proceed with share while project state uploads
Co-authored-by: Antonio Scandurra <as-cii@zed.dev>
2022-10-11 10:17:20 -07:00
Antonio ScandurraandNathan Sobo 4504b36c8f Show a different message when participant is active on unshared project
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-11 15:24:31 +02:00