Skip to content

Chore: Sync fuzzer: Add new possible actions: Adding and syncing a new temporary client on an existing account #12741

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 19 commits into
base: dev
Choose a base branch
from

Conversation

personalizedrefrigerator
Copy link
Collaborator

@personalizedrefrigerator personalizedrefrigerator commented Jul 18, 2025

Summary

This pull request adds actions to the sync fuzzer that allow:

  • Adding a new client on the same account as an existing client.
    • Before the first sync, the new client is usually initialized with a new folder and a number of initial notes.
  • Removing an added client.

Additionally, to debug issues experienced while working on this pull request, it:

  • Adds additional debug logic.
  • Adjusts how commands are run.
    • Previously, commands were run with something similar to "yarn start-no-build --profile=... command-here args-here". This created one CLI process per command.
    • The web clipper API server was started just like any other command. However, the API server ran until a client was closed. As a result, it was possible for multiple same-profile CLI processes to be running at the same time.
    • This pull request adjusts the batch CLI command to allow accepting input from process.stdin when ran with - as the filename. The fuzzer uses batch - to send commands to the same CLI process. This allows the web clipper API server to run in the same process as normal CLI commands.

Tasks

  • Move debugging-related changes to a separate pull request.
  • Currently, the sync fuzzer randomly fails with an E2EE sync-related error. Interestingly, this issue occurs at different points even with a constant seed.
    • Current workaround: Repeatedly resync after a delay when a sync fails.
  • Fix a conflict-related sync issue — either adjust the fuzzer's expected state or fix the sync bug.
    • The conflict issue seems to also be encountered by the existing fuzzer logic in dev.

@personalizedrefrigerator personalizedrefrigerator changed the title Chore: Sync fuzzer: Create adding and syncing a new temporary client Chore: Sync fuzzer: Add new possible actions: Adding and syncing a new temporary client on an existing account Jul 18, 2025
@personalizedrefrigerator personalizedrefrigerator added the sync sync related issue label Jul 18, 2025
@personalizedrefrigerator personalizedrefrigerator marked this pull request as ready for review August 11, 2025 17:03
@personalizedrefrigerator personalizedrefrigerator marked this pull request as draft August 11, 2025 17:06
While these changes were useful for debugging a fuzzer failure, they
aren't directly related to adding/removing accounts in the sync fuzzer.
@personalizedrefrigerator personalizedrefrigerator marked this pull request as ready for review August 11, 2025 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sync sync related issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant