Julia
e403b868b7
Add followers table to sqlite scheme for tests
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-02-22 11:22:37 -05:00
Max Brunsfeld
49379924cb
Avoid dropping is_complete column for backward compatibility
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-01-11 13:25:02 -08: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
6542b30d1f
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
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
af77f1188a
Re-add server_id indices for room_participants/project_collaborators
2022-12-15 09:58:25 +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
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
073a2988e6
Move creation of room_id index into its own migration
2022-12-13 13:57:41 +01:00
Antonio Scandurra
3cd77bfcc4
Always cast connection ids to i32
...
Postgres doesn't support unsigned types. This also adds indices to
support querying `project_collaborators` and `room_participants`
by connection id.
2022-12-12 11:43:08 +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
2697112a8a
Don't drop unregistered
column in reconnection support migration
...
We don't use this column anymore because, when a project is unshared, we
simply remove it from the `projects` table. However, this column is expected
in the stable version of the server and the database is shared between stable
and preview. If we dropped it, stable would start throwing errors.
2022-12-09 08:11:18 +01:00
Antonio Scandurra
b97c35a468
Remove project_id foreign key from room_participants
2022-12-05 15:16:06 +01:00
Antonio Scandurra
27f6ae945d
Clear stale data on startup
...
This is a stopgap measure until we introduce reconnection support.
2022-12-02 16:30:00 +01:00
Antonio Scandurra
dec5f37e4e
Finish porting remaining db methods to sea-orm
2022-12-02 13:58:23 +01:00
Antonio Scandurra
d9a892a423
Make some db tests pass against the new sea-orm implementation
2022-11-30 12:13:16 +01:00
Antonio Scandurra
11a39226e8
Start on a new db2
module that uses SeaORM
2022-11-29 16:49:04 +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
4f39181c4c
Revert "Don't replace newer diagnostics with older ones"
...
This reverts commit 71eeeedc05
.
2022-11-17 16:57:40 +01:00
Antonio Scandurra
71eeeedc05
Don't replace newer diagnostics with older ones
2022-11-17 12:21:51 +01:00
Antonio Scandurra
9bc57c0c61
Move Store::start_language_server
to Db
2022-11-16 15:48:26 +01:00
Antonio Scandurra
f9567ae116
Cascade deletes when project is deleted
2022-11-16 10:41:36 +01:00
Antonio Scandurra
0817f905a2
Fix syntax error in schema
2022-11-15 18:02:07 +01:00
Antonio Scandurra
e9eadcaa6a
Move Store::update_worktree
to Db::update_worktree
2022-11-15 17:18:28 +01:00
Antonio Scandurra
974ef967a3
Move Store::join_project
to Db::join_project
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-11-15 16:37:51 +01:00
Antonio Scandurra
be523617c9
Start reworking join_project
to use the database
2022-11-15 11:44:26 +01:00
Antonio Scandurra
6cbf197226
Determine whether a contact is busy via the database
2022-11-15 10:41:21 +01:00
Antonio Scandurra
b9af2ae66e
Switch to serializable isolation
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-11-14 19:39:12 +01:00
Antonio Scandurra
9902211af1
Leave room when connection is dropped
2022-11-14 10:13:36 +01:00
Antonio Scandurra
2145965749
WIP
2022-11-11 19:36:20 +01:00
Antonio Scandurra
1135aeecb8
WIP: Move Store::leave_room
to Db::leave_room
2022-11-11 16:59:54 +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
f639c4c3d1
Add schema for reconnection support
2022-11-11 10:41:44 +01:00
Max Brunsfeld
05a6bd914d
Get integration tests passing with sqlite
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-11-10 11:03:52 -08:00
Max Brunsfeld
7e02ac772a
Start work on using sqlite in tests
2022-11-09 19:26:29 -08:00