Commit log

f9d8e95 WIP

Antonio Scandurra created

89d2545 Add worktree to workspace when joining a remote worktree

Antonio Scandurra created

79cac13 Replace `Worktree` with an enum

Click to expand commit body
For now this enum only contains a `Local` variant, but the next step is
to add a `Remote` variant that will be constructed when joining a remote
worktree.

Antonio Scandurra created

7a66cd1 Implement Display for ConnectionId

Max Brunsfeld created

cdfb33b Add a name to EnvelopedMessage for logging purposes

Max Brunsfeld created

7a88e44 Add menu command to join worktree using URL on clipboard

Click to expand commit body
Introduce rpc::Client struct that wraps zed_rpc::Peer

Max Brunsfeld created

3a78f05 Use strings for paths and buffer contents

Max Brunsfeld created

f4dccc5 Replace POST /worktrees rest endpoint with GET /rpc-address

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created

2fd0f0b Make TypedEnvelope fields public

Max Brunsfeld created

a3c938c Ignore message-handling error in disconnect unit test

Max Brunsfeld created

531443d Don't generate bindgen layout tests

Max Brunsfeld created

05a662b Allow peers to receive individual messages before starting message loop

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

4d28d03 Rename `handle_message` to `on_message`

Antonio Scandurra created

82ac7e2 Move `handle_messages` into an extension method for `Arc<Peer>`

Antonio Scandurra created

d243395 Use an `i32` for user_id in RPC authentication message

Antonio Scandurra created

c5cec24 Fix termination of peer's incoming future

Click to expand commit body
* Re-enable peer tests
* Enhance request/response unit test to exercise
  peers interacting with each other end-to-end

Max Brunsfeld created

fb736d5 Remove peer message listeners when their receiver is dropped

Max Brunsfeld created

9de4d73 Move `RpcClient` to `zed_rpc` and rename it to `Peer`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

5e4872f Replace Request and Message with a single TypedEnvelope

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

8112efd Replace callback-based requests/messages with streams

Antonio Scandurra created

8b66e0a WIP - Allow RpcClient to register handlers for incoming messages

Max Brunsfeld created

d3a3ad2 Remove gpui dependency from rpc_client

Click to expand commit body
Also, avoid any contention between connections.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

3db2154 Allow RpcClient to encapsulate arbitrarily many connections

Max Brunsfeld created

e88f338 Flatten protobuf message namespace

Click to expand commit body
* 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>

Max Brunsfeld and Nathan Sobo created

3889107 Merge pull request #91 from zed-industries/fix-save

Click to expand commit body
Ensure all bytes are written when saving a buffer

Max Brunsfeld created

37cc1e8 Ensure all bytes are written when saving a buffer

Antonio Scandurra created

546ce14 Start sharing paths with the server via RPC

Antonio Scandurra created

cf67fc6 Simplify saving `RpcClient` by removing the generic connection param

Antonio Scandurra created

3e391c0 Move worktree sharing down into `Workspace`

Click to expand commit body
This will make it easier to pick a worktree and give it an `RpcClient`.

Antonio Scandurra created

7b96888 Ensure that futures returns from `RpcClient` are 'static

Antonio Scandurra created

04bf84a :lipstick:

Antonio Scandurra created

1d9cfe6 Use an async `Mutex` to guard access to write stream in `RpcClient`

Antonio Scandurra created

301531a Test `RpcClient::subscribe`

Antonio Scandurra created

1c597ed Report io errors when sending payloads for RpcClient methods

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created

a87d4db Change `RpcClient` methods to take shared references

Click to expand commit body
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>

Antonio Scandurra and Max Brunsfeld created

e551894 Add `RpcClient::subscribe`

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra and Max Brunsfeld created

cd1a4c4 Use a fixed-length delimiter for encoding/decoding messages in RPC

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra and Max Brunsfeld created

0ddbe0c Make drop test more reliable

Antonio Scandurra created

8e3f40b Close connection when `RpcClient` is dropped and add unit tests

Antonio Scandurra created

b2b1ce5 Start work on RpcClient

Max Brunsfeld created

86ff599 Use tiny_http for handling login HTTP request

Click to expand commit body
Our manual HTTP parsing and encoding was not working with Safari.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created

71d64a8 Avoid crash when user denies keychain access

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created

4efebda Switch `CreateWorktreeResponse::worktree_id` to be a `i32`

Click to expand commit body
Apparently all IDs in `sqlx` on the server are represented as i32s.

Antonio Scandurra created

ba29b1d Merge pull request #88 from zed-industries/seek-start

Click to expand commit body
Introduce `Cursor::seek_start` and `Cursor::seek_end`

Antonio Scandurra created

bd0a807 Merge pull request #84 from zed-industries/new-workspace

Click to expand commit body
Open a new workspace on File > New if none exists

Antonio Scandurra created

20542f5 Start work on connecting to RPC endpoint

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created

e897d1c Update collaboration doc

Click to expand commit body
Add some diagrams

Max Brunsfeld created

742241a Rename `Cursor::{start,end}` to `Cursor::{sum_start,sum_end}`

Antonio Scandurra created

dc2805b Add `Cursor::seek_end` and audit the codebase to use `seek_start` more

Antonio Scandurra created

f294bfd Introduce `Cursor::seek_start` to compute `VersionedOffset` once

Antonio Scandurra created