3d6db90
Update a user's contacts when they connect; fix test failures
Click to expand commit body
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>
* 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.
Nathan Sobo
created
5d20338
Get basic test of accepting a contact request passing
Nathan Sobo
created
93dae88
WIP: Fix compile errors by commenting stuff out
Nathan Sobo
created
4f06dca
WIP: Update contacts based on deltas rather than snapshots
Nathan Sobo
created
8a34254
Start work on RPC endpoints for dealing with contact requests
989b82d
Refactor `add_request_handler` to respond via a `Response` struct
Click to expand commit body
This also removes `add_sync_request_handler`.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra
and
Nathan Sobo
created
9555b93
Wait on `RECEIVE_TIMEOUT` in tests when testing disconnection
Click to expand commit body
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>
Antonio Scandurra
and
Nathan Sobo
created
44f37af
Define data types for the new contacts model
Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra
and
Nathan Sobo
created
95d848f
Ensure `flex_float` works even when re-painting without layout
Click to expand commit body
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.
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.
Max Brunsfeld
created
4620c7a
Filter existing contacts when searching in the contacts panel
Max Brunsfeld
created
ea81737
Allow fuzzy-search for potential contacts in the contacts panel
Click to expand commit body
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
and
Nathan Sobo
created
35fea43
Adjust fuzzy search to avoid filtering based on edit distance threshold
6b22c47
Introduce guest file creation in randomized collaboration test
Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra
and
Nathan Sobo
created
6212f2f
Wait for remote worktree to catch up with host before mutating entries
Click to expand commit body
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.