Skip to content

fix: rebuild Your files from GitHub on dashboard load - #146

Draft
kyuchia wants to merge 2 commits into
feat/view-edit-permissionsfrom
fix/your-files-github-source
Draft

fix: rebuild Your files from GitHub on dashboard load#146
kyuchia wants to merge 2 commits into
feat/view-edit-permissionsfrom
fix/your-files-github-source

Conversation

@kyuchia

@kyuchia kyuchia commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Problem

"Your files" are rendered from a local PouchDB tree. Saves dual-write (GitHub + tree), but nothing ever rebuilds the tree from GitHub, so after clearing browser data or switching devices, the panel shows empty while the user's cress-mappings repo is intact. Pre-existing gap in the #140 storage layer, not a regression.

Fix

Background reconcile on dashboard load, GitHub as source of truth: listRemoteMappings() (remote-only names, no-op when logged out) + reconcileTreeWithRemote(), paints the local tree first, then materializes any remote mapping not found anywhere in the tree (reuses materializeCopyInTree, idempotent).

Additive-only for v1: local-only entries are never deleted; no dirty/unsynced marker exists yet, so deletion could destroy an unsynced file. Deletion-side reconcile is a follow-up. Failures are non-fatal (console.warn, local tree stays usable).

Testing (local, manual)

Fresh incognito + login → all repo files appear in ~1–2s (previously empty); editor content matches GitHub. Hard refresh → no duplicates. Saving new mappings and All Mappings unaffected. Logged out → silent no-op.

Notes

Stacked on #145 (merge order: #140#141#145 → this); this PR's own commits are 6a003ad + eb09b09. The PouchDbLocalStore: 2 documents named ... console message is the pre-existing mirror-orphan issue, unrelated.

@kyuchia
kyuchia changed the base branch from main to feat/view-edit-permissions July 8, 2026 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant