Antonio Scandurra
fcf97ab41e
Bump protocol version
2023-01-17 16:32:54 +01:00
Max Brunsfeld
fe27f135c0
Bump protocol version after reconnect support
2023-01-11 14:00:16 -08:00
Nathan Sobo
386f7ba16d
Merge remote-tracking branch 'origin/main' into project-reconnection
2023-01-06 16:52:22 -07:00
Joseph Lyons
233b28a1b9
Appease clippy
2023-01-01 23:50:45 -05:00
Antonio Scandurra
75803d8dbb
Respond with an error when client hasn't got a registered handle
2022-12-23 11:53:13 +01:00
Antonio Scandurra
47348542ef
Synchronize buffers when either the host or a guest reconnects
2022-12-21 14:20:56 +01:00
Max Brunsfeld
21d6665c37
Merge branch 'main' into project-reconnection
2022-12-20 15:50:09 -08:00
Antonio Scandurra
1aec691b35
Sketch out project reconnection routine on the server
2022-12-20 12:03:43 +01:00
Max Brunsfeld and Nathan Sobo
70dd586be9
Start work on rejoining rooms, supplying all project info at once
...
Co-authored-by: Nathan Sobo <nathan@zed.dev >
2022-12-19 17:50:43 -08:00
Max Brunsfeld
1e02ebbd11
Replicate pending selections separately from other selections
...
This fixes a panic that would occur when a leader created
a pending selection that overlapped another selection,
because the follower would attempt to treat that pending
selection as non-pending, which would violate the invariant
that selections are sorted and disjoint.
2022-12-17 14:00:53 -08:00
Antonio Scandurra
457e1046c8
Bump protocol version
2022-12-16 11:48:14 +01:00
Antonio Scandurra
21ab1bb434
Remove unnecessary PeerId parsing code
2022-12-16 11:45:42 +01:00
Antonio Scandurra
5a334622ea
💄
2022-12-15 16:34:59 +01:00
Antonio Scandurra
688f179256
Use "id" nomenclature more consistently
2022-12-15 10:15:59 +01: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
0220d7ba5d
Include room_id in CallCanceled message
...
This ensures we don't accidentally cancel old calls.
2022-12-13 11:43:09 +01:00
Antonio Scandurra
7bbd97cfb9
Send diagnostic summaries synchronously
2022-12-05 19:07:06 +01:00
Antonio Scandurra
e7e45be6e1
Revert "Wait for previous UpdateFollowers message ack before sending new ones"
...
This reverts commit fe93263ad4 .
2022-11-17 16:57:32 +01:00
Antonio Scandurra
fe93263ad4
Wait for previous UpdateFollowers message ack before sending new ones
2022-11-17 14:12:00 +01:00
Nathan Sobo
e5f05c9f3b
Move leave_project from Store to db module
2022-11-16 17:45:47 -07:00
Antonio Scandurra
faf265328e
Wait for acknowledgment before sending the next diagnostic summary
2022-11-16 16:03:01 +01:00
Antonio Scandurra
3e8fcb04f7
Finish implementing Db::update_project
2022-11-15 09:01:51 +01:00
Antonio Scandurra
40073f6100
Wait for acknowledgment before sending the next project update
2022-11-14 15:32:49 +01:00
Antonio Scandurra
6871bbbc71
Start moving Store state into the database
2022-11-11 12:06:43 +01:00
Antonio Scandurra and Nathan Sobo
dce21900a7
Bump protocol version
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-10-24 17:06:40 +02:00
Antonio Scandurra and Nathan Sobo
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
Mikayla Maki
895aeb033f
Merge branch 'main' into breadcrumbs
2022-10-17 16:51:38 -07:00
K Simmons
09a0b3eb55
increment protocol version
2022-10-17 16:20:51 -07:00
Mikayla Maki
5bb2edca8b
Added absolute path info to remote worktrees (updated protocol version)
2022-10-17 15:27:46 -07:00
Antonio Scandurra
ec19f0f8e9
Remove unnecessary async from Peer::add_connection
2022-10-12 15:32:39 +02:00
Antonio Scandurra
afaacba41f
Merge remote-tracking branch 'origin/main' into room
2022-10-10 15:43:38 +02:00
Antonio Scandurra and Nathan Sobo
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
386de03f46
Fix room disconnection problems when creating room and sharing project
2022-10-07 14:39:11 +02:00
Antonio Scandurra
4cb306fbf3
Implement call cancellation
2022-10-06 15:12:27 +02:00
Antonio Scandurra
456dde200c
Implement Room::set_location
2022-10-04 11:46:01 +02:00
Julia and Mikayla Maki
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
Mikayla Maki
52dbf2f9b8
add proto stuff
2022-10-02 18:01:37 -07:00
Julia
7f84abaf13
Increment protocol version again for previous commit
2022-10-02 14:11:35 -04:00
Mikayla Maki
512f817e2f
Added proto messages for updating the head text
2022-10-01 18:18:35 -07:00
Antonio Scandurra
074b8f18d1
Rip out project registration and use sharing/unsharing instead
2022-09-30 12:23:57 +02:00
Antonio Scandurra
be8990ea78
Remove project join requests
2022-09-30 11:35:50 +02:00
Julia
fcf11b1181
Bump protocol version to be ahead of main
2022-09-29 13:16:02 -04:00
Antonio Scandurra
e55e7e4844
Leave room when Room entity is dropped
2022-09-28 11:33:38 +02:00
Antonio Scandurra
55b095cbd3
Implement joining a room and sending updates after people join/leave
2022-09-28 11:33:38 +02:00
Antonio Scandurra and Nathan Sobo
4a9bf8f4fe
Introduce call infrastructure
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-09-28 11:33:38 +02:00
Antonio Scandurra
ebb5ffcedc
Introduce the ability of creating rooms on the server
2022-09-28 11:33:38 +02:00
Julia
f3395cf4fd
Add editor action to manually invoke buffer format
2022-09-22 18:21:05 -04:00
Antonio Scandurra
ec48ffc9da
Simplify proto::Buffer to express its fields in terms of operations
2022-08-23 12:40:20 +02:00
Antonio Scandurra
9c9bf07e40
Create buffers for remote collaborators out of band
...
Previously, we would use `Project::serialize_buffer_for_peer` and
`Project::deserialize_buffer` respectively in the host and in the
guest to create a new buffer or just send its ID if the host thought
the buffer had already been sent.
These methods would be called as part of other methods, such as
`Project::open_buffer_by_id` or `Project::open_buffer_for_symbol`.
However, if any of the tasks driving the futures that eventually
called `Project::deserialize_buffer` were dropped after the host
responded with the buffer state but (crucially) before the guest
deserialized it and registered it, there could be a situation where
the host thought the guest had the buffer (thus sending them just the
buffer id) and the guest would wait indefinitely.
Given how crucial this interaction is, this commit switches to creating
remote buffers for peers out of band. The host will push buffers to guests,
who will always refer to buffers via IDs and wait for the host to send them,
as opposed to including the buffer's payload as part of some other operation.
2022-08-17 11:55:36 +02:00