Commit Graph
39175 Commits
Author SHA1 Message Date
Nathan SoboandMax Brunsfeld ab1ed218dd Wire up UI for requesting contacts and cancelling requests
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-09 11:24:05 -06:00
Antonio Scandurra 333488cc7a WIP 2022-05-09 17:06:21 +02:00
Antonio Scandurra 3d0970539a Forbid joining projects if users are not contacts 2022-05-09 15:51:54 +02:00
Antonio Scandurra 1ec45338ba Update contacts when peers join/leave and when project status changes 2022-05-09 15:08:18 +02:00
Antonio Scandurra a6103b0d39 Implement contact rejection 2022-05-09 10:02:14 +02:00
Nathan Sobo 25c3408fc5 Fully test contact request acceptance
* Be sure we send updates to multiple clients for the same user
* Be sure we send a full contacts update on initial connection

As part of this commit, I fixed an issue where we couldn't disconnect and reconnect in tests. The first disconnect would cause the I/O future to terminate asynchronously, which caused us to sign out even though the active connection didn't belong to that future. I added a guard to ensure that we only sign out if the I/O future is associated with the current connection.
2022-05-08 15:19:56 -06:00
Nathan Sobo f6146aecab Get basic test of accepting a contact request passing 2022-05-07 15:09:27 -06:00
Nathan Sobo 83742793ac WIP: Fix compile errors by commenting stuff out 2022-05-07 14:04:13 -06:00
Nathan Sobo a7a14c4542 WIP: Update contacts based on deltas rather than snapshots 2022-05-06 20:50:59 -06:00
Max BrunsfeldandNathan Sobo 62e1c9b13b Start work on RPC endpoints for dealing with contact requests
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-06 15:44:47 -07:00
Max BrunsfeldandNathan Sobo e7d4a2441b Implement persistence for contacts
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-06 13:33:23 -07:00
Antonio ScandurraandNathan Sobo 580797d5aa Refactor add_request_handler to respond via a Response struct
This also removes `add_sync_request_handler`.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-06 17:01:27 +02:00
Antonio ScandurraandNathan Sobo 90e87937bd Wait on RECEIVE_TIMEOUT in tests when testing disconnection
We were waiting for 3 seconds, but the timeout had changed in the meantime,
making some iterations of the tests fail.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-06 16:47:08 +02:00
Antonio ScandurraandNathan Sobo 3ef822122d Define data types for the new contacts model
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-06 16:24:44 +02:00
Antonio Scandurra c2f00e7d61 Ensure flex_float works even when re-painting without layout
Previously, we were mutating the remaining space stored on the layout
state, which would cause re-paints to always have a `remaining_space`
of 0 and therefore not align `flex_float` elements to the right/bottom.
2022-05-06 10:20:03 +02:00
Max Brunsfeld c10c6ccea1 Fix crash when emptying atlases
Previously, when an atlas was emptied, we would move it into a different
vector: free_atlases. This removal could cause existing atlas ids to
refer to the wrong atlases.
2022-05-05 17:52:47 -07:00
Max Brunsfeld c9b8995e72 Filter existing contacts when searching in the contacts panel 2022-05-05 15:04:50 -07:00
Max BrunsfeldandNathan Sobo a7359d0c77 Allow fuzzy-search for potential contacts in the contacts panel
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-05 14:14:44 -07:00
Max Brunsfeld bb46700216 Adjust fuzzy search to avoid filtering based on edit distance threshold 2022-05-05 12:43:38 -07:00
Max Brunsfeld 87923b8641 0.32.0 2022-05-05 09:49:11 -07:00
Nathan Sobo 96da0f6fa1 Render a user query editor in the contacts panel 2022-05-05 10:24:21 -06:00
Nathan Sobo aea1a7528b Add fuzzy_search_users to Db trait, PostgresDb 2022-05-05 09:58:18 -06:00
Antonio Scandurra b215470178 Merge pull request #948 from zed-industries/project-browser-refinements
Add commands for manipulating files in the project panel
2022-05-05 15:54:59 +02:00
Antonio ScandurraandNathan Sobo 5d5dcf9b4e Fix memory leak of ProjectPanel
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 15:52:46 +02:00
Antonio ScandurraandNathan Sobo 4df9ab8352 Improve delete prompt in project browser
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 15:49:40 +02:00
Antonio ScandurraandNathan Sobo 8c4c2010eb Clear project browser editor even if an operation fails
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 15:43:42 +02:00
Antonio ScandurraandNathan Sobo 2ebdfaffb5 Don't hide sidebar when hitting cmd-1
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 15:34:36 +02:00
Antonio ScandurraandNathan Sobo 4729ab818d When opening items via project panel, only focus them on double-click
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 15:27:27 +02:00
Antonio Scandurra 58367fccfb WIP 2022-05-05 15:15:58 +02:00
Antonio ScandurraandNathan Sobo cce7f0cc6a Introduce guest file creation in randomized collaboration test
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 14:54:35 +02:00
Antonio Scandurra eed6ef2380 Wait for remote worktree to catch up with host before mutating entries
This ensures that entries don't randomly re-appear on remote worktrees
due to observing an update too late. In fact, it ensures that the remote
worktree has the same starting state of the host before preemptively applying
the fs operation locally.
2022-05-05 13:47:53 +02:00
Antonio Scandurra 16bd397e57 Fix bugs in FakeFs::{remove_dir,rename} 2022-05-05 09:02:31 +02:00
Max Brunsfeld 51bf66e754 Allow deleting entries from the project panel 2022-05-04 18:00:23 -07:00
Max Brunsfeld c689bc03ba Allow guests to create directories 2022-05-04 16:52:46 -07:00
Max Brunsfeld 39f264e9fd Allow creating directories from the project panel 2022-05-04 16:47:11 -07:00
Max BrunsfeldandNathan Sobo 8c901cb6a1 Prevent eager snapshot mutations from being clobbered by background updates
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-04 15:10:39 -07:00
Max Brunsfeld 198bb7bbd1 Keep showing edited filename in project panel while edit is in-progress 2022-05-04 13:03:50 -07:00
Max Brunsfeld 9097dc8073 Bump protocol version number 2022-05-04 10:33:26 -07:00
d86f385278 Allow guests to rename stuff
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-04 10:28:44 -07:00
Nathan SoboandAntonio Scandurra 6ad2213b7f Rename entries via the project to prepare for guest support
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-04 10:28:44 -07:00
Max BrunsfeldandNathan Sobo 8b64406938 Allow guests to create files from the project panel
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-04 10:28:44 -07:00
Max Brunsfeld 5fdaa2da96 Update snapshot atomically when processing FS events 2022-05-04 10:28:44 -07:00
Max Brunsfeld 133cb544b2 Select new files in the project panel after creating them 2022-05-04 10:28:44 -07:00
Max Brunsfeld c2a3ef5677 Rename entry atomically in LocalWorktree::rename 2022-05-04 10:28:44 -07:00
Max BrunsfeldandAntonio Scandurra c98d740d34 Improve the appearance of project panel filename editor
* Always layout single-line editors with a fixed height
* Preserve directory chevron when editing folder names
* Allow theming the filename editor

Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-05-04 10:28:44 -07:00
Max Brunsfeld dc0937e936 Implement Rename command in project panel 2022-05-04 10:28:09 -07:00
Max Brunsfeld dbfbd352f0 Implement basic AddFile command in project panel 2022-05-04 10:28:09 -07:00
Max Brunsfeld a95bc19817 Abstract more local project setup inside Project::test helper 2022-05-04 10:28:09 -07:00
Max Brunsfeld c38cdd92ee Clean up project panel theme 2022-05-04 10:28:08 -07:00
Antonio Scandurra 1fba966284 Merge pull request #964 from zed-industries/transpose
Introduce `Editor::transpose` bound to `ctrl-t`
2022-05-04 10:04:55 +02:00