Commit Graph
31406 Commits
Author SHA1 Message Date
Max Brunsfeld f9f8f5ef34 Add test for notifying and dropping subscriptions in an update cycle 2023-01-06 10:46:03 -08:00
Max Brunsfeld 5b41aab667 Make event tests in gpui more consistent 2023-01-06 10:44:45 -08:00
Antonio Scandurra 41e381c23b Only share worktrees when UpdateProject succeeded 2023-01-06 10:41:11 -07:00
Antonio Scandurra 2aedbfec7a Couple worktree sharing with project metadata updates 2023-01-06 10:31:36 -07:00
Antonio Scandurra e2c0fa6254 Ensure initial project metadata is sent when first sharing a project 2023-01-06 10:18:26 -07:00
Max Brunsfeld d91fc40f32 Use a CallbackCollection for action dispatch observations 2023-01-06 09:15:53 -08:00
Nathan Sobo c2ae4edc20 Avoid holding project handle on a call that could hang
This fixes a leaked handle error.
2023-01-05 21:01:27 -07:00
Max BrunsfeldandKay Simmons 0d05860079 Use a CallbackCollection for release observations
Co-authored-by: Kay Simmons <kay@zed.dev>
2023-01-05 18:02:53 -08:00
Max BrunsfeldandKay Simmons 83dc32c1a7 Fix logic error in dropping callback subscriptions
Co-authored-by: Kay Simmons <kay@zed.dev>
2023-01-05 17:30:39 -08:00
Max BrunsfeldandKay Simmons 65b01b872a Restructure callback subscriptions
Fix a callback leak that would occur when dropping a subscription
to a callback collection after triggering that callback, but before
processing the effect of *adding* the handler.

Co-authored-by: Kay Simmons <kay@zed.dev>
2023-01-05 16:41:23 -08:00
Nathan Sobo 09064d29df Wait for incomplete buffers when handling incoming buffer file updates 2023-01-05 13:50:25 -07:00
Julia 651eec54a7 Merge pull request #2007 from zed-industries/recent-projects-prefer-first-match
Prefer first max while fuzzy matching projects fixes unexpected behavior
2023-01-05 12:10:51 -05:00
Julia 5ff1b4932a Prefer first max while fuzzy matching projects fixes unexpected behavior 2023-01-05 11:27:50 -05:00
c28230fd21 Re-request incomplete remote buffers when syncing buffers
Any buffers we requested but that haven't been fully sent will cause
outstainding open requests to hang. If we re-request them, any
waiting open requests will resume when the requested buffers finish
being created.

Co-authored-by: Max Brunsfeld <max@zed.dev>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2023-01-04 16:00:43 -07:00
Joseph T. Lyons 04a23ddde8 Merge pull request #2002 from zed-industries/appease-clippy
Appease clippy
2023-01-04 16:33:29 -05:00
Nathan Sobo 80cc0ba9dc Update scan_id on worktree entries when there is a conflict
Forgetting to do this meant we were unable to sync changes with reconnecting
guests in some cases.
2023-01-04 13:59:16 -07:00
Mikayla Maki 1b7c426a70 v0.69.x dev 2023-01-04 11:45:25 -08:00
Nathan Sobo e3b9adc8f6 Update buffer files when synchronizing buffers
It's possible that the host was disconnected when attempting to notify
guests of a file save, so we need to transmit this in order to correctly
update the file's mtime.

Next failing seed OPERATIONS=200 SEED=6894
2023-01-04 12:33:48 -07:00
Nathan Sobo 01d051d43d Introduce completed_scan_id to worktree
We need to know the most recent scan id we have actually completed. This is to
handle the case where a guest disconnects when we're in the middle of streaming
worktree entries to them. When they reconnect, they need to report a scan_id
from before we started streaming the entries, because we have no record of when
the stream was interrupted.

