Commit Graph
25009 Commits
Author SHA1 Message Date
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 BrunsfeldandNathan 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 ScandurraandMax 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 ScandurraandMax 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 ScandurraandMax 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 BrunsfeldandNathan 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 SoboandMax 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 SoboandMax 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 BrunsfeldandNathan 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 ScandurraandNathan 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