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
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
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
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
456dde200c
Implement Room::set_location
2022-10-04 11:46:01 +02:00
Antonio Scandurra
964a5d2db7
WIP: require sharing projects on a given Room
2022-09-30 18:21:47 +02: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
Antonio Scandurra
b35e8f0164
Remove projects from contact updates
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-29 19:40:36 +02:00
Antonio Scandurra
80ab144bf3
Ring users upon connection if somebody was calling them before connecting
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-28 11:33:38 +02:00
Antonio Scandurra
e55e7e4844
Leave room when Room
entity is dropped
2022-09-28 11:33:38 +02:00
Antonio Scandurra
bb9ce86a29
Introduce the ability of declining calls
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
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
954695f5fe
Stream buffer ops in the background when creating buffer for peers
2022-08-23 16:05:56 +02: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
Antonio Scandurra
9726d1f049
Bump protocol version
2022-08-17 11:31:48 +02:00
Antonio Scandurra
ab236a6008
Fix divergence bug in undo/redo
...
As part of #1405 , we changed the way we performed undo and redo to
support combining transactions that were not temporally adjacent for
IME purposes.
We introduced a bug with that release that caused divergence
when performing undo: the bug was caused by only changing the visibility
of fragments whose insertion id was contained in the undo operation. However,
an undo operation also affects deletions which we were mistakenly not
considering. Randomized tests caught this but I guess we didn't run enough
of them.
2022-08-17 11:30:04 +02:00
ForLoveOfCats
8ba2f77148
One big cleanup pass of clippy lints
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
ForLoveOfCats
5149c15329
Add "go to type definition" action
2022-07-29 11:41:08 -04:00
Max Brunsfeld
09c0211c96
Bump the RPC protocol version
2022-07-25 11:36:52 -07:00
Antonio Scandurra
0fc7308932
Allow grouping local transactions even if remote peer edits in between
2022-07-23 09:27:21 +02:00
Max Brunsfeld
7c3421e041
Remove versioned offset ranges from transactions and undo operations
...
Now, instead of using these versioned offset ranges, we locate the
fragments associated with a transaction using the transaction's
edit ids. To make this possible, buffers now store a new map called
`insertion_slices`, which lets you look up the ranges of insertions
that were affected by a given edit.
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-07-22 17:28:55 -07:00
Isaac Clayton
f6b6d19041
Add wasmtime and fix zstd version conflict
2022-07-07 15:01:15 +02:00
Antonio Scandurra
eac76df0ac
Transmit new line ending when buffer is reloaded
2022-07-05 08:01:14 +02:00
Max Brunsfeld
9804c683c0
Rename NewlineStyle -> LineEnding
2022-07-04 12:47:40 -07:00
Antonio Scandurra
3480b50920
Detect buffer newline style and honor it when saving
2022-07-04 17:40:26 +02:00
Antonio Scandurra
d3b9eca791
Merge branch 'main' into user-timeline
2022-07-04 09:23:16 +02:00
Antonio Scandurra
484af8c7c4
Split worktree updates when a peer joins an already-shared project
2022-06-30 16:49:56 +02:00
Antonio Scandurra
09bb3ddeb8
Split worktree updates and only send 256 entries at a time
2022-06-30 14:06:41 +02:00
Antonio Scandurra
639cd71a3b
Record worktree extensions every 5 minutes
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-29 16:58:19 +02:00
Antonio Scandurra
e3cfc7b3ce
Register project activity for offline projects as well
2022-06-29 14:55:04 +02:00
Keith Simmons
f73af85218
bump protocol version and fix panic from storing display points instead of anchors
2022-06-27 15:10:36 -07:00
Keith Simmons
848445455d
Working underline based on symbol origin
2022-06-24 15:05:35 -07:00
Antonio Scandurra
555847449b
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
4cb68b2966
Prioritize keepalive pings over incoming message handling in Peer
2022-06-22 14:44:05 -07:00
Max Brunsfeld
a14b626927
Enable env log in peer tests
2022-06-22 14:42:20 -07:00
Antonio Scandurra
f2d134917e
Remove non-determinism from Peer
caused by smol's timeout
helper
2022-06-22 18:39:12 +02:00
Antonio Scandurra
052222c91c
Bump protocol version
2022-06-17 12:39:59 +02:00
Antonio Scandurra
6f7a893ec9
Determine Buffer::is_dirty
based on the rope's fingerprint
2022-06-17 12:38:25 +02:00
Antonio Scandurra
3a1d0dd692
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
f89977ba41
Bump protocol version
2022-06-14 15:21:37 +02:00
Antonio Scandurra
68093342e7
Broadcast only visible worktree root names
2022-06-14 15:15:23 +02:00
Max Brunsfeld
36ce3eb5ef
Handle messages associated with LSP WorkDoneProgress::Begin
messages
...
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-08 10:26:41 -07:00
Keith Simmons
9d5111e86a
Merge pull request #1078 from zed-industries/lsp-hover
...
LSP Hover Information
2022-06-07 14:45:43 -07:00