Max Brunsfeld
61d048cb25
Don't wait for host's reply before broadcasting buffer updates to guests
2023-04-11 12:37:08 -07:00
Antonio Scandurra
9761febf82
Avoid broadcasting SaveBuffer
in response to a client's save request
...
The host will send a `SaveBuffer` message anyway and this prevents re-querying
the database, which could cause two `BufferSaved` messages to race and, as a
result, cause guest to apply them in the wrong order.
2023-04-10 10:02:13 +02:00
Max Brunsfeld
e50c48852a
Wait for host to acknowledge buffer updates before sending them to other guests
2023-04-07 16:27:48 -07:00
Antonio Scandurra
cba41ef7c5
Create user record automatically when someone logs in on the website
...
Now that we are moving out of the private alpha, we should let everyone
in when they try to log into zed.dev.
2023-03-14 12:25:04 +01:00
Antonio Scandurra
bca1acf6d3
Leave room on quit
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-03-13 17:52:10 +01:00
Antonio Scandurra
b4561b848d
Limit the number of parallel messages handled for any given connection
2023-03-08 17:04:01 +01:00
Julia
d173b1d412
Update db followers table when user leaves a project
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-03-07 18:56:03 -05:00
Julia
b9110c9268
Increase reconnect timeout
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-03-03 13:10:08 -08:00
Antonio Scandurra
bbeb33bc7e
Fix error when deleting rooms containing projects on refresh
...
A foreign key violation was causing the server to never delete stale
rooms during `Database::refresh_room` due to having one or more project
records referencing the room.
2023-02-23 15:54:35 +01:00
Max Brunsfeld
0dc92bec5c
Retrieve room id from the project when following/unfollowing
...
Previously, we were accidentally using the project id as the room id.
2023-02-22 11:34:55 -05:00
Julia
2592ec7265
Initial tracking of unfollows on collab server
2023-02-22 11:21:23 -05:00
Julia
d6462c611c
Begin tracking follow states on collab server
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-02-22 11:21:23 -05:00
Petros Amoiridis
73af155dd6
Refactor Database::remove_contact
...
Refactor it to avoid sending irrelevant messages to update the UI.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-01-26 19:01:51 +02:00
Petros Amoiridis
5d4eb2b7ae
Push responder and requester to remove_contacts
...
When we ask the server to remove a contact we need to push the requester and responder ids to `remove_contacts` so that when the UI updates, the correct contacts will disappear from the list.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-01-25 13:10:29 +02:00
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
Nathan Sobo
789bbf15b7
Update buffer files when synchronizing buffers
...
It's possible that the host was disconnected when attempting to notify
guests of a file save, so we need to transmit this in order to correctly
update the file's mtime.
Next failing seed OPERATIONS=200 SEED=6894
2023-01-04 12:33:48 -07:00
Nathan Sobo
90fb9b53ad
WIP
2023-01-03 13:30:14 -07:00
Max Brunsfeld
599acf0daa
WIP - Panic immediately when detecting non-determinism via a change to the execution trace
2022-12-23 17:34:13 -08:00
Antonio Scandurra
47348542ef
Synchronize buffers when either the host or a guest reconnects
2022-12-21 14:20:56 +01:00
Max Brunsfeld
213be3d6bd
Delete stale projects after cleanup interval, via server foreign key cascade
2022-12-20 17:27:42 -08:00
Max Brunsfeld
cb8962691a
Remove unnecessary UnshareProject message sent to clients leaving a project
2022-12-20 16:58:44 -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
Antonio Scandurra
1aec691b35
Sketch out project reconnection routine on the server
2022-12-20 12:03:43 +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
5a334622ea
💄
2022-12-15 16:34:59 +01:00
Antonio Scandurra
86e5ae1f2e
Allow nulls in projects.host_connection_{id,server_id}
...
The server version on stable won't be able to fill values for those
columns when we deploy the migration to preview.
With this commit we're also dropping the unused `worktree_extensions`
and `project_activity_periods` tables. The last version of the server
on stable (0.2.6) doesn't contain any code that accesses those tables.
2022-12-15 11:30:51 +01:00
Antonio Scandurra
067a19c971
Avoid logging an error when user who hasn't joined any room disconnects
2022-12-15 10:45:03 +01:00
Antonio Scandurra
688f179256
Use "id" nomenclature more consistently
2022-12-15 10:15:59 +01:00
Max Brunsfeld
6c58a4f885
Fix stale server queries, use foreign keys from connectionsn to servers
2022-12-14 17:34:24 -08:00
Antonio Scandurra
363e3cae4b
WIP
2022-12-14 19:25:07 +01:00
Antonio Scandurra
930be6706f
WIP
2022-12-14 18:02:39 +01:00
Antonio Scandurra
05e99eb67e
Introduce an epoch to ConnectionId
and PeerId
2022-12-14 15:55:56 +01:00
Antonio Scandurra
674fddac87
Instrument rpc::Server::start
and reduce cleanup timeout again
2022-12-14 11:42:12 +01:00
Antonio Scandurra
9530976f61
Try using a longer timeout for cleaning up stale rooms
2022-12-14 11:24:36 +01:00
Antonio Scandurra
897506c797
Define readiness probe to know when the new server can accept traffic
2022-12-14 08:54:46 +01:00
Antonio Scandurra
dde6cf596e
Don't wait for stale project deletion before listening for connections
2022-12-14 08:42:34 +01:00
Max Brunsfeld
45bfcfc3b8
Fix excessive delay before clearing stale room data
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-12-13 11:17:20 -08:00
Max Brunsfeld
6ad326ac58
Wait longer before deleting outdated rooms from the database
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-12-13 10:14:43 -08:00
Antonio Scandurra
4dc838fbb7
Reset connection pool when tearing down the server in tests
2022-12-13 13:51:25 +01:00
Antonio Scandurra
d4c8fa3090
Use a synchronous mutex for ConnectionPool
2022-12-13 13:50:51 +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
e2b132ef23
💄
2022-12-13 11:37:39 +01:00
Antonio Scandurra
7e8d9d52d3
Delete stray debug statement
2022-12-13 11:36:40 +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
456396ca6e
Rename connection_lost
to answering_connection_lost
2022-12-12 11:43:08 +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
d74fb97158
Remove Executor
trait from collab
and use an enum instead
...
This will let us save off the executor and avoid using generics.
2022-12-12 11:43:08 +01:00