46 Commits

Author SHA1 Message Date
haad
85686ba478 Fix timeout and timing bug in Sync 2025-05-20 10:00:37 +03:00
haad
dc150b9cc2 Fix a timeout/race condition when closing databases 2025-05-09 12:37:40 +02:00
Hayden Young
5f54993660 Merge remote-tracking branch 'origin' into feat/encryption 2025-02-22 15:27:07 +01:00
Julien Malard-Adam
c5898dd58a
Remove semicolons 2025-02-21 12:19:51 +01:00
Julien Malard-Adam
8ff138de46
Remove disconnected peers 2025-02-21 09:40:56 +01:00
Julien Malard-Adam
d504e0f7ba
Update sync.js
Remove console.error, since the error is already caught and reported by events.emit('error') afterwards
2025-02-12 11:15:08 +01:00
Julien Malard-Adam
28b3e807de
Update error name 2025-02-04 12:12:09 -05:00
Julien Malard-Adam
41f015cb13
Use .name instead of .code for errors
Fix for the change in libp2p here: https://github.com/libp2p/js-libp2p/pull/2655
2025-02-04 12:09:11 -05:00
haad
d83bfa9fc8 Refactor and add separate PasswordEncryption module 2024-07-07 10:44:22 +03:00
haad
383420750e Move oplog storages to their own module 2024-06-30 09:25:00 +03:00
haad
f30789fece Encrypt and decrypt entries and payloads 2024-06-28 22:13:46 +03:00
Hendrik Leppelsack
1d5c18e419
fix links to sync api docs and formatting of sync module docstring 2024-05-10 16:52:39 +02:00
Hayden Young
ba043391d9 chore: Upgrade Helia. 2024-01-09 16:50:25 +00:00
Hayden Young
b105dd489a fix: Lint errors. 2023-12-15 23:11:42 +00:00
Hayden Young
6501ec6fa7 docs: Remove references "lazy loading" during replication. All values are now replicated when entries are replicated via joinEntry. 2023-12-15 23:10:24 +00:00
haad
5b0bc171d1 Clean up 2023-12-15 10:28:58 +02:00
Hayden Young
d05cd87b5c chore: Do not catch any error when onPeerJoined. 2023-10-12 21:03:19 +01:00
Hayden Young
b069e76f91 chore: Catch any error when onPeerJoined. 2023-10-12 20:28:59 +01:00
Hayden Young
01d74aaa02 chore: Do not catch any error when onPeerJoined. 2023-10-11 23:41:06 +01:00
Hayden Young
e609d33ae8 chore: Output stack. 2023-10-11 23:30:35 +01:00
Hayden Young
78dab50eb8 chore: Do not catch any error when sendHeads. 2023-10-11 23:20:13 +01:00
Hayden Young
e1a163bce7 fix: Lint issues. 2023-10-11 23:05:22 +01:00
Hayden Young
0c3e7667f3 chore: Catch heads iterator errors. 2023-10-11 23:03:22 +01:00
Hayden Young
3b3f90501c fix: Stop sync before removing listeners. 2023-10-11 22:24:05 +01:00
Hayden Young
3b7ffd02a7 fix: Lint issues. 2023-10-10 09:37:56 +01:00
Hayden Young
280bc60a92 refactor: Do not filter "messages from me". Hand off to Helia config. 2023-10-10 09:36:00 +01:00
haad
f86564db13 Fix helia tests 2023-09-28 16:14:57 +03:00
Hayden Young
ec8b17352a fix: Deregister all events to complete stop sync. 2023-09-25 19:32:36 +01:00
Hayden Young
dc706ee713 fix: Filter pubsub sync messages by address. 2023-09-24 00:31:38 +01:00
Hayden Young
31597d7084 refactor: Support Helia. 2023-09-23 16:25:29 +01:00
haad
faa312363e Clarify events in Sync 2023-06-30 09:59:11 +03:00
Hayden Young
ad13ebe014 fix: Linting. 2023-06-27 13:21:26 +01:00
Hayden Young
88d202008f docs: The join event fires AFTER heads have been exchanged. 2023-06-27 13:19:44 +01:00
Hayden Young
9befa48a7a docs: Formatting. 2023-06-24 23:50:44 +01:00
Hayden Young
bd6bb021c1
docs: Lamport clock docs. (#77)
* docs: Lamport clock docs.

* docs: Formatting.

* docs: Formatting.

* docs: Formatting.
2023-06-03 06:00:25 +08:00
haad
c117ef63ba Add jsdocs 2023-04-13 09:15:27 +03:00
saul
06a68bbe1c Replace usages of path with path join util. 2023-03-28 12:55:15 +13:00
Haad
fddcd0d775
Fix tests (#51)
* Fix error event test in Sync tests

* Fix race condition

* Debug timeouts

* More tests fixing

* Try running local webrtc-star-signalling server for tests

* Fix sync tests

* Skip Log references tests in the browser tests
2023-03-27 20:09:26 +08:00
haad
2308f01a99 Fix Sync state 2023-03-26 08:35:06 +03:00
haad
39f5face5a Add optional flag to disable automatic sync per database 2023-03-25 12:34:02 +02:00
Hayden Young
1990cb9b87
Test/sync (#43)
* test: Re-enable skipped tests.

* test: Re-enable all tests.

* test: Wait for final entry when evaluating onSynced.

* test: Check if latest append is head to determine if sync has completed.

* test: Do not rely on order of sync-ed entries.

* docs: Sync-ing notes.

* docs: Simplify dial and pubsub explanation. Formatting.

* refactor: Check for required params.

* docs: Explain initial sync and pubsub updates.

* test: Save updated heads during sync.

* test: Remove extraneous expected entries.

* test: For eventual consistency.

* chore: Remove console.logs. Log errors using error event.

* chore: Remove extraneous asyncs.
2023-03-17 04:33:39 +08:00
Hayden Young
a40bc8bdcf
Test/database (#38)
* test: Database.

* test: Remove caching test. Caching is superseded by the various storage options.

* test: db2 replicates data in existing db1.

* test: Move event tests to generic database tests.

* test: Single instance cleanup.

* fix: Linting.

* Fix Sync race condition (#39)

* test: Fix key path import.

---------

Co-authored-by: Haad <haadcode@users.noreply.github.com>
2023-03-11 21:01:05 +08:00
haad
57de45bac6 Add tests for the Sync protocol 2023-03-09 11:55:20 +02:00
haad
4c31514a1b Refactor names and functions in Sync 2023-03-03 09:05:10 +02:00
haad
ebdafaa248 Improve sync protocol event handling 2023-03-03 07:38:25 +02:00
haad
4a7d3f0720 Move files, clean up 2023-03-01 18:16:06 +02:00