Antonio Scandurra
3190236396
Update worktree entry instead of erroring when it already exists
2022-11-16 08:57:19 +01:00
Joseph Lyons
c3cf056fc5
allow users to sign up multiple times without throwing a 500
2022-11-15 20:04:56 -05:00
Nathan Sobo
fdf758e050
Once we email someone an invite, honor the invitation
...
Previously, we were waiting to decrement the invite_count until a user
confirmed their email address, which created weird situations where we would
email people only to have them get a 500 when trying to sign up. Now, we
decrement the invite_count upon sending the email and always honor the
invitation.
Co-Authored-By: Joseph Lyons <joseph@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-11-15 15:36:59 -07:00
Antonio Scandurra
ad67f5e4de
Always use the database to retrieve collaborators for a project
2022-11-15 17:49:37 +01:00
Antonio Scandurra
e9eadcaa6a
Move Store::update_worktree
to Db::update_worktree
2022-11-15 17:18:28 +01:00
Antonio Scandurra
4b1dcf2d55
Always use strings to represent paths over the wire
...
Previously, the protocol used a mix of strings and bytes without any consistency.
When we go to multiple platforms, we won't be able to mix encodings of paths anyway.
We don't know this is the right approach, but it at least makes things consistent
and easy to read in the database, on the wire, etc. Really, we should be using entry
ids etc to refer to entries on the wire anyway, but there's a chance this is the
wrong decision.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-11-15 16:46:17 +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
3e8fcb04f7
Finish implementing Db::update_project
2022-11-15 09:01:51 +01:00
Antonio Scandurra
42bb5f0e9f
Add random delay after returning results from the database
2022-11-15 08:48:16 +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
40073f6100
Wait for acknowledgment before sending the next project update
2022-11-14 15:32:49 +01:00
Antonio Scandurra
65c5adff05
Automatically decline call when user drops their last connection
2022-11-14 11:32:26 +01:00
Antonio Scandurra
59e8600e4c
Implement Db::cancel_call
2022-11-14 11:12:23 +01:00
Antonio Scandurra
0310e27347
Fix query errors in Db::share_project
2022-11-14 10:53:11 +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
9f39dcf7cf
Get basic calls test passing again
2022-11-11 18:53:23 +01:00
Antonio Scandurra
1135aeecb8
WIP: Move Store::leave_room
to Db::leave_room
2022-11-11 16:59:54 +01:00
Antonio Scandurra
0d1d267213
Move Store::decline_call
to Db::decline_call
2022-11-11 15:41:56 +01:00
Antonio Scandurra
c213c98ea4
Remove calls
table and use just room_participants
2022-11-11 15:22:04 +01:00
Antonio Scandurra
cc58607c3b
Move Store::join_room
into Db::join_room
2022-11-11 14:43:40 +01:00
Antonio Scandurra
58947c5c72
Move incoming calls into Db
2022-11-11 14:28:26 +01:00
Antonio Scandurra
6871bbbc71
Start moving Store
state into the database
2022-11-11 12:06:43 +01:00
Max Brunsfeld
c839ab2028
Add missing cfg(test) attribute to sqlite RowsAffected
2022-11-10 15:04:57 -08:00
Max Brunsfeld
9ce3524eb8
Run db tests against both postgres and sqlite
2022-11-10 14:29:03 -08:00
Max Brunsfeld
dafdc4b4a5
Run tests with an in-memory sqlite database
2022-11-10 12:18:35 -08: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
Antonio Scandurra
1bb41b6f54
Go back to a compiling state and start running tests again
2022-11-10 15:24:49 +01:00
Antonio Scandurra
90d1d9ac82
WIP: add more trait bounds
2022-11-10 12:24:56 +01:00
Max Brunsfeld
bed06346d1
Total WIP - try making Db a generic struct instead of a trait
2022-11-09 19:28:06 -08:00
Max Brunsfeld
7e02ac772a
Start work on using sqlite in tests
2022-11-09 19:26:29 -08:00
Max Brunsfeld
d14dd27cdc
Use a real database in tests, but block on db calls
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-11-09 15:22:50 -08:00
Joseph T Lyons
383334633f
Fix duplicate key error that occurs when a user joins that is already in the db
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-10-25 16:09:36 -04:00
Max Brunsfeld
cedc0f64d5
Run migrations via a collab subcommand
2022-10-21 14:28:55 -07:00
Nathan Sobo
9858906463
Return an optional response when creating users via invites
...
If the user already exists, we return none. This will allow the web frontend
to avoid reporting a "join alpha" user event but also not error.
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Joseph Lyons <joseph@zed.dev>
2022-10-20 10:52:34 -06:00
Max Brunsfeld
b541ac313c
Revert unnecessary logic for fetching invites' platform_unknown flag
2022-10-14 16:13:38 -07:00
Max Brunsfeld
3a4e802093
Include waitlist entries w/ unknown platform when summarizing and sending invites
2022-10-14 15:20:23 -07:00
Antonio Scandurra
afaacba41f
Merge remote-tracking branch 'origin/main' into room
2022-10-10 15:43:38 +02:00
Max Brunsfeld
5d09083a7d
Identify users in amplitude via a separate 'metrics_id' UUID
2022-09-29 13:15:21 -07:00
Antonio Scandurra
1d1bd3975a
Remove current user from contacts
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-28 11:33:38 +02:00
Max Brunsfeld
1db75ca2cf
Make device_id optional on signups table
...
This way, signup won't fail if for some reason, the
user's client-side JS doesn't provide an amplitude
device id.
Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-09-27 16:04:01 -07:00
Max Brunsfeld
4784dbe498
Link signups to users in telemetry via a stored device_id
...
Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-09-26 12:49:04 -07:00
Max Brunsfeld
dac0ce10e5
Return the metrics id from the signup-creation API
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-09-22 14:37:25 -07:00
Max Brunsfeld
7a049f1404
Fix error when loading users without github user ids from the db
2022-09-21 14:27:06 -07:00
Max Brunsfeld
20ec933e23
Proceed gracefully when someone signs up repeatedly
2022-09-21 14:27:06 -07:00
Max Brunsfeld
1877fc234b
Update user retrieval API to take both github user id and github login
2022-09-20 15:41:00 -07:00
Max Brunsfeld
9886259b3a
Start storing users' github user id
2022-09-20 09:44:56 -07:00
Max Brunsfeld
e77263a3c7
Remove bulk user creation admin API
2022-09-19 14:34:37 -07:00