[PR #64] [MERGED] Group CRDT files into their own directory #2995

Closed
opened 2026-02-28 20:34:46 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/64
Author: @TomAFrench
Created: 5/15/2022
Status: Merged
Merged: 8/23/2022
Merged by: @jlongster

Base: masterHead: crdt-dir


📝 Commits (3)

  • 91d9f21 refactor: move crdt files into separate directory
  • 14d4603 chore: move snapshot to new dir
  • 19db01a fix: correct import of merkle in test

📊 Changes

21 files changed (+37 additions, -32 deletions)

View changed files

📝 packages/loot-core/bin/get-db-schema (+0 -1)
📝 packages/loot-core/bin/profile-sql.js (+0 -1)
📝 packages/loot-core/src/server/api.js (+1 -1)
📝 packages/loot-core/src/server/aql/schema/executors.test.js (+1 -1)
📝 packages/loot-core/src/server/crdt/__snapshots__/merkle.test.js.snap (+0 -0)
packages/loot-core/src/server/crdt/index.js (+4 -0)
📝 packages/loot-core/src/server/crdt/merkle.js (+0 -0)
📝 packages/loot-core/src/server/crdt/merkle.test.js (+1 -1)
📝 packages/loot-core/src/server/crdt/timestamp.js (+3 -3)
📝 packages/loot-core/src/server/crdt/timestamp.test.js (+1 -1)
📝 packages/loot-core/src/server/db/index.js (+4 -3)
📝 packages/loot-core/src/server/main.js (+6 -5)
📝 packages/loot-core/src/server/main.test.js (+1 -1)
📝 packages/loot-core/src/server/prefs.js (+1 -1)
📝 packages/loot-core/src/server/sync/index.js (+5 -4)
📝 packages/loot-core/src/server/sync/migrate.js (+1 -1)
📝 packages/loot-core/src/server/sync/repair.js (+1 -2)
📝 packages/loot-core/src/server/sync/sync.property.test.js (+2 -2)
📝 packages/loot-core/src/server/sync/sync.test.js (+2 -1)
📝 packages/loot-core/src/server/tests/mockSyncServer.js (+2 -2)

...and 1 more files

📄 Description

The merkle and timestamp files form two parts of the same CRDT system but this isn't made clear how we lay out / import these files.

I've moved these to sit in the crdt directory so we can import everything we need for the CRDT from a single place as they're all logically connected. This is also a first step in encapsulating some of this logic so that we can refactor some of this later on.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/64 **Author:** [@TomAFrench](https://github.com/TomAFrench) **Created:** 5/15/2022 **Status:** ✅ Merged **Merged:** 8/23/2022 **Merged by:** [@jlongster](https://github.com/jlongster) **Base:** `master` ← **Head:** `crdt-dir` --- ### 📝 Commits (3) - [`91d9f21`](https://github.com/actualbudget/actual/commit/91d9f214e0ad7d3be41c2ef6e4f5579210b43672) refactor: move crdt files into separate directory - [`14d4603`](https://github.com/actualbudget/actual/commit/14d4603aedc459b00e1ab00d8f9625ddebeea738) chore: move snapshot to new dir - [`19db01a`](https://github.com/actualbudget/actual/commit/19db01a59138af7498ef7a52298b2e6f192a0e4b) fix: correct import of merkle in test ### 📊 Changes **21 files changed** (+37 additions, -32 deletions) <details> <summary>View changed files</summary> 📝 `packages/loot-core/bin/get-db-schema` (+0 -1) 📝 `packages/loot-core/bin/profile-sql.js` (+0 -1) 📝 `packages/loot-core/src/server/api.js` (+1 -1) 📝 `packages/loot-core/src/server/aql/schema/executors.test.js` (+1 -1) 📝 `packages/loot-core/src/server/crdt/__snapshots__/merkle.test.js.snap` (+0 -0) ➕ `packages/loot-core/src/server/crdt/index.js` (+4 -0) 📝 `packages/loot-core/src/server/crdt/merkle.js` (+0 -0) 📝 `packages/loot-core/src/server/crdt/merkle.test.js` (+1 -1) 📝 `packages/loot-core/src/server/crdt/timestamp.js` (+3 -3) 📝 `packages/loot-core/src/server/crdt/timestamp.test.js` (+1 -1) 📝 `packages/loot-core/src/server/db/index.js` (+4 -3) 📝 `packages/loot-core/src/server/main.js` (+6 -5) 📝 `packages/loot-core/src/server/main.test.js` (+1 -1) 📝 `packages/loot-core/src/server/prefs.js` (+1 -1) 📝 `packages/loot-core/src/server/sync/index.js` (+5 -4) 📝 `packages/loot-core/src/server/sync/migrate.js` (+1 -1) 📝 `packages/loot-core/src/server/sync/repair.js` (+1 -2) 📝 `packages/loot-core/src/server/sync/sync.property.test.js` (+2 -2) 📝 `packages/loot-core/src/server/sync/sync.test.js` (+2 -1) 📝 `packages/loot-core/src/server/tests/mockSyncServer.js` (+2 -2) _...and 1 more files_ </details> ### 📄 Description The `merkle` and `timestamp` files form two parts of the same CRDT system but this isn't made clear how we lay out / import these files. I've moved these to sit in the `crdt` directory so we can import everything we need for the CRDT from a single place as they're all logically connected. This is also a first step in encapsulating some of this logic so that we can refactor some of this later on. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-02-28 20:34:46 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#2995