Next failure:
SEED=5051 ITERATIONS=1 OPERATIONS=200 cargo test --release --package=collab random -- --nocapture
2023-01-03 18:26:57 -07:00
Julia 8818c742de Include Typescript completion item detail field in completion label 2023-01-03 16:37:35 -05:00
Nathan Sobo e527caa26d WIP 2023-01-03 13:30:14 -07:00
Nathan Sobo fdb51a78b9 Record failing seed 2023-01-02 21:12:39 -07:00
Nathan Sobo fe90759634 Track open buffers when handling sync requests
When a host sends a buffer to a guest for the first time, they record that
they have done so in a set tied to that guest's peer id. When the guest
reconnects and syncs buffers, they do so under a different peer id, so we
need to be sure we track which buffers we have sent them to avoid sending
them the same buffer twice, which violates the guest's assumptions.
2023-01-02 20:27:59 -07:00
Max Brunsfeld a1a24db841 Assign fake fs entries' mtimes more consistently 2023-01-02 10:20:52 -08:00
JuliaandNate Butler 002dcd11a8 Add dismiss buffer search button & fix some faulty icon button styling
Co-Authored-By: Nate Butler <nate@zed.dev>
2023-01-01 23:50:46 -05:00
Joseph Lyons d9a7e1fed6 Appease clippy 2023-01-01 23:50:45 -05:00
Mikayla Maki 567df56e82 Merge pull request #2000 from zed-industries/fix-line-seperator
Add other line seperators to regex normalization
2022-12-30 18:24:36 -08:00
Mikayla Maki 10f1bdcdcc Add other line seperators to regex normalization 2022-12-30 18:18:02 -08:00
Joseph Lyons 61ef97a1d4 Rename variable 2022-12-29 13:43:56 -05:00
Joseph Lyons 1a53d673c9 Add close clean items command 2022-12-29 13:28:52 -05:00
Joseph Lyons adc5d4f2c8 Add close all items command 2022-12-29 01:43:49 -05:00
Nathan Sobo b512c661c9 Remove printlns, found a failure
Failing seed:
SEED=416 MAX_PEERS=2 ITERATIONS=5000 OPERATIONS=159 cargo +beta test --package=collab random -- --nocapture
2022-12-27 17:01:31 -07:00
Nathan Sobo b3387b31ac Set transaction group interval to ZERO by default in tests
We were seeing non-deterministic behavior in randomized tests when
generating backtraces took enough time to cause transactions to group
in some cases, but not group in others.

Tests will need to explicitly opt into grouping if they want it by
setting the interval explicitly. We have tests in the text module that
currently test the history grouping explicitly, but I'm not sure
it's needed elsewhere.
2022-12-27 16:47:28 -07:00
Joseph Lyons 57f9743afd Add home and end key support 2022-12-26 00:24:26 -05:00
Max Brunsfeld ad007a836e WIP - Panic immediately when detecting non-determinism via a change to the execution trace 2022-12-23 17:34:13 -08:00
Antonio Scandurra 649e7d2eab WIP: failing randomized test
SEED=175 MAX_PEERS=2 ITERATIONS=1 OPERATIONS=159 cargo test --package=collab random -- --nocapture
2022-12-23 15:02:06 +01:00
Antonio Scandurra 5f13eeb06e Avoid hanging waiting for operations when buffer has none 2022-12-23 12:26:48 +01:00
Antonio Scandurra 7fc0cd4c8b Respond with an error when client hasn't got a registered handle 2022-12-23 11:53:13 +01:00
Joseph Lyons 12eb7d04fa Add actions for requesting features and filing bug reports 2022-12-22 23:04:33 -05:00
Joseph Lyons 61f9469444 Add memory to system specs 2022-12-22 18:10:49 -05:00
Joseph LyonsandMikayla Maki 2b1936e26d Factored data into a SystemSpecs struct
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>
2022-12-22 14:27:32 -05:00
Max BrunsfeldandAntonio Scandurra a7b871abcd Excluded deleted entries when initially sending worktrees to guests
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-12-22 11:18:10 -08:00
Antonio Scandurra 5f5b420221 WIP: failing test
SEED=882 RUST_LOG=collab::tests::randomized_integration_tests=info MAX_PEERS=2 ITERATIONS=1 OPERATIONS=49 cargo test --package=collab random -- --nocapture
2022-12-22 18:32:21 +01:00
Antonio Scandurra d4fd5df990 Restructure randomized test to be a bit clearer and test more stuff 2022-12-22 17:54:25 +01:00
Joseph Lyons 32ab66535d add command to copy system information to the clipboard 2022-12-22 03:43:04 -05:00
Max BrunsfeldandAntonio Scandurra a0c1217bbc Handle file and diff updates to incomplete buffers
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-12-21 15:39:57 -08:00
Max BrunsfeldandNathan Sobo c07f90cb54 Assert that buffers' file state matches in randomized collab test
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-12-21 15:38:44 -08:00
Max BrunsfeldandNathan Sobo 7fdb0c1234 In randomized test, open remote projects via the room
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-12-21 14:13:43 -08:00
Max Brunsfeld 370c08ec41 💄 Avoid referring to all clients as guests in random integration test 2022-12-21 11:37:18 -08:00
Max Brunsfeld 3bd050e983 Move randomized integration test into its own file 2022-12-21 11:26:24 -08:00