Max Brunsfeld and Antonio Scandurra
4d16ebaf4b
Replace POST /worktrees rest endpoint with GET /rpc-address
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-06-17 16:11:54 -07:00
Max Brunsfeld
369af450e2
Make TypedEnvelope fields public
2021-06-17 15:54:55 -07:00
Max Brunsfeld
3adee4fb53
Ignore message-handling error in disconnect unit test
2021-06-17 15:20:56 -07:00
Max Brunsfeld
2dd0a2b962
Don't generate bindgen layout tests
2021-06-17 15:20:12 -07:00
Max Brunsfeld and Nathan Sobo
6dc1a68ed7
Allow peers to receive individual messages before starting message loop
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-06-17 14:19:15 -07:00
Antonio Scandurra
90c2c561a3
Rename handle_message to on_message
2021-06-17 17:25:10 +02:00
Antonio Scandurra
a6ed6b2992
Move handle_messages into an extension method for Arc<Peer>
2021-06-17 16:32:28 +02:00
Antonio Scandurra
8c44ba98e5
Use an i32 for user_id in RPC authentication message
2021-06-17 14:51:06 +02:00
Max Brunsfeld
4047b8ede5
Fix termination of peer's incoming future
...
* Re-enable peer tests
* Enhance request/response unit test to exercise
peers interacting with each other end-to-end
2021-06-16 21:18:22 -07:00
Max Brunsfeld
25f2346dea
Remove peer message listeners when their receiver is dropped
2021-06-16 17:02:40 -07:00
Antonio Scandurra and Nathan Sobo
a11c5e35c4
Move RpcClient to zed_rpc and rename it to Peer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-06-16 18:01:26 +02:00
Antonio Scandurra and Nathan Sobo
8eed102467
Replace Request and Message with a single TypedEnvelope
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-06-16 17:43:53 +02:00
Antonio Scandurra
62367b985e
Replace callback-based requests/messages with streams
2021-06-16 14:26:54 +02:00
Max Brunsfeld
9657fc2f22
WIP - Allow RpcClient to register handlers for incoming messages
2021-06-15 17:22:48 -07:00
Max Brunsfeld and Nathan Sobo
3d1d92b8e4
Remove gpui dependency from rpc_client
...
Also, avoid any contention between connections.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-06-15 15:18:40 -07:00
Max Brunsfeld
013b9d2787
Allow RpcClient to encapsulate arbitrarily many connections
2021-06-15 14:12:42 -07:00
Max Brunsfeld and Nathan Sobo
0f7b79df73
Flatten protobuf message namespace
...
* Remove `FromClient`/`FromServer` distinction.
* Remove `subscribe` concept - clients will need to handle
unprompted messages from the server.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-06-15 13:06:50 -07:00
Max Brunsfeld
c21d52a90a
Merge pull request #91 from zed-industries/fix-save
...
Ensure all bytes are written when saving a buffer
2021-06-15 09:19:07 -07:00
Antonio Scandurra
77d8955784
Ensure all bytes are written when saving a buffer
2021-06-15 17:20:36 +02:00
Antonio Scandurra
c65e11adff
Start sharing paths with the server via RPC
2021-06-15 16:14:08 +02:00
Antonio Scandurra
d9beb5b977
Simplify saving RpcClient by removing the generic connection param
2021-06-15 15:36:58 +02:00
Antonio Scandurra
a77be0fc7e
Move worktree sharing down into Workspace
...
This will make it easier to pick a worktree and give it an `RpcClient`.
2021-06-15 15:14:17 +02:00
Antonio Scandurra
16b35d865c
Ensure that futures returns from RpcClient are 'static
2021-06-15 11:15:55 +02:00
Antonio Scandurra
1748aa844e
💄
2021-06-15 11:03:14 +02:00
Antonio Scandurra
9f625c0aee
Use an async Mutex to guard access to write stream in RpcClient
2021-06-15 10:57:27 +02:00
Antonio Scandurra
d37060cec3
Test RpcClient::subscribe
2021-06-15 10:46:23 +02:00
Max Brunsfeld and Antonio Scandurra
41e1c80f71
Report io errors when sending payloads for RpcClient methods
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-06-14 16:11:24 -07:00
Antonio Scandurra and Max Brunsfeld
03b21ebaf8
Change RpcClient methods to take shared references
...
This will make it easier to spawn a future on gpui's executors
when calling `RpcClient` methods.
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-06-14 19:59:46 +02:00
Antonio Scandurra and Max Brunsfeld
09fc3b3cdb
Add RpcClient::subscribe
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-06-14 19:06:28 +02:00
Antonio Scandurra and Max Brunsfeld
6db5f5ebf4
Use a fixed-length delimiter for encoding/decoding messages in RPC
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-06-14 18:33:34 +02:00
Antonio Scandurra
b6f76a8c29
Make drop test more reliable
2021-06-14 17:27:00 +02:00
Antonio Scandurra
c193cda042
Close connection when RpcClient is dropped and add unit tests
2021-06-14 14:32:49 +02:00
Max Brunsfeld
be47d6ded4
Start work on RpcClient
2021-06-11 14:47:13 -07:00
Max Brunsfeld and Antonio Scandurra
d77b3268da
Use tiny_http for handling login HTTP request
...
Our manual HTTP parsing and encoding was not working with Safari.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-06-11 10:28:00 -07:00
Max Brunsfeld and Antonio Scandurra
e9bcd31ad5
Avoid crash when user denies keychain access
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-06-11 09:47:24 -07:00
Antonio Scandurra
f9aa4ab099
Switch CreateWorktreeResponse::worktree_id to be a i32
...
Apparently all IDs in `sqlx` on the server are represented as i32s.
2021-06-11 16:15:06 +02:00
Antonio Scandurra
49ca1f8b10
Merge pull request #88 from zed-industries/seek-start
...
Introduce `Cursor::seek_start` and `Cursor::seek_end`
2021-06-11 09:03:35 +02:00
Antonio Scandurra
baee57b98f
Merge pull request #84 from zed-industries/new-workspace
...
Open a new workspace on File > New if none exists
2021-06-11 09:02:43 +02:00
Max Brunsfeld and Antonio Scandurra
1a5f20809d
Start work on connecting to RPC endpoint
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-06-10 22:12:04 -07:00
Max Brunsfeld
d6535e0650
Update collaboration doc
...
Add some diagrams
2021-06-10 14:27:05 -07:00
Antonio Scandurra
17cddc8294
Rename Cursor::{start,end} to Cursor::{sum_start,sum_end}
2021-06-10 14:06:27 +02:00
Antonio Scandurra
11a26e73dc
Add Cursor::seek_end and audit the codebase to use seek_start more
2021-06-10 14:05:56 +02:00
Antonio Scandurra
3bb09051e2
Introduce Cursor::seek_start to compute VersionedOffset once
2021-06-10 13:42:43 +02:00
Max Brunsfeld
99f1d297c7
Add initial messages for setting up a worktree share
2021-06-09 18:14:30 -07:00
Nathan Sobo
265dc3fd34
Test creating a new empty workspace and fix test compile errors
2021-06-09 16:38:32 -06:00
Nathan Sobo
b2841ec6d3
Open a new workspace on File > New if none exists
2021-06-09 15:34:45 -06:00
Max Brunsfeld and Nathan Sobo
2922be13ba
Introduce zed_rpc::proto module containing protobuf stream logic
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-06-09 13:19:12 -07:00
Antonio Scandurra
63cf51347f
Restore random edits in test to 5
2021-06-09 20:51:14 +02:00
Antonio Scandurra
e319eb0139
Merge pull request #82 from zed-industries/faster-undo
...
Batch undo
2021-06-09 12:08:20 +02:00
Max Brunsfeld
5e9b134626
Store credentials in the keychain on login
2021-06-08 18:08:09 -07:00