Antonio Scandurra
8487ae77e7
Share new worktrees when resharing project
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-01-06 12:58:19 -07:00
Antonio Scandurra
8c5a0ca3a4
Couple worktree sharing with project metadata updates
2023-01-06 10:31:36 -07:00
Nathan Sobo
1dd085fc92
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
bb00134f5f
Clean up projects when leaving a room
2022-12-20 16:44:57 -08:00
Max Brunsfeld
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 Brunsfeld
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 Scandurra
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
fb5c6493cf
WIP: Start on a fake implementation of live-kit
2022-10-19 13:53:40 +02: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