Commit Graph
2567 Commits
Author SHA1 Message Date
Antonio Scandurra 7b91966883 Re-join room when client temporarily loses connection 2022-12-12 11:43:08 +01:00
Antonio Scandurra e567b2338c 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
Antonio Scandurra 3e67fbb560 collab 0.3.1 2022-12-09 08:19:41 +01:00
Antonio Scandurra 1dde768596 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
Mikayla Maki 76196726d0 Remove terminal container view, switch to notify errors 2022-12-08 20:21:00 -08:00
Joseph Lyons 545be48e9f collab 0.3.0 2022-12-08 16:35:13 -05:00
Joseph T. Lyons fad9ffead0 Merge pull request #1941 from zed-industries/Allow-overwriting-signup-data
Allow overwriting signup data if a user signs up more than once with the same email address
2022-12-08 16:11:28 -05:00
Joseph Lyons 33bb73561d Ensure that subsequent signup happens after initial
We can't rely on the fact that the test won't run fast enough such that both `created_at`s are the same time.  This ensures the subsequent signup happens after the initial one and that the database doesn't overwrite the initial one.
2022-12-07 08:15:01 -05:00
Antonio Scandurra 4b8d249446 Fix inviting user that had already signed up via a different email 2022-12-07 14:07:01 +01:00
Antonio Scandurra e1ac6969ad Add failing test showcasing inviting existing user via different email 2022-12-07 14:06:59 +01:00
Joseph Lyons 567c5d35a6 Clean up test 2022-12-07 07:12:27 -05:00
Joseph Lyons 88be85b671 Remove comment 2022-12-06 17:18:54 -05:00
Joseph Lyons 7c16866b9d Allow overwriting signup data if a user signs up more than once with the same email address 2022-12-06 17:12:12 -05:00
Antonio Scandurra dd6e608acb Query project count as i64 instead of i32 when gathering metrics
Using the latter will cause a type mismatch when performing the query.
2022-12-06 15:00:32 +01:00
Antonio Scandurra 65fbf7270d Fix busy status when accepting a contact request
Previously, we would send an contact update when accepting a request
using the same `busy` status for both the requester and the responder.
This was obviously wrong and caused the requester to see their own
busy status as the newly-added responder contact's status.
2022-12-06 10:19:34 +01:00
Antonio Scandurra 8a6347fb32 Remove unused UserId import from seed script 2022-12-06 09:07:25 +01:00
Antonio Scandurra b5ede1d2d9 Merge branch 'main' into reconnections-2 2022-12-05 19:18:40 +01:00
Antonio Scandurra 55447288ed Send diagnostic summaries synchronously 2022-12-05 19:07:06 +01:00
Antonio Scandurra 3b695006dd Return project collaborators and connection IDs in a RoomGuard 2022-12-05 18:37:01 +01:00
Antonio ScandurraandNathan Sobo 10c5d40966 Update sea-orm to fix bug on failure to commit transactions
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-12-05 18:36:25 +01:00
Antonio Scandurra b2ce835207 Remove project_id foreign key from room_participants 2022-12-05 15:16:06 +01:00
Antonio Scandurra 24eaca97a8 Upgrade sea-orm 2022-12-05 14:56:01 +01:00
Antonio Scandurra 6c0395255b Remove random pauses to prevent the database from deadlocking 2022-12-05 12:03:45 +01:00
Antonio Scandurra c9171a1e0a Retry transactions if there's a serialization failure during commit 2022-12-05 10:49:53 +01:00
Antonio Scandurra 7baa5da995 Remove duplication between transaction and room_transaction 2022-12-05 09:46:03 +01:00
Julia 46b5e02961 Merge pull request #1924 from zed-industries/simon-says-dont-move
Do not reorder tab opened by follower to end of item list
2022-12-04 13:00:07 -05:00
Kay Simmons 3c6dccdfa7 working serialized writes with panics on failure. Everything seems to be working 2022-12-03 16:06:01 -08:00
Mikayla Maki 163ee2b188 Rebased to main 2022-12-03 16:06:01 -08:00
Kay SimmonsandMikayla Maki ff5f2cbed7 Dock persistence working!
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-12-03 16:06:01 -08:00
Kay Simmons 337881b490 wip 2022-12-03 16:06:01 -08:00
Mikayla Makiand 6c0a41919b Distributed database pattern built.
Co-Authored-By: kay@zed.dev
2022-12-03 16:06:01 -08:00
Mikayla Maki a062ac2c27 Moved to workspaces crate... don't feel great about it 2022-12-03 16:05:26 -08:00
Mikayla Makiand 9551bebee2 Rebase - Got Zed compiling and fixed a build error due to conflicting dependencies that cargo didn't catch :(
Co-Authored-By: kay@zed.dev
2022-12-03 16:04:10 -08:00
JuliaandMax Brunsfeld 3a5fbe5398 Fix tab following order test to wait for file open to propagate
Now it can actually repro the original bug

Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-12-02 16:09:37 -05:00
Antonio ScandurraandMax Brunsfeld ae3c568e51 WIP: Manually rollback transactions to avoid spurious savepoint failure
TODO:
- Avoid unwrapping transaction after f(tx)
- Remove duplication between `transaction` and `room_transaction`
- Introduce random delay before and after committing a transaction
- Run lots of randomized tests
- Investigate diverging diagnostic summaries

Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-12-02 20:36:50 +01:00
Antonio ScandurraandMax Brunsfeld fca76d9abe Remove stale Error variant
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-12-02 19:20:51 +01:00
Antonio Scandurra 3fac823050 Merge branch 'main' into reconnections-2 2022-12-02 19:09:33 +01:00
Antonio Scandurra 1df91393a5 Delete empty rooms 2022-12-02 16:56:41 +01:00
Antonio Scandurra 21f5e6d8a6 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 2b3b729895 Move modules into collab library as opposed to using the binary
This ensures that we can use collab's modules from the seed script
as well.
2022-12-02 14:37:52 +01:00
Antonio Scandurra ed7b6e3eb1 Make all tests pass again after migration to sea-orm 2022-12-02 14:22:36 +01:00
Antonio Scandurra 8a5f89eb56 Use i32 to represent Postgres INTEGER types in Rust 2022-12-02 13:58:54 +01:00
Antonio Scandurra 0ddca2b768 Finish porting remaining db methods to sea-orm 2022-12-02 13:58:23 +01:00
Julia a23a2ba5ad Add test that should have exercised tab reordering while following
Except it doesn't, it passes both with and without the prior commit.
Investigate further
2022-12-02 00:31:16 -05:00
Antonio Scandurra b5676d0eae WIP 2022-12-01 18:39:24 +01:00
Antonio Scandurra 4229c49a0c Replace i32 with u32 for database columns
We never expect to return signed integers and so we shouldn't use
a signed type. I think this was a limitation of sqlx.
2022-12-01 17:47:51 +01:00
Antonio Scandurra 2a33aa6824 Implement Database::update_project 2022-12-01 17:36:36 +01:00
Antonio Scandurra 12178dae19 Implement Database::unshare_project 2022-12-01 16:26:13 +01:00
Antonio Scandurra 99b063f602 Implement Database::project_guest_connection_ids 2022-12-01 16:23:29 +01:00
Antonio Scandurra b55f6ec5bc Avoid using col_expr whenever possible
...and use the more type-safe `::set`.
2022-12-01 16:17:27 +01:00