Nathan Sobo
bdb521cb6b
Fix typo in query
2022-11-16 16:52:05 -07:00
Joseph Lyons
c613c98e37
Move comment to correct location
2022-11-16 17:28:50 -05:00
Antonio Scandurra
adf43c87dd
Batch some of the new queries in Db
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-11-16 17:19:06 +01:00
Antonio Scandurra
faf265328e
Wait for acknowledgment before sending the next diagnostic summary
2022-11-16 16:03:01 +01:00
Antonio Scandurra
9bc57c0c61
Move Store::start_language_server
to Db
2022-11-16 15:48:26 +01:00
Antonio Scandurra
95369f92eb
Move Store::update_diagnostic_summary
to Db
2022-11-16 15:41:33 +01:00
Antonio Scandurra
117458f4f6
Send worktree updates after project metadata has been sent
2022-11-16 14:58:11 +01:00
Antonio Scandurra
eeb32fa888
Improve queries for composite primary keys
2022-11-16 11:07:39 +01:00
Antonio Scandurra
f9567ae116
Cascade deletes when project is deleted
2022-11-16 10:41:36 +01:00
Antonio Scandurra
c151c87e12
Correctly leave projects when leaving room
2022-11-16 10:36:48 +01:00
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
275f0ae492
collab 0.2.3
2022-11-15 15:45:04 -07: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
0817f905a2
Fix syntax error in schema
2022-11-15 18:02:07 +01: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
Max Brunsfeld
6659dac2e5
Fix compile errors in seed script, ensure it is compiled on CI
...
Co-authored-by: Nate Butler <nate@zed.dev>
2022-11-14 11:12:25 -08: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
11caba4a4c
Remove stray log statement
2022-11-11 18:54:08 +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
a6198c9a1a
Merge pull request #1870 from zed-industries/fix-remote-abs-paths
...
Fix bug where absolute paths of worktrees were not being stored on the server
2022-11-11 15:28:17 +00: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
Antonio Scandurra
28aa1567ce
Include sender_user_id
when handling a server message/request
2022-11-11 11:45:58 +01:00
Antonio Scandurra
f639c4c3d1
Add schema for reconnection support
2022-11-11 10:41:44 +01:00
Kay Simmons
3d5a3634cf
Merge pull request #1867 from zed-industries/drag-project-entry-to-pane
...
Drag project entry to pane
2022-11-10 17:25:22 -08:00
Max Brunsfeld
2d4deaafcd
Use upstream sqlx git repository
2022-11-10 15:13:32 -08:00
Max Brunsfeld
c839ab2028
Add missing cfg(test) attribute to sqlite RowsAffected
2022-11-10 15:04:57 -08:00
Max Brunsfeld
5d17347a45
Use our fork of sqlx, for now
2022-11-10 14:58:05 -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
Nathan Sobo
fb03eb7a3c
Store absolute path on server when sharing worktree
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-11-10 09:34:16 -07: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
Kay Simmons
738893c527
Split and move to pane working
2022-11-08 14:19:31 -08:00
Max Brunsfeld
18ff459014
collab 0.2.2
2022-11-04 10:04:14 -07:00
Max Brunsfeld
c411cb7eef
collab 0.2.1
2022-11-02 10:27:26 -07:00
Antonio Scandurra
86057ab071
Merge pull request #1843 from zed-industries/call-randomized-test
...
Model calls in randomized collaboration test
2022-11-02 13:03:34 +00:00
Antonio Scandurra
d6d1e20f07
Ensure declining call doesn't accidentally leave a room
2022-11-01 18:48:08 +01:00
Antonio Scandurra
88d2e2e277
Introduce calls to randomized collaboration test
2022-11-01 15:44:00 +01:00
Antonio Scandurra
946c92667f
Don't drop fake LSP adapter's receiver before simulate ends
2022-11-01 14:28:01 +01:00
Antonio Scandurra
f54f653d42
Don't return an error when failing to send AddProjectCollaborator
...
This can happen when a peer has disconnected but we haven't yet been
able to acquire a lock to the store to clean up the state associated
with it.
2022-11-01 11:21:40 +01:00
Antonio Scandurra
ef72c75fab
Honor MAX_PEERS
env variable in randomized test
2022-11-01 10:24:26 +01:00
Antonio Scandurra
c6e52dbef7
Fix hang due to acquiring rng lock twice
2022-11-01 09:35:53 +01:00
Antonio Scandurra
62547e87dd
Prevent randomized test from failing if another guest disconnects
2022-11-01 09:27:51 +01:00
Antonio Scandurra
eb6b545eeb
Fix outstanding compiler errors in randomized collaboration test
2022-11-01 08:40:31 +01:00
Antonio Scandurra
4c4ebbfa19
Start removing distinction between host and guest in random collab test
2022-11-01 08:40:08 +01:00
Julia
c4b21a0ab5
Add action to go to next/previous git diff in editor
...
Co-Authored-By: Kay Simmons <kay@zed.dev>
2022-10-28 15:08:13 -04:00
Max Brunsfeld
22db5bffe8
Update DO SSL certificate id in kube manifest
2022-10-26 16:19:19 -07:00
Max Brunsfeld
a61f3b715b
Create preview channel
2022-10-26 16:19:19 -07:00
Antonio Scandurra
bb0f6e85a8
Assign a new language when remote buffer is renamed
2022-10-26 17:52:39 +02: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
c96c8fd782
collab 0.2.0
2022-10-24 17:06:54 -07:00
Max Brunsfeld
c80395fc18
Merge branch 'main' into auto-deploy-collab
2022-10-24 12:01:32 -07:00
Antonio Scandurra
484c8f7cbe
Provide LiveKit environment variables on Kubernetes
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-24 17:03:18 +02:00
Antonio Scandurra
50c4783333
Add test for screen-sharing
2022-10-24 15:17:25 +02:00
Antonio Scandurra
9860dbbbea
Set location on ActiveCall
even before there's a room
...
We will automatically call `Room::set_location` once a room has been
assigned.
2022-10-24 15:07:25 +02:00
Antonio Scandurra
a8bd234aa4
Simplify room events
2022-10-24 10:53:44 +02:00
Antonio Scandurra
476020ae84
Show shared screen as a pane item
2022-10-24 10:04:08 +02:00
Max Brunsfeld
2f1ddc0d0f
Improve deploy scripts
2022-10-21 15:50:14 -07:00
Max Brunsfeld
cedc0f64d5
Run migrations via a collab subcommand
2022-10-21 14:28:55 -07:00
Max Brunsfeld
9952f08cce
Publish collab docker images on CI, deploy pre-built images
2022-10-21 14:24:43 -07:00
Antonio Scandurra
7e411ae098
Merge branch 'main' into screen-sharing
...
# Conflicts:
# crates/collab/src/integration_tests.rs
# crates/collab/src/main.rs
# styles/src/styleTree/workspace.ts
2022-10-21 14:29:45 +02:00
Antonio Scandurra
1bbb7dd126
Leave Zed room when LiveKit room disconnects
2022-10-21 14:21:45 +02: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
Antonio Scandurra
5dc82d3df8
Delete all live-kit rooms when server is shut down
2022-10-20 14:34:05 +02:00
Nathan Sobo
69472f7823
Ensure we can send a second frame
2022-10-19 19:21:09 -06:00
Nathan Sobo
723fa83909
Use fake LiveKit server to test we can send frames when screen sharing
2022-10-19 19:14:55 -06:00
Max Brunsfeld
83e4e26989
Allow setting ZED_SERVER_URL to URL of a collab server
2022-10-19 13:27:14 -07:00
Antonio Scandurra
b6e5aa3bb0
Use live_kit_client::TestServer
in integration tests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-19 16:35:34 +02:00
Antonio Scandurra
219793afcc
Merge remote-tracking branch 'origin/main' into screen-sharing
2022-10-19 10:04:56 +02:00
Max Brunsfeld
c410935c9c
Allow impersonating users via the api token, bypassing oauth
2022-10-18 17:36:54 -07:00
Max Brunsfeld
5e57a33df7
Store entire Config struct on collab AppState
2022-10-18 13:58:03 -07:00
Max Brunsfeld
38bdf7ad92
Remove unused env vars from collab k8s manifest
2022-10-18 13:58:03 -07:00
Antonio Scandurra
6c322dc835
Clear out incoming call when removing last connection for a user
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-18 19:15:14 +02:00
Antonio Scandurra
0c0e8688ed
Use PeerId
in TestServer::disconnect_client
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-18 19:05:37 +02:00
Antonio Scandurra
6146923dbb
WIP: Start on test to ensure incoming calls cancel upon recipient disconnection
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-18 18:45:50 +02:00
Antonio Scandurra
2c4f003897
Tell clients their peer id on connection in Hello message
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-18 18:42:55 +02:00
Antonio Scandurra
0491747eed
Only leave room on connections that are associated with the active call
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-18 17:42:10 +02:00
Antonio Scandurra
48a1dd1588
Delete room when no participants are left
2022-10-18 14:59:12 +02:00
Mikayla Maki
5bb2edca8b
Added absolute path info to remote worktrees (updated protocol version)
2022-10-17 15:27:46 -07:00
Mikayla Maki
1789dfb8b1
Fixed tests
2022-10-17 14:53:52 -07:00
Antonio Scandurra
499b8f5f55
WIP
2022-10-17 18:00:54 +02:00
Antonio Scandurra
81d83841ab
WIP: Start integrating screen-sharing
2022-10-17 14:50:05 +02:00
Antonio Scandurra
cce00526b9
Remove participants from live-kit rooms when they leave zed rooms
2022-10-17 14:03:44 +02:00
Antonio Scandurra
c9225bb87c
WIP: Start integrating with LiveKit when creating/joining rooms
2022-10-17 12:20:55 +02: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
Max Brunsfeld
2d3d07d4d7
Clear project's shared state upon every disconnection
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Antonio Scandurra <as-cii@zed.dev>
2022-10-14 10:17:59 -07:00
Antonio Scandurra
b8bc5a282e
Allow inviting users to a project that was shared by someone else
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-10-13 18:48:14 +02:00
Antonio Scandurra
a5a60eb854
Log view name alongside error in ChildView
2022-10-13 15:44:01 +02:00
Max Brunsfeld
6cdf4e98fc
Re-export basic text types from text and language crates
...
Also avoid production dependencies on fs and rope in collab
2022-10-12 15:48:19 -07:00
Max Brunsfeld
69dcfbb423
Send guests DiskBasedDiagnosticsFinished messages when they join a project
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-10-12 13:49:09 -07:00
Max Brunsfeld
3c3671a193
Avoid sending stale diagnostics after sharing a worktree
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-10-12 11:33:19 -07:00
Antonio Scandurra
ec19f0f8e9
Remove unnecessary async from Peer::add_connection
2022-10-12 15:32:39 +02:00
Antonio Scandurra
9adbab5d99
Fix opening a buffer after leaving and joining the same project
...
This bug existed prior to #1700 and was caused by not clearing the
buffers that were already shared with a peer that left and opened
a project using the same connection. When such peer would re-join
the project and open a buffer that it had opened previously, the
host assumed the peer had already seen that buffer and wouldn't bother
sending it again.
2022-10-12 10:31:06 +02:00
Mikayla Maki
41590ef64b
Merge branch 'main' into test-branch
2022-10-11 19:55:32 -07:00
Kay Simmons
81a3a22379
Merge pull request #1685 from zed-industries/vim-text-objects
...
Vim Text Objects and Numeric Repitions
2022-10-11 16:36:19 -07:00
Mikayla Maki
0beb97547e
Finished refactoring out fs and rope
2022-10-11 15:25:54 -07:00
Max Brunsfeld
0e695eaae8
Wait for project sharing to complete in LSP status integration test
2022-10-11 12:15:54 -07:00
Antonio Scandurra
ee2587d3e5
Fix integration tests
2022-10-11 17:09:54 +02:00
Antonio Scandurra
4504b36c8f
Show a different message when participant is active on unshared project
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-11 15:24:31 +02:00
Antonio Scandurra
8e7f96cebc
Update contacts when automatically canceling calls
2022-10-11 11:55:15 +02:00
Antonio Scandurra
1d4bdfc4a1
Cancel calls automatically when caller hangs up or disconnects
2022-10-11 11:28:27 +02:00
Antonio Scandurra
bf488f2027
Show project root names when displaying incoming call notification
2022-10-11 10:59:36 +02:00
Nathan Sobo
b8c2acf0f2
Show worktree root names when sharing additional projects on a call
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2022-10-10 17:56:03 -06:00
Antonio Scandurra
d9d99e5e04
Fix seed script
2022-10-10 16:05:22 +02:00
Antonio Scandurra
afaacba41f
Merge remote-tracking branch 'origin/main' into room
2022-10-10 15:43:38 +02:00
K Simmons
515c1ea123
Fixed some neovim test context issues, added repeated commands in vim mode, and ported some tests to use the neovim testing strategy
2022-10-08 21:52:07 -07:00
Antonio Scandurra
f9fb3f78b2
WIP: Render active call in contacts popover
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-07 17:01:48 +02:00
Antonio Scandurra
6fb5901d69
Ensure sharing the same project twice is idempotent
2022-10-07 14:47:06 +02:00
Antonio Scandurra
386de03f46
Fix room disconnection problems when creating room and sharing project
2022-10-07 14:39:11 +02:00
Antonio Scandurra
d7cea646fc
Include a busy
field in proto::Contact
2022-10-07 12:21:56 +02:00
Antonio Scandurra
669406d5af
Leave room when client is the only participant
2022-10-07 11:58:49 +02:00
Antonio Scandurra
b479c8c8ba
Move project sharing into Room
2022-10-07 10:14:17 +02:00
Antonio Scandurra
3d467a9491
Unset room on active call when disconnecting
2022-10-07 09:23:25 +02:00
Julia
d67fad8dca
Extend a test to cover repos not at worktree root
2022-10-06 22:20:10 -04:00
Antonio Scandurra
95e08edbb8
Always include room id in protos
...
This is redundant, but it futures-proof the ability to talk about
multiple rooms at any given time and feels safer in terms of race
conditions.
2022-10-06 15:20:49 +02:00
Antonio Scandurra
4cb306fbf3
Implement call cancellation
2022-10-06 15:12:27 +02:00
Antonio Scandurra
2e84fc6737
Delete rooms without pending users or participants
2022-10-06 14:20:40 +02:00
Antonio Scandurra
55cc142319
Move incoming calls into ActiveCall
2022-10-06 09:50:26 +02:00
Antonio Scandurra
fa31c9659b
Check room invariants in Store::check_invariants
2022-10-05 16:29:22 +02:00
Antonio Scandurra
5ef342f8c4
Enhance integration test to verify creating rooms while busy
2022-10-05 16:20:01 +02:00
Antonio Scandurra
5b811e4304
Add integration test verifying calls to busy users
2022-10-05 16:14:40 +02:00
Julia
836b536a90
Merge pull request #1632 from zed-industries/git-gutter
...
Tracking PR: Git gutter
2022-10-04 15:12:28 -04:00
Antonio Scandurra
fceba6814f
Automatically share project when creating the room
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-10-04 19:25:48 +02:00
Antonio Scandurra
41240351d3
Simplify Collaborator
to stop including the user
...
It can be retrieved from the `Room` and we're guaranteed to have
a room in order to have collaborators in a project.
2022-10-04 18:00:54 +02:00
Antonio Scandurra
456dde200c
Implement Room::set_location
2022-10-04 11:46:01 +02:00
Julia
e6487de069
Rename head text to indicate that it's not always going to be from head
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-10-03 15:11:06 -04:00