Max Brunsfeld
2cf9659f88
Style the buttons in the contact panel and contact finder
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-05-10 10:47:25 -07:00
Antonio Scandurra
a121576545
WIP
2022-05-10 18:25:47 +02:00
Antonio Scandurra
6c3e3c84ec
Eliminate flicker when contact status is pending
...
We do this by using a bullet. When we have animations, a spinner would be better.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-10 17:32:57 +02:00
Antonio Scandurra
b00338195e
Make user fuzzy search case-insensitive
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-10 17:30:09 +02:00
Antonio Scandurra
93688cbe22
Fix bug when determining contact status
...
Users are sorted by login but we were binary-searching them by id.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-10 17:26:53 +02:00
Antonio Scandurra
d4e6ab4975
Seed first users from GitHub when running script/seed-db --github-users
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-10 17:19:39 +02:00
Antonio Scandurra
f81edb88fe
Pull out contact finder as a picker
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-10 16:43:51 +02:00
Nathan Sobo
b721f0064a
Start on contact finder modal
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-10 07:24:14 -06:00
Nathan Sobo
eef99f059d
Make flex elements fill available space when they contain a float
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-10 06:14:30 -06:00
Antonio Scandurra
12783a588c
Prevent users from fuzzy searching and adding themselves as contacts
2022-05-10 12:22:50 +02:00
Antonio Scandurra
09580516a0
Start on adding icon for requesting contacts
2022-05-10 12:09:24 +02:00
Antonio Scandurra
52c36d3e3d
Maintain online status in contacts panel
2022-05-10 10:33:57 +02:00
Nathan Sobo
4e9924c717
Filter out empty projects in contacts panel
2022-05-09 20:57:41 -06:00
Nathan Sobo
ef868ff023
Fix test after changing fuzzy matching for empty queries
2022-05-09 20:41:18 -06:00
Max Brunsfeld
3dee656490
Avoid panic when language server is dropped before being initialized in tests
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-09 18:05:10 -07:00
Max Brunsfeld
45b6a9df36
Avoid sending a GetUsers request for an emptly list of user ids
...
We don't actually need to return the users at this time. We just call this for its side effect.
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-09 18:03:24 -07:00
Max Brunsfeld
b8aba0972d
Wait until contacts have been cleared when disconnecting
...
Also, use an mpsc for UpdateContacts messages, not a watch, since
the messages now represent changes instead of snapshots.
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-09 17:23:39 -07:00
Max Brunsfeld
2a2698b8db
Remove stray printing in contacts panel
2022-05-09 16:31:30 -07:00
Max Brunsfeld
0533a0bd3c
Allow users to remove contact relationships that they initiated
2022-05-09 16:31:30 -07:00
Max Brunsfeld
054d697fb7
Remove remaining code associated with .zed.toml files
2022-05-09 16:31:30 -07:00
Max Brunsfeld
d7cba73ead
Decrement pending_contact_requests even if a request fails
2022-05-09 16:19:00 -07:00
Max Brunsfeld
2aec4ff234
Pick files directly from the Fs in simulate_host
...
Previously, the list of all existing files was maintained separately, but
it was not updated when a guest created a file.
2022-05-09 15:39:45 -07:00
Nathan Sobo
3d6db9083d
Update a user's contacts when they connect; fix test failures
...
The test failure we fixed doesn't seem directly related to the contact update. Maybe it just caused a failure to occur earlier than it would have in the sequence of seeds.
We fixed the test failure by responding to a user joining the project while holding the lock on the Store. This ensures that we don't send messages related to the project to that user until they've had a chance to setup event handlers after receiving the response.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-09 15:57:16 -06:00
Nathan Sobo
40f1427885
Show requests in contacts panel
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-09 12:48:07 -06:00
Nathan Sobo
e3ee19b123
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
e4f1952657
WIP
2022-05-09 17:06:21 +02:00
Antonio Scandurra
ca56b0d6d5
Forbid joining projects if users are not contacts
2022-05-09 15:51:54 +02:00
Antonio Scandurra
95d29c4a7b
Update contacts when peers join/leave and when project status changes
2022-05-09 15:08:18 +02:00
Antonio Scandurra
3319e0a613
Implement contact rejection
2022-05-09 10:02:14 +02:00
Nathan Sobo
9b1b61355a
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
5d20338f69
Get basic test of accepting a contact request passing
2022-05-07 15:09:27 -06:00
Nathan Sobo
93dae88cac
WIP: Fix compile errors by commenting stuff out
2022-05-07 14:04:13 -06:00
Nathan Sobo
4f06dca78b
WIP: Update contacts based on deltas rather than snapshots
2022-05-06 20:50:59 -06:00
Max Brunsfeld
8a3425477f
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 Brunsfeld
274c4c244c
Implement persistence for contacts
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-06 13:33:23 -07:00
Antonio Scandurra
989b82d664
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 Scandurra
9555b93bca
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 Scandurra
44f37afa95
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
95d848fe1e
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
8445eaab85
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
4620c7a1e5
Filter existing contacts when searching in the contacts panel
2022-05-05 15:04:50 -07:00
Max Brunsfeld
ea81737a88
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
35fea43089
Adjust fuzzy search to avoid filtering based on edit distance threshold
2022-05-05 12:43:38 -07:00
Max Brunsfeld
439a5dad80
0.32.0
2022-05-05 09:49:11 -07:00
Nathan Sobo
342bdfc7e0
Render a user query editor in the contacts panel
2022-05-05 10:24:21 -06:00
Nathan Sobo
6050e0ead7
Add fuzzy_search_users to Db trait, PostgresDb
2022-05-05 09:58:18 -06:00
Antonio Scandurra
76ad563b45
Fix memory leak of ProjectPanel
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 15:52:46 +02:00
Antonio Scandurra
2e9bdfbeac
Improve delete prompt in project browser
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 15:49:40 +02:00
Antonio Scandurra
6021ab12c9
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 Scandurra
954fabec42
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 Scandurra
2e6cf2011d
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
61346f734d
WIP
2022-05-05 15:15:58 +02:00
Antonio Scandurra
6b22c47d47
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
6212f2fe30
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
ecb847a027
Fix bugs in FakeFs::{remove_dir,rename}
2022-05-05 09:02:31 +02:00
Max Brunsfeld
4b1c46fa45
Allow deleting entries from the project panel
2022-05-04 18:00:23 -07:00
Max Brunsfeld
509ede0e80
Allow guests to create directories
2022-05-04 16:52:46 -07:00
Max Brunsfeld
40e0f10195
Allow creating directories from the project panel
2022-05-04 16:47:11 -07:00
Max Brunsfeld
a2c22a5e43
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
821dff0e2d
Keep showing edited filename in project panel while edit is in-progress
2022-05-04 13:03:50 -07:00
Max Brunsfeld
ff3cf3c0c3
Bump protocol version number
2022-05-04 10:33:26 -07:00
Max Brunsfeld
438e4e7a19
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 Sobo
470d693d5e
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 Brunsfeld
657ea264cc
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
8291b8108d
Update snapshot atomically when processing FS events
2022-05-04 10:28:44 -07:00
Max Brunsfeld
0ff39f1280
Select new files in the project panel after creating them
2022-05-04 10:28:44 -07:00
Max Brunsfeld
a19766931d
Rename entry atomically in LocalWorktree::rename
2022-05-04 10:28:44 -07:00
Max Brunsfeld
8fdc5c9be3
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
333b4aaf4e
Implement Rename command in project panel
2022-05-04 10:28:09 -07:00
Max Brunsfeld
a217e2e64b
Implement basic AddFile command in project panel
2022-05-04 10:28:09 -07:00
Max Brunsfeld
d4492086b3
Abstract more local project setup inside Project::test helper
2022-05-04 10:28:09 -07:00
Max Brunsfeld
12d45f1655
Clean up project panel theme
2022-05-04 10:28:08 -07:00
Antonio Scandurra
aa4919a76f
Merge pull request #964 from zed-industries/transpose
...
Introduce `Editor::transpose` bound to `ctrl-t`
2022-05-04 10:04:55 +02:00
Antonio Scandurra
9a7c07f539
Improve transpose when cursors are two chars away from each other
2022-05-04 09:59:34 +02:00
Keith Simmons
5e2e859413
Merge pull request #947 from zed-industries/misc-normal-commands
...
Misc vim normal commands
2022-05-03 10:29:29 -07:00
Antonio Scandurra
3ee4d90c19
Parameterize avatar_margin
and assign it a default of 8
2022-05-03 18:04:53 +02:00
Antonio Scandurra
95680aa5f2
Account for multi-byte characters in Editor::transpose
2022-05-03 14:35:03 +02:00
Antonio Scandurra
b6ff07afac
Add failing test for multi-byte characters
2022-05-03 14:33:57 +02:00
Antonio Scandurra
070607c821
Implement Editor::transpose
without accounting for multi-byte chars
2022-05-03 14:33:43 +02:00
Keith Simmons
797aecf7c1
Don't reset vim mode on editor focus
2022-05-02 11:49:10 -07:00
Keith Simmons
b2138f5935
Add insert line above and below
2022-05-02 11:49:10 -07:00
Keith Simmons
833a7b6e76
WIP just missing insert line above and below
2022-05-02 11:49:10 -07:00
Antonio Scandurra
875cb13e6d
Rename "crash" to "panic"
...
We are not really sending crash reports but Rust panics, so might
as well be clear about that.
2022-05-02 17:36:56 +02:00
Antonio Scandurra
da3870ea31
Pass secret token when uploading crashes
2022-05-02 15:42:52 +02:00
Antonio Scandurra
54a45095cd
Retrieve app version from crash rather than from current binary
...
The crash might have been generated weeks before and the app may
have been updated since then.
2022-05-02 15:34:05 +02:00
Antonio Scandurra
09a8b8e675
Capture crash reports and upload them the next time Zed launches
2022-05-02 15:17:43 +02:00
Antonio Scandurra
2977b33dd9
Use the new batched edit API when pasting
...
This fixes a bug that would cause zed to paste text at the wrong
location when inside a multi-buffer where the same buffer was excerpted
more than once.
2022-05-02 10:21:53 +02:00
Antonio Scandurra
5821ce9b82
Insert newlines on paste if copied selections don't match current ones
2022-05-02 10:21:20 +02:00
Antonio Scandurra
5d0c3c43e8
Add right padding to titlebar instead of margins on elements
...
This fixes a visual glitch causing the avatar to be shown too close to
the right edge of the window when the share icon was not present.
2022-05-02 09:27:37 +02:00
Keith Simmons
d4bef67cf2
Merge pull request #929 from zed-industries/non-uniform-batched-edits
...
Allow batched edits where each range is associated with different insertion text
2022-04-29 16:14:38 -07:00
Keith Simmons
2eb1c107ce
Convert common edit strings to Arc<str> and simplify duplicate line
2022-04-29 14:57:20 -07:00
Max Brunsfeld
2c2ca1bfbd
Reduce string allocations in Editor::insert
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-29 10:07:21 -07:00
Antonio Scandurra
cddafa5fef
Merge pull request #940 from zed-industries/telemetry
...
Instrument the collab server with OpenTelemetry collecting into Honeycomb.io
2022-04-29 17:50:55 +02:00
Antonio Scandurra
003bbe9aab
Serialize payload in "handle message" span
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-29 17:34:22 +02:00
Antonio Scandurra
f4e5cb14bf
Remove collaborators_per_project
from Metrics
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-29 17:19:14 +02:00
Antonio Scandurra
63e1845537
Revert "WIP"
...
This reverts commit 47e7d924b2
.
2022-04-29 16:45:29 +02:00
Nathan Sobo
47e7d924b2
WIP
2022-04-29 08:23:23 -06:00
Nathan Sobo
53e7c758f8
0.31.0
2022-04-29 05:58:34 -06:00
Antonio Scandurra
14b078dc0c
Use f32s
for metrics so that we can do aggregation math on honeycomb
2022-04-29 10:31:47 +02:00
Antonio Scandurra
6734793069
Start adding metrics to collab
server
2022-04-29 10:25:20 +02:00