Aiden McClelland
10413414dc
fix: revert from ciborium to serde_cbor_2, make apply_patches iterative
...
- ciborium's deserialize_str bug (#32 ) caused DB deserialization to fail
silently, nuking the database value to null on compress
- Switch to dr-bonez/cbor fork (serde_cbor_2) which has StreamDeserializer
change_output_type support
- Propagate deserialization errors instead of falling back to null
- Convert apply_patches from recursion to iteration to prevent stack
overflow on patches with many operations (e.g. 953 ops)
2026-03-09 23:42:14 -06:00
Aiden McClelland
003cb1dcf2
fix: address PR review comments
...
- patch.rs: convert Replace to Add when idx == onto_idx in Remove rebase
- store.rs: use ciborium::from_reader_with_buffer to reuse scratch buffer
- store.rs: compress takes &mut bool instead of returning bool
- store.rs: move OPEN_STORES cleanup to Drop impl (std::sync::Mutex)
- store.rs: PatchDb::close no longer errors on other references
- store.rs: revert exists() to treat null as non-existent
- remove @claude changelog comments from backend
2026-03-06 16:32:33 -07:00
Matt Hill
86b0768bbb
audit fixes, repo restructure, and documentation
...
Soundness and performance audit (17 fixes):
- See AUDIT.md for full details and @claude comments in code
Repo restructure:
- Inline json-ptr and json-patch submodules as regular directories
- Remove cbor submodule, replace serde_cbor with ciborium
- Rename patch-db/ -> core/, patch-db-macro/ -> macro/,
patch-db-macro-internals/ -> macro-internals/, patch-db-util/ -> util/
- Purge upstream CI/CD, bench, and release cruft from json-patch
- Remove .gitmodules
Test fixes:
- Fix proptest doesnt_crash (unique file paths, proper close/cleanup)
- Add PatchDb::close() for clean teardown
Documentation:
- Add README.md, ARCHITECTURE.md, CONTRIBUTING.md, CLAUDE.md, AUDIT.md
- Add TSDocs to TypeScript client exports
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 19:06:42 -07:00
Aiden McClelland
05c93290c7
fix flatten handling
2026-01-14 01:01:04 -07:00
Aiden McClelland
bdb5a10114
add DbWatch
2025-12-02 11:32:30 -07:00
Aiden McClelland
90b336d6a9
bump json-ptr
2025-10-29 11:17:36 -06:00
Aiden McClelland
5b23a1eac6
destructure
2025-08-27 10:46:47 -06:00
Aiden McClelland
d2f38ef5f7
bump imbl-value
2025-08-15 17:55:16 -06:00
Aiden McClelland
223b1af4f5
bump imbl-value
2025-08-15 16:07:03 -06:00
Aiden McClelland
de9a2a6787
update to imbl v6
2025-07-25 16:35:38 -06:00
Aiden McClelland
f43ee19587
fix diffing algorithm
2025-07-14 12:47:14 -06:00
Aiden McClelland
1b0116d6d8
fix diffing algorithm
2025-07-14 10:23:24 -06:00
Aiden McClelland
f2f7c3141b
update cargo deps
2025-06-05 13:29:20 -06:00
Alex Inkin
d8cabe2a65
chore: update Angular ( #65 )
2025-05-23 15:58:46 -06:00
Aiden McClelland
d1362bdcd9
lift result from mutate
2025-03-20 12:33:44 -06:00
Aiden McClelland
0df18c651f
fix patching arrays... again
2025-01-24 16:48:38 -07:00
Aiden McClelland
36eb59b79e
update imbl-value
2025-01-17 15:53:59 -07:00
Aiden McClelland
86736491db
handle empty keys
2025-01-17 14:40:57 -07:00
Aiden McClelland
d3182d23da
fix patching of arrays
2025-01-16 16:41:48 -07:00
Aiden McClelland
2600a784a9
try-lock
2024-12-10 18:23:25 -07:00
Aiden McClelland
99076d349c
Merge branch 'master' of https://github.com/Start9Labs/patch-db
2024-06-24 10:43:39 -06:00
Aiden McClelland
faab5ff083
don't send empty patches
2024-06-24 10:43:34 -06:00
Alex Inkin
c537a07ea9
feat: move cache to optional constructor argument, so it can be exter… ( #64 )
...
* feat: move cache to optional constructor argument, so it can be externalized
Signed-off-by: waterplea <alexander@inkin.ru >
* chore: make cache private
Signed-off-by: waterplea <alexander@inkin.ru >
---------
Signed-off-by: waterplea <alexander@inkin.ru >
2024-06-21 21:26:18 -06:00
Matt Hill
7aa53249f9
remove bootstraop and drop alias for dump ( #63 )
2024-06-06 07:30:01 -06:00
Aiden McClelland
72c62cd525
update json-ptr
2024-06-05 10:26:50 -06:00
Aiden McClelland
88a804f56f
update json-ptr
2024-05-01 17:50:51 -06:00
Aiden McClelland
e0fcf10361
add typed wrapper
2024-04-24 17:44:58 -06:00
Aiden McClelland
e4a3f7b577
fix error
2024-03-15 11:55:57 -06:00
Aiden McClelland
df65275c2c
disallow indexing into flattened params
2024-03-14 17:52:08 -06:00
Aiden McClelland
3dc11afd46
Merge branch 'master' of https://github.com/Start9Labs/patch-db
2024-03-11 17:12:18 -06:00
Aiden McClelland
5f260322d7
update json-ptr
2024-03-11 17:12:09 -06:00
Matt Hill
2c8b29ec8f
permit futuristic revisions
2024-02-25 13:19:35 -07:00
Aiden McClelland
899c63afb5
subscribe to subtrees
2024-02-19 13:46:09 -07:00
Aiden McClelland
7096f15e9b
update json-patch
2024-01-04 14:04:26 -07:00
Aiden McClelland
6af2221add
remove revision cache ( #62 )
2023-10-16 22:02:02 +00:00
Aiden McClelland
3e5cc22bb6
Feature/lockless ( #60 )
...
* lockless
* new and improved api
* fix tests
Co-authored-by: J H <Blu-J@users.noreply.github.com >
* fix models again
* fix imports
* improved api
* fix internally tagged enums
---------
Co-authored-by: J H <Blu-J@users.noreply.github.com >
2023-09-28 19:26:17 +00:00
Lucy
8aeded3321
update ts-node and typescript ( #59 )
2023-06-07 14:55:31 -06:00
Matt Hill
fcfa917710
update package json ( #58 )
2023-03-15 15:00:07 -06:00
Lucy C
85959db110
update packages ( #57 )
2023-03-07 20:05:26 -07:00
Aiden McClelland
4b01b74f96
fuck it: no locks ( #56 )
2022-11-28 11:55:10 -07:00
Matt Hill
57af14469b
only update nodes once per patch ( #55 )
2022-11-28 11:55:10 -07:00
Alex Inkin
5104086317
feat: remove ionic storage ( #51 )
2022-11-28 11:55:10 -07:00
Aiden McClelland
cb8998a79c
make Store::apply cancel safe ( #53 )
2022-10-26 14:19:26 -06:00
Matt Hill
6c3079786f
handle escaping and honor root pointer ( #52 )
...
* handle escaping and honor root pointer
* Update client/lib/json-patch-lib.ts
* Update client/lib/json-patch-lib.ts
Co-authored-by: Lucy C <12953208+elvece@users.noreply.github.com >
2022-10-03 10:56:50 -06:00
Aiden McClelland
00564ca1ca
allow recovery from broken db ( #50 )
2022-09-27 14:56:26 -06:00
Aiden McClelland
50657d63e2
remove barrage ( #49 )
2022-09-26 13:35:13 -06:00
Aiden McClelland
e74f36f073
prefer compression as a failsafe ( #48 )
2022-09-22 08:40:06 -06:00
Matt Hill
4d987b1921
don't emit until bootstrapped with data ( #47 )
2022-09-21 10:51:32 -06:00
Matt Hill
20beb61baa
much more efficient ( #46 )
...
* much more efficient
* update children too
* better compare
2022-09-14 11:21:00 -06:00
Matt Hill
74c01eb5db
fix updating revision number on dumps
2022-09-06 13:54:33 -06:00