Commit graph

106 commits

Author SHA1 Message Date
Marcelo Mendonça Soares
84cfbadc45
feat: Require scopeId on domain tables to ensure user isolation (#73) 2026-06-18 01:05:24 -03:00
Marcelo Mendonça Soares
4f2e6b3210
chore: Add comprehensive merge benchmarks (#71) 2026-06-10 22:36:27 -03:00
Marcelo Mendonça Soares
4580326956
feat: Implements foreign key handling (#68) 2026-06-10 17:31:05 -03:00
Marcelo Mendonça Soares
e74caa1400
feat: Implement unique conflict handling to preserve invariants (#64) 2026-06-06 00:55:10 -03:00
Marcelo Mendonça Soares
60cca9cc85
fix: Fix missing entries when syncing multiple nodes (#58) 2026-06-02 01:42:34 -03:00
Marcelo Mendonça Soares
b8ae05c76d
feat: Replace the isDeleted flag by an int CLFlag (#55)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-05-31 14:17:59 -03:00
Marcelo Mendonça Soares
f85239c3a4
feat: Implement the sync protocol (#54)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-05-29 01:54:23 -03:00
Copilot
83fbef8d2c
chore: Add SELECT benchmark coverage for read-path overhead (#45)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Marcelo Soares <marcelo.me.soares@gmail.com>
2026-05-09 23:05:12 -03:00
Copilot
539f27b5d2
fix: Reject updates referencing soft-deleted rows (#36)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Marcelo Soares <marcelo.me.soares@gmail.com>
2026-05-07 16:31:19 -03:00
Copilot
d04a56520c
feat: Implement merge changes method (#38)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Marcelo Soares <marcelo.me.soares@gmail.com>
2026-05-07 00:42:23 -03:00
Copilot
0307094d58
fix: Stabilize benchmark sampling and expand storage reporting (#37)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Marcelo Mendonça Soares <marcelo.me.soares@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-07 00:17:30 -03:00
Marcelo Mendonça Soares
3545bbba1d
refactor: Replace drift by serverpod as core engine (#33) 2026-05-03 09:09:23 -03:00
Marcelo Mendonça Soares
cbc472523b
chore: Move the drift_offline_first to legacy in favor of Serverpod implementation (#32) 2026-04-24 21:17:11 -03:00
Copilot
027aec5ed0
feat: Split HLC storage into separate timestamp, counter, and node ID columns (#28)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: marcelomendoncasoares <6807059+marcelomendoncasoares@users.noreply.github.com>
2026-04-05 22:40:32 -03:00
Marcelo Mendonça Soares
0c1d63eec7
refactor: Hide the CRDT data normalized table behind a view to keep the application simple (#27) 2026-02-07 23:40:32 -03:00
Marcelo Mendonça Soares
6e0e2c25fa
fix: Remove unnecessary indexes to reduce storage (#22) 2026-02-07 21:00:26 -03:00
Marcelo Mendonça Soares
68bc3bf73f
refactor: Move the Hlc generation from Dart to the database (#20) 2026-02-05 22:38:12 -03:00
Marcelo Mendonça Soares
b747c2e785
feat: Replace the external Hlc class by a proprietary (#19) 2026-02-04 20:11:58 -03:00
Marcelo Mendonça Soares
1e13f1ba76
fix: Disable the triggers by default on the deferred constraints transactions (#13) 2026-02-01 22:57:14 -03:00
Copilot
05ad0dbc02
feat: Store benchmark results as git notes (#15)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Marcelo Soares <marcelo.me.soares@gmail.com>
2026-02-01 22:54:00 -03:00
Marcelo Mendonça Soares
ce7bf998bc
fix: Add instructions for separating commits when addressing PR comments (#12) 2026-01-30 00:45:15 -03:00
Copilot
74e2640262
feat: Add test coverage reporting to PRs (#8)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: marcelomendoncasoares <6807059+marcelomendoncasoares@users.noreply.github.com>
2026-01-29 21:21:48 -03:00
Marcelo Soares
aee9b98f0e
chore: Run tests on CI with --reporter=failures-only 2026-01-27 16:00:44 -03:00
Marcelo Soares
abc16d1895
feat: Support specifying the conflicting bias 2026-01-27 15:59:51 -03:00
Marcelo Mendonça Soares
9dd6cbea3b
chore: Add benchmark for time and storage interference (#4) 2026-01-27 15:46:30 -03:00
Marcelo Soares
dbdacd8a51
fix: Rename the persistedColumns to nonGenerated for clarity 2026-01-26 21:35:29 -03:00
Marcelo Soares
323a481151
test: Increase the test coverage for triggers SQL generation 2026-01-26 21:34:24 -03:00
Marcelo Soares
6715ef8409
fix: Change the trigger SQL to use ON CONFLICT DO UPDATE instead of OR REPLACE 2026-01-26 21:34:08 -03:00
Marcelo Soares
439009211a
fix: Remove unused CrdtCompensationTable table 2026-01-26 20:54:29 -03:00
Marcelo Soares
5f27fb6ebc
chore: Rename the package from the old name 2026-01-26 00:34:08 -03:00
Marcelo Soares
a93f021a7b
chore: Reorganize the package 2026-01-26 00:30:28 -03:00
Marcelo Soares
d813653587
fix: Fix wrong column name on CrdtMergeHlcTable index 2026-01-26 00:15:21 -03:00
Marcelo Soares
1e34157db7
chore: Add CI workflow 2026-01-26 00:15:21 -03:00
Marcelo Soares
6cc829921a
chore: Add badges to the README 2026-01-26 00:13:32 -03:00
Marcelo Soares
32024f215e
chore: Prepare the repository to use GitHub Copilot 2026-01-25 23:34:49 -03:00
Marcelo Soares
63a73117e0
chore: Update minimum dart version and run formatter 2026-01-25 23:34:20 -03:00
Marcelo Soares
966fec27db
feat: Implement the sync mechanism 2026-01-25 23:00:01 -03:00
Marcelo Soares
6c4a92f3a2
chore: Mark the temporary migration test as skipped to avoid failures 2026-01-25 22:52:40 -03:00
Marcelo Soares
825fd4d97c
fix: Fix the conversion between CrdtDataEntry and Insertable 2026-01-25 22:52:16 -03:00
Marcelo Soares
eadf1f7d7c
refactor: Improve code organization and reutilization 2026-01-25 00:57:14 -03:00
Marcelo Soares
df0f798166
refactor: Move the CRDT extract utility to a dedicated file 2026-01-24 21:47:57 -03:00
Marcelo Soares
74d2c728f0
refactor: Transform the table type generic in the extraction method into string parameter 2026-01-24 20:19:28 -03:00
Marcelo Soares
f078e66a51
feat: Basic implementation of the OfflineSyncCrdt methods on SQLite3 2026-01-23 16:47:51 -03:00
Marcelo Soares
f74f94edea
test: Add tests for the HLC initialization process 2026-01-22 00:52:50 -03:00
Marcelo Soares
e3e02a1a32
test: Add tests for the database setup 2026-01-22 00:52:38 -03:00
Marcelo Soares
0a3fb46163
fix: Return the userId to the CRDT data table 2026-01-22 00:51:41 -03:00
Marcelo Soares
cef8ef7df5
fix: Remove unused valueChanged field 2026-01-22 00:45:38 -03:00
Marcelo Soares
f40d53435d
fix: Improve the exceptions on the database setup 2026-01-22 00:30:22 -03:00
Marcelo Soares
427486308d
test: Allow setting a file-based test executor for tests 2026-01-22 00:14:05 -03:00
Marcelo Soares
62689b45d4
test: Ensure isolation of user and node IDs between tests 2026-01-22 00:13:24 -03:00