Commit Graph
71 Commits
Author SHA1 Message Date
Max Brunsfeld cf6ce0dbad Start work on storing notifications in the database 2023-10-12 17:41:07 -07:00
Mikayla d7d027bcf1 Rename release channel to enviroment 2023-10-10 13:23:03 -07:00
40430cf01b Update channel rooms to be ephemeral
Remove redundant live kit initialization code
Fix bug in recent channel links changes where channel rooms would have the incorrect release set

co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
co-authored-by: Max <max@zed.dev>
2023-10-10 12:39:16 -07:00
Conrad Irwin 162cb19cff Only allow one release channel in a call 2023-10-09 12:59:18 -06:00
Max BrunsfeldandMikayla d9d997b218 Avoid N+1 query for channels with notes changes
Also, start work on new timing for recording observed notes edits.

Co-authored-by: Mikayla <mikayla@zed.dev>
2023-10-02 15:58:34 -07:00
Mikayla 51cf6a5ff3 Add database implementation of channel message change tracking 2023-10-01 22:32:11 -07:00
Mikayla 9ba975d6ad Channel notifications from the server works 2023-10-01 22:30:21 -07:00
Mikayla 1469c02998 Add observed_channel_notes table and implement note diffing 2023-10-01 22:26:27 -07:00
Max Brunsfeld e9c1ad6acd Undo making project optional on stored follower states
Following works without a project, but following in unshared projects does
not need to be replicated to other participants.
2023-09-28 14:21:44 -07:00
Max BrunsfeldandConrad 0f39b63801 Rename color_index to participant_index
Co-authored-by: Conrad <conrad@zed.dev>
2023-09-28 11:37:22 -07:00
545b5e0161 Assign unique color indices to room participants, use those instead of replica_ids
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
2023-09-28 11:06:09 -07:00
Max Brunsfeld c71566e7f5 Make project id optional when following - server only 2023-09-21 13:14:15 -07:00
Max Brunsfeld da5a77badf Start work on restoring server-side code for chat messages 2023-09-07 16:32:49 -07:00
Mikayla 6fdf101745 Update database and RPC to provide configured feature flags 2023-08-25 14:34:32 -07:00
Max BrunsfeldandMikayla 11ef5e2740 Simplify buffer_operations schema
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:37:01 -07:00
Max BrunsfeldandMikayla 1d08f44e70 Snapshot channel notes buffers when everyone leaves
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:37:01 -07:00
Max Brunsfeld 95ea664725 WIP 2023-08-23 18:34:43 -07:00
Mikayla 364ed1f840 WIP: pass synchronize channel buffers integration test 2023-08-23 18:34:43 -07:00
Max Brunsfeld ff5035ea37 Start work on storing channel buffers 2023-08-23 18:34:43 -07:00
Max BrunsfeldandMikayla 778fd6b0a9 Represent channel relationships using paths table
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-09 10:36:27 -07:00
Mikayla Makiandmax 92fa879b0c Add ability to join a room from a channel ID
co-authored-by: max <max@zed.dev>
2023-07-31 16:53:57 -07:00
Max BrunsfeldandMikayla 4b94bfa045 Set up basic RPC for managing channels
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-07-28 17:05:56 -07:00
Mikayla Maki 0998440bdd implement recursive channel query 2023-07-28 13:24:43 -07:00
Mikayla Maki 26a94b5244 WIP: Channel CRUD 2023-07-28 13:24:43 -07:00
Max Brunsfeld bb70901e71 WIP 2023-07-28 13:24:43 -07:00
Max Brunsfeld cd823ede4d Add a bit to each entry indicating if it's outside of the worktree root 2023-06-22 10:34:28 -07:00
Mikayla Maki 28ba27c9c5 Merge branch 'main' into stream-git-statuses 2023-06-07 14:12:58 -07:00
Mikayla Maki 4ac5f7b14e Add statuses to test integration 2023-06-05 12:06:23 -07:00
Max Brunsfeld 8f95435548 Replicate project-specific settings when collaborating 2023-05-30 18:08:03 -07:00
Mikayla Maki 65d4c4f6ed Add integration test for git status 2023-05-10 17:37:36 -07:00
Mikayla MakiandMax 270147d20c Finished RepositoryEntry refactoring, smoke tests passing
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla MakiandMax 8301ee43d6 WIP: Add repository entries to collab and synchronize when rejoining the room
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
JuliaandAntonio Scandurra 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 BrunsfeldandAntonio Scandurra 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 BrunsfeldandJulia Risley 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