Max Brunsfeld
3b13c99e6c
Avoid panic when spawn is called after run exits in deterministic executor
2021-07-08 17:38:54 -07:00
Max Brunsfeld
9f2ff6199c
Add a 'seed' parameter to gpui::test macro
...
This lets you control the starting seed
2021-07-08 17:38:54 -07:00
Max Brunsfeld and Nathan Sobo
a080b03ac7
Start work on a deterministic executor for tests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-07-08 13:39:24 -07:00
Antonio Scandurra
eedc39cca7
Merge pull request #106 from zed-industries/remote-conflict-indicator
...
Relay the saved mtime when saving a buffer
2021-07-08 17:51:28 +02:00
Antonio Scandurra
820362708c
Merge pull request #104 from zed-industries/double-buffer
...
Avoid adding the same entry when concurrently opening it more than once
2021-07-08 17:51:19 +02:00
Antonio Scandurra
b071566617
Merge pull request #100 from zed-industries/fix-url-to-path-conversion
...
Fix URL to `PathBuf` conversion in `mac::Platform`
2021-07-08 17:51:09 +02:00
Antonio Scandurra
a2e2b92ce9
Relay the saved mtime when saving a buffer
2021-07-08 15:49:41 +02:00
Antonio Scandurra
74d7d76a95
Avoid adding the same entry when concurrently opening it more than once
2021-07-08 14:40:32 +02:00
Max Brunsfeld
ecb89df940
Improve support for gpui tests that need multiple contexts
...
If a test function takes multiple contexts, pass it however many
distinct contexts are needed. Construct each one with a different
starting entity id so that they do not share any entity ids.
2021-07-07 17:18:42 -07:00
Antonio Scandurra and Max Brunsfeld
c76749ffe2
Use async-tungstenite's built-in TLS connector
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-07-07 19:55:26 +02:00
Antonio Scandurra and Max Brunsfeld
b8f1f1bad1
Improve logging when there is an error in the RPC layer
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-07-07 19:36:53 +02:00
Antonio Scandurra and Max Brunsfeld
349d747a5d
Remove REST endpoints from zed-rpc
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-07-07 18:53:00 +02:00
d7f17801bd
Use a websocket to connect to the server
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-07-07 18:49:38 +02:00
Antonio Scandurra
9608087523
Refactor zed-rpc to work with websockets
2021-07-07 18:23:18 +02:00
Antonio Scandurra
33dc149ccc
Revert "Start work on handling TLS for the RPC endpoint"
...
This reverts commit 6488cb4342 .
2021-07-07 15:19:00 +02:00
Max Brunsfeld
6488cb4342
Start work on handling TLS for the RPC endpoint
2021-07-06 16:27:57 -07:00
Antonio Scandurra
c4c69abd5e
Ensure returned URLs are files before returning them in path prompts
2021-07-06 16:08:19 +02:00
Antonio Scandurra
bde02e2af6
Convert URLs to paths returned from NSSavePanel using [Url path]
2021-07-06 15:54:42 +02:00
Antonio Scandurra
afedb22368
Convert URLs to paths returned from NSOpenPanel using [Url path]
2021-07-06 15:54:29 +02:00
Antonio Scandurra
5c3288f813
Replace paths_by_id with an entries_by_id sum tree
2021-07-06 12:41:31 +02:00
Antonio Scandurra
1a55d198ec
Unify maintenance of open buffers into Worktree::poll_snapshot
2021-07-06 10:38:39 +02:00
Max Brunsfeld
d2aec4d59e
Add ModelHandle::spawn_weak, fix worktree leak from spawn call
2021-07-05 17:55:52 -07:00
Max Brunsfeld and Nathan Sobo
b8fe7c658a
Add unit test for worktree update messages, fix minor issues
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-07-05 17:55:48 -07:00
Nathan Sobo and Max Brunsfeld
2115d0b0cf
Process remote worktree updates in the background
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-07-05 14:20:53 -06:00
Nathan Sobo and Max Brunsfeld
b01c4200a9
Start on applying remote worktree updates in the background
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-07-05 13:44:42 -06:00
Antonio Scandurra
376a584cb8
Propagate file system changes to remote worktrees
2021-07-05 17:54:48 +02:00
Antonio Scandurra
4fc4910991
Rename {Add,Remove}Guest to {Add,Remove}Peer
2021-07-05 10:24:39 +02:00
Antonio Scandurra
a946be0fbd
Expose Client::disconnect to force disconnection
2021-07-05 10:18:12 +02:00
Max Brunsfeld
472ac4c32f
Avoid deadlocks on rpc state by switching to an RwLock
2021-07-02 15:55:16 -07:00
Max Brunsfeld
2508e06aba
Implement Copy for peer::Receipt
2021-07-02 15:54:42 -07:00
Max Brunsfeld
fc9ea8a81d
Avoid circular model update in save_buffer handler
2021-07-02 15:53:45 -07:00
Max Brunsfeld
2abe443430
Construct remote worktree snapshots in the background
2021-07-02 15:22:58 -07:00
Antonio Scandurra
5da2650bde
WIP: Save remote buffers
2021-07-02 17:02:17 +02:00
Antonio Scandurra
bfb67e197c
Fix tests
2021-07-02 15:18:08 +02:00
Antonio Scandurra
3e0e1ec1f5
Send also the currently active selection sets when serializing a buffer
2021-07-02 11:29:36 +02:00
Max Brunsfeld
3e359a06ab
Serialize RPC sends and responses using a channel
2021-07-01 22:02:27 -07:00
Max Brunsfeld and Nathan Sobo
cebf64172d
Avoid spurious error logging when host edits buffers not open by guests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-07-01 11:23:51 -07:00
Antonio Scandurra and Nathan Sobo
95ebf2da86
Fix memory leak of Editor due to blinking cursors
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-07-01 15:57:17 +02:00
Antonio Scandurra
f1b948cc43
Report SelectionSet deletion operations correctly
2021-07-01 12:54:16 +02:00
Antonio Scandurra
25637cba98
Start on rendering remote selections
2021-07-01 11:21:43 +02:00
Antonio Scandurra
f51b978ae4
Expose Worktree::{peers,replica_id}
2021-07-01 09:36:09 +02:00
Antonio Scandurra
d2391ebea2
Send a CloseWorktree message when a shared Worktree is dropped
2021-06-30 17:00:29 +02:00
Antonio Scandurra
469cd5e732
Store online peers when joining a worktree
2021-06-30 15:07:33 +02:00
Antonio Scandurra
c6e78d4bd6
Maintain a set of peers as they join and leave the worktree
2021-06-30 13:22:22 +02:00
Antonio Scandurra
d7d83f640e
Avoid logging errors in RPC message handlers
...
The `on_message` helper already logs when an error occurs.
2021-06-30 12:05:58 +02:00
Antonio Scandurra
378465b1b8
💄
2021-06-30 12:00:13 +02:00
Antonio Scandurra
a8b155dffc
Move remote::update_buffer main logic into Worktree::update_buffer
2021-06-30 11:57:05 +02:00
Nathan Sobo
b754d628b6
Store shared buffers on LocalWorktree
...
It's okay for our domain objects to model remote state. We should minimize what we need to store in the rpc::ClientState struct.
2021-06-29 21:01:43 -06:00
Nathan Sobo
40a86d0d4a
Store a reference to the LangageRegistry on the Worktree
2021-06-29 20:07:37 -06:00
d18e78edc7
Use entry_id on File instead of worktree::Diff to detect when buffers' files change
...
Rather than computing a diff after processing a batch of FSEvents, we instead detect renames as we're inserting entries. We store an entry_id on the File object that is owned by each buffer, and use this to detect when the path of the File has changed.
We now also manage all File-related state and event emission for Buffers in the LocalWorktree, since the logic will need to be totally different in the remote case.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-06-29 18:19:38 -06:00