Skip to content

Commit

Permalink
Authenticator sync (#496)
Browse files Browse the repository at this point in the history
* Draft authenticator sync test spec.

The merge_folder() function now also returns the decoded WriteEvent
events on the client implementation.

* Improve authenticator sync test spec.

* Diff only respects is_sync_disabled() client-side.

Otherwise enabling sync for an authenticator after it was disabled will
result in an empty event log on the newly synced device as the server
would not return the data.

* Update prost/prost-build to v0.13.

* Update lock file.

* Create failing test case for sign in.

When no folder password exists.

* Update signature for find_folder_password().

* Tidy error variant.

* No folder password test spec now passes.

* Switch to nextest, update github action.

Halves the execution time for tests.

* Tweak checks workflow for PR.

* Revert PR trigger for workflow.

* Invert is_client to is_server.

So that local folders with NO_SYNC flag will be sent to the server but
wouldn't be included in the diff sent to clients.

* Use LOCAL flag to indicate a folder is local first.

* Update no_sync test spec for inverted condition.

* Use pending directory for LOCAL folder stubs.

So that other client devices can respond to AccountEvent::CreateFolder
when a LOCAL folder is created on another device by creating stub files
in the pending directory.

When a merge is attempted on a folder we first try to promote the folder
in case it is pending.

This allows the NO_SYNC flag to backup folders to remote server(s) but
not share the contents with other devices until the NO_SYNC flag is
removed.

* Update condition for is_local_folder.

* Fix handling of NO_SYNC flag, update test spec.

* Do not support remove_local_folder().

* Support authenticator migrate import/export zip archive.

* Tidy obsolete constant in test spec.

* Move commands to tools command.

* Add tools authenticator command.

Supports export and import of unencrypted TOTP secrets.

* Update lock file.

* Bump patch version.

* Update lock file.
  • Loading branch information
tmpfs committed Jul 23, 2024
1 parent 90a64ef commit 34e782f
Show file tree
Hide file tree
Showing 54 changed files with 1,169 additions and 472 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Checks

on:
workflow_call:
#pull_request:
# pull_request:

env:
RUST_TEST_TIME_INTEGRATION: "120000,300000"
Expand Down Expand Up @@ -50,10 +50,10 @@ jobs:
security list-keychains -s $HOME/Library/Keychains/sos-mock.keychain-db
security list-keychains
- name: Install cargo-make
run: |
cargo install cargo-make
- uses: taiki-e/install-action@v2
with:
tool: nextest

- name: Run tests
run: |
cargo make test-lite
cargo nextest run
Loading

0 comments on commit 34e782f

Please sign in to comment.