Commit Graph
172 Commits
Author SHA1 Message Date
Antonio ScandurraandNathan Sobo 019cc9959b Bump protocol version
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-24 17:06:40 +02:00
Antonio ScandurraandNathan Sobo 05d7ed8c59 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 c59df65e85 Merge branch 'main' into breadcrumbs 2022-10-17 16:51:38 -07:00
K Simmons 489f2b1555 increment protocol version 2022-10-17 16:20:51 -07:00
Mikayla Maki 38ea470734 Added absolute path info to remote worktrees (updated protocol version) 2022-10-17 15:27:46 -07:00
Antonio Scandurra f7de77de3c Remove unnecessary async from Peer::add_connection 2022-10-12 15:32:39 +02:00
Antonio Scandurra 794bea8dbd Merge remote-tracking branch 'origin/main' into room 2022-10-10 15:43:38 +02:00
Antonio ScandurraandNathan Sobo cf72bc4a14 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 d0fb6b3376 Fix room disconnection problems when creating room and sharing project 2022-10-07 14:39:11 +02:00
Antonio Scandurra bf30092c63 Implement call cancellation 2022-10-06 15:12:27 +02:00
Antonio Scandurra 396fc03fff Implement Room::set_location 2022-10-04 11:46:01 +02:00
JuliaandMikayla Maki 0615592f81 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 a64bc92bb5 add proto stuff 2022-10-02 18:01:37 -07:00
Julia 3ae3b2a83c Increment protocol version again for previous commit 2022-10-02 14:11:35 -04:00
Mikayla Maki bf215cf3c8 Added proto messages for updating the head text 2022-10-01 18:18:35 -07:00
Antonio Scandurra 9d6f15cb60 Rip out project registration and use sharing/unsharing instead 2022-09-30 12:23:57 +02:00
Antonio Scandurra 0b6390b1a2 Remove project join requests 2022-09-30 11:35:50 +02:00
Julia 883465c016 Bump protocol version to be ahead of main 2022-09-29 13:16:02 -04:00
Antonio Scandurra d45d67a20b Leave room when Room entity is dropped 2022-09-28 11:33:38 +02:00
Antonio Scandurra ee8e200dd9 Implement joining a room and sending updates after people join/leave 2022-09-28 11:33:38 +02:00
Antonio ScandurraandNathan Sobo 6e53365ff0 Introduce call infrastructure
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-28 11:33:38 +02:00
Antonio Scandurra 1579040207 Introduce the ability of creating rooms on the server 2022-09-28 11:33:38 +02:00
Julia 018a737961 Add editor action to manually invoke buffer format 2022-09-22 18:21:05 -04:00
Antonio Scandurra 9aa646cc86 Simplify proto::Buffer to express its fields in terms of operations 2022-08-23 12:40:20 +02:00
Antonio Scandurra 2e7bfd19c1 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
Antonio Scandurra 5f5af7fa29 Bump protocol version 2022-08-17 11:31:48 +02:00
ForLoveOfCatsandMikayla fbea44bc5c One big cleanup pass of clippy lints
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
ForLoveOfCats ef6efc9590 Add "go to type definition" action 2022-07-29 11:41:08 -04:00
Max Brunsfeld 2e0a770518 Bump the RPC protocol version 2022-07-25 11:36:52 -07:00
Antonio Scandurra e8850d498c Merge branch 'main' into user-timeline 2022-07-04 09:23:16 +02:00
Antonio Scandurra c18607bf40 Split worktree updates when a peer joins an already-shared project 2022-06-30 16:49:56 +02:00
Antonio ScandurraandNathan Sobo 1ada2ebacb Record worktree extensions every 5 minutes
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-29 16:58:19 +02:00
Antonio Scandurra 2bff764afa Register project activity for offline projects as well 2022-06-29 14:55:04 +02:00
Keith Simmons 98c942fa28 bump protocol version and fix panic from storing display points instead of anchors 2022-06-27 15:10:36 -07:00
Antonio ScandurraandNathan Sobo 4f4829ba11 Use BTreeMap in Server so we release memory when maps are cleared
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-23 18:02:17 +02:00
Max Brunsfeld 744749e8af Prioritize keepalive pings over incoming message handling in Peer 2022-06-22 14:44:05 -07:00
Max Brunsfeld 449dc27aeb Enable env log in peer tests 2022-06-22 14:42:20 -07:00
Antonio Scandurra 3be9dd77ef Remove non-determinism from Peer caused by smol's timeout helper 2022-06-22 18:39:12 +02:00
Antonio Scandurra aefe40b6d6 Bump protocol version 2022-06-17 12:39:59 +02:00
Antonio Scandurra e627636760 Track active projects in metrics
An active project is defined as a project where there has been at
least a buffer edit, a join request/response, or a follow update
in the last minute.
2022-06-15 10:33:20 +02:00
Antonio Scandurra 5c4437f02d Bump protocol version 2022-06-14 15:21:37 +02:00
Keith Simmons a0328d6eef Merge pull request #1078 from zed-industries/lsp-hover
LSP Hover Information
2022-06-07 14:45:43 -07:00
Isaac Clayton 91acab26b0 Get minimal POC working 2022-06-07 11:52:52 -07:00
Antonio ScandurraandMax Brunsfeld 33183cfdab Avoid refreshing diagnostics for language servers that didn't update
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-06-07 19:05:06 +02:00
Max Brunsfeld 28df0f8cf6 Bump protocol version 2022-06-02 18:06:29 -07:00
Max Brunsfeld 0591ddd47a Change project registration RPC APIs to smooth out UI updates
* Make `UnregisterProject` a request. This way the client-side project can wait
  to clear out its remote id until the request has completed, so that the
  contacts panel can avoid showing duplicate private/public projects in the
  brief time after unregistering a project, before the next UpdateCollaborators
  message is received.
* Remove the `RegisterWorktree` and `UnregisterWorktree` methods and replace
  them with a single `UpdateProject` method that idempotently updates the
  Project's list of worktrees.
2022-06-02 17:32:43 -07:00
Antonio Scandurra 025f9af73b Cap MessageStream buffer size to 1MB
We temporarily let it grow when the message size exceed the limit,
but restore the buffer's capacity shortly after. This ensures that,
for each connection in its entire lifetime, we only ever use 1MB.
2022-05-31 11:16:32 +02:00
Antonio Scandurra b9e18310f8 Bump protocol version 2022-05-31 08:13:05 +02:00
Antonio Scandurra cf0c9b089c Merge branch 'main' into project-panel-with-new-mouse-events 2022-05-30 18:29:46 +02:00
Antonio Scandurra b51f73b096 Implement copy paste for ProjectPanel 2022-05-30 14:52:34 +02:00