Commit Graph
85 Commits
Author SHA1 Message Date
Kay Simmons 632074c2c8 Add setting to disable the call icon 2023-02-01 16:21:53 -08:00
Kay Simmons 431a74bb3a Add call status indicator to the status bar 2023-01-31 15:00:49 -08:00
Antonio ScandurraandNathan Sobo 1ac1bd1838 Share new worktrees when resharing project
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-01-06 12:58:19 -07:00
Antonio Scandurra 2aedbfec7a Couple worktree sharing with project metadata updates 2023-01-06 10:31:36 -07:00
Nathan Sobo 01d051d43d Introduce completed_scan_id to worktree
We need to know the most recent scan id we have actually completed. This is to
handle the case where a guest disconnects when we're in the middle of streaming
worktree entries to them. When they reconnect, they need to report a scan_id
from before we started streaming the entries, because we have no record of when
the stream was interrupted.

Next failure:
SEED=5051 ITERATIONS=1 OPERATIONS=200 cargo test --release --package=collab random -- --nocapture
2023-01-03 18:26:57 -07:00
Max Brunsfeld fb1f3b5c4d Clean up projects when leaving a room 2022-12-20 16:44:57 -08:00
Max BrunsfeldandAntonio Scandurra 3470889fb2 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 458b07bc3a Make host reconnection test pass when mutating worktree while offline 2022-12-20 17:30:58 +01:00
Antonio Scandurra 97e3f2da09 Fix project reconnection test to ensure rooms actually reconnects 2022-12-20 14:51:46 +01:00
Max BrunsfeldandNathan Sobo c9fa0ff03f 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 36d40f44ac WIP - Retain hosts' project state when they disconnect 2022-12-19 11:38:08 -08:00
Antonio Scandurra 1c7d888e94 Fix test ensuring room is left when disconnected from LiveKit 2022-12-16 10:52:32 +01:00
Max Brunsfeld e5718bced7 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 f7070792a9 Introduce an epoch to ConnectionId and PeerId 2022-12-14 15:55:56 +01:00
Antonio Scandurra 58a552dd2f Add more logging to Room 2022-12-14 11:43:12 +01:00
Antonio Scandurra 7f9c82f759 Allow server to see client disconnection before giving up on reconnecting 2022-12-13 12:17:21 +01:00
Antonio Scandurra eb27691bc1 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 d96ef3d256 Delete stale rooms/participants after RECONNECT_TIMEOUT 2022-12-13 11:32:37 +01:00
Antonio Scandurra 21aacbb216 Allow re-joining room after server restarts 2022-12-12 16:03:21 +01:00
Antonio Scandurra bfec91b3ba Introduce random reconnections in the randomized test 2022-12-12 11:43:08 +01:00
Antonio Scandurra 7b91966883 Re-join room when client temporarily loses connection 2022-12-12 11:43:08 +01:00
Antonio Scandurra 7b26fceb7b 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 bf3e4936b5 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 75dcc65ac9 Skip applying room updates if they're older than the local room state 2022-11-14 15:35:39 +01:00
Antonio Scandurra 05b8ba4fd0 Wait for acknowledgment before sending the next project update 2022-11-14 15:32:49 +01:00
Antonio Scandurra 1f0709bbef Leave room when connection is dropped 2022-11-14 10:13:36 +01:00
Antonio Scandurra 6406495a37 Remove calls table and use just room_participants 2022-11-11 15:22:04 +01:00
Antonio Scandurra 01127d8733 Start moving Store state into the database 2022-11-11 12:06:43 +01:00
Antonio Scandurra e12739a29c Show a Calling indicator right away when initiating a call 2022-10-25 11:05:57 +02:00
Antonio Scandurra a63f6b99d8 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 493bc28cc6 Simplify room events 2022-10-24 10:53:44 +02:00
Antonio Scandurra 8325be5b10 Show shared screen as a pane item 2022-10-24 10:04:08 +02:00
Antonio Scandurra 03b5a26fd6 Leave Zed room when LiveKit room disconnects 2022-10-21 14:21:45 +02:00
Antonio Scandurra f42838534b Remove unused LKDisplays API 2022-10-21 10:12:24 +02:00
Antonio Scandurra 4a1508d121 WIP 2022-10-20 20:17:54 +02:00
Antonio Scandurra 3c54e91bec Simplify renderer interface for live-kit-client 2022-10-20 09:51:55 +02:00
Nathan Sobo ede148827a Use fake LiveKit server to test we can send frames when screen sharing 2022-10-19 19:14:55 -06:00
Antonio Scandurra 8babdfee19 Model pending screen share in Room 2022-10-19 11:38:24 +02:00
Antonio Scandurra 947efe2909 Prevent Room from screen-sharing twice 2022-10-19 10:45:51 +02:00
Antonio Scandurra 65ddc77fa6 Add control to toggle screen-sharing 2022-10-19 10:19:20 +02:00
Antonio Scandurra 5126184bfb Merge remote-tracking branch 'origin/main' into screen-sharing 2022-10-19 10:04:56 +02:00
Antonio Scandurra 0c5fc49a86 WIP 2022-10-18 19:30:45 +02:00
Antonio Scandurra 2b999d5c44 Disconnect from live-kit Room on drop 2022-10-18 14:50:03 +02:00
Antonio Scandurra 82b5f216e4 Emit Frame event when new frames are generated for a remote track 2022-10-18 12:18:49 +02:00
Antonio Scandurra ebcc4742a3 Use participant identity and track sid everywhere 2022-10-18 12:05:59 +02:00
Nathan Sobo 5701078169 WIP 2022-10-17 23:47:55 -06:00
Nathan Sobo a6ce6eed62 Get test_app running without crashing 2022-10-17 23:38:43 -06:00
Nathan Sobo 821e2f0689 WIP 2022-10-17 23:25:04 -06:00
Mikayla Maki 38ea470734 Added absolute path info to remote worktrees (updated protocol version) 2022-10-17 15:27:46 -07:00
Antonio Scandurra 186219322f WIP 2022-10-17 18:00:54 +02:00