Commit Graph
585 Commits
Author SHA1 Message Date
Antonio Scandurra b1a12cd671 Add failing test for buffer synchronization after disconnecting 2022-12-21 11:56:15 +01:00
Antonio Scandurra 224e642828 Verify removing worktrees while host is offline 2022-12-21 11:47:01 +01:00
Max Brunsfeld 6e377aa2d9 Refresh project collaborator connection id for rejoined projects 2022-12-20 18:03:33 -08:00
Max Brunsfeld 57960beb41 Delete stale projects after cleanup interval, via server foreign key cascade 2022-12-20 17:27:42 -08:00
Max Brunsfeld 4a47b56a72 💄 Avoid repeated sql condition in rejoin_room 2022-12-20 17:23:52 -08:00
Max Brunsfeld ea7214b0e4 💄 Reduce indentation in Database::rejoin_room 2022-12-20 17:16:56 -08:00
Max Brunsfeld c7c947dca2 Remove unnecessary UnshareProject message sent to clients leaving a project 2022-12-20 16:58:44 -08:00
Max Brunsfeld fb1f3b5c4d Clean up projects when leaving a room 2022-12-20 16:44:57 -08:00
Max Brunsfeld 8f2c51abec Merge branch 'main' into project-reconnection 2022-12-20 15:50:09 -08:00
Max BrunsfeldandJulia Risley 2dd709e002 Implement rejoining projects as guest when rejoining a room
Co-authored-by: Julia Risley <julia@zed.dev>
2022-12-20 15:02:26 -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 e2c8a2cb63 Support adding worktrees to project while host is offline 2022-12-20 17:42:08 +01: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
Antonio Scandurra 75346960db Sketch out project reconnection routine on the server 2022-12-20 12:03:43 +01:00
Max Brunsfeld 36d40f44ac WIP - Retain hosts' project state when they disconnect 2022-12-19 11:38:08 -08:00
Max Brunsfeld 99d806fde4 Add failing integration test for resharing projects on reconnect 2022-12-19 11:37:28 -08:00
Antonio Scandurra 70f1e81296 WIP 2022-12-19 20:05:00 +01:00
Julia 6fb3bad2e8 Merge pull request #1983 from zed-industries/multi-buffer-git-gutter
Multi buffer git gutter
2022-12-19 10:53:42 -05: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 15b96a0531 Minor stylistic change 2022-12-15 16:40:16 +01:00
Antonio Scandurra e65429a22b 💄 2022-12-15 16:34:59 +01:00
Antonio Scandurra 7c312a10d9 Merge branch 'main' into fix-reconnects-after-deploy 2022-12-15 15:32:05 +01:00
Antonio Scandurra 7ad68a05d7 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 62c95778b1 Avoid logging an error when user who hasn't joined any room disconnects 2022-12-15 10:45:03 +01:00
Antonio Scandurra b4a4b40623 Use "id" nomenclature more consistently 2022-12-15 10:15:59 +01:00
Julia c0c47139aa Get tests building again 2022-12-15 00:17:28 -05:00
Max Brunsfeld c50083fff9 Fix stale server queries, use foreign keys from connectionsn to servers 2022-12-14 17:34:24 -08:00
Max Brunsfeld a02df9136d Merge pull request #1921 from zed-industries/multibuffer-following
Allow following collaborators into editors with multi-excerpt buffers (refactors + find-all-refs)
2022-12-14 15:33:11 -08:00
Max Brunsfeld 7ae981d252 Add integration test coverage for following into multibuffers 2022-12-14 15:28:58 -08:00
Max Brunsfeld fefe89ace0 Use run_until_parked instead of 'condition' in all integration tests 2022-12-14 15:05:35 -08:00
Antonio Scandurra b04de1ceca WIP 2022-12-14 19:25:07 +01:00
Antonio Scandurra d661abda72 WIP 2022-12-14 18:02:39 +01:00
Antonio Scandurra f7070792a9 Introduce an epoch to ConnectionId and PeerId 2022-12-14 15:55:56 +01:00
Antonio Scandurra 8ae2b7e343 Instrument rpc::Server::start and reduce cleanup timeout again 2022-12-14 11:42:12 +01:00
Antonio Scandurra be5c610880 Try using a longer timeout for cleaning up stale rooms 2022-12-14 11:24:36 +01:00
Antonio Scandurra 989c93dac6 Define readiness probe to know when the new server can accept traffic 2022-12-14 08:54:46 +01:00
Antonio Scandurra e7afe6e578 Don't wait for stale project deletion before listening for connections 2022-12-14 08:42:34 +01:00
Antonio Scandurra 28dc4f0d5b Listen to SIGTERM in addition to ctrl-c for graceful shutdown 2022-12-13 23:08:43 +01:00
Antonio ScandurraandMax Brunsfeld ab0f01e9d5 Set log level to debug for preview deployment
Also, add a log statement when we receive the interrupt signal.

Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-12-13 22:38:55 +01:00
Max BrunsfeldandAntonio Scandurra f515b0d419 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 BrunsfeldandAntonio Scandurra e86b25393f 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 b7a0330fe0 Run until parked before asserting about participants in restart test 2022-12-13 13:53:51 +01:00
Antonio Scandurra 5ee6f231a1 Reset connection pool when tearing down the server in tests 2022-12-13 13:51:25 +01:00
Antonio Scandurra 335120c8d2 Use a synchronous mutex for ConnectionPool 2022-12-13 13:50:51 +01:00
Antonio Scandurra bd7fd58be1 Simulate server restarts in randomized test 2022-12-13 12:18:38 +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 c78ee63d14 💄 2022-12-13 11:37:39 +01:00
Antonio Scandurra a8cf47ea2a Delete stray debug statement 2022-12-13 11:36:40 +01:00