Fix sync, CI, perf, correctness (I.5) + repo hygiene (I.6) - #12
Draft
PaperPit wants to merge 10 commits into
Draft
Fix sync, CI, perf, correctness (I.5) + repo hygiene (I.6)#12PaperPit wants to merge 10 commits into
PaperPit wants to merge 10 commits into
Conversation
Three bugs caused silent overwrite across devices: 1. Queued PATCHes applied without updated_at=lte (last connector won) 2. Background sync pulled before flushing the offline queue 3. Settings blob upsert ignored remote/local stamps Apply LWW filters on card/folder/box patches, flush then pull on background sync, and resolve settings by updated_at. Co-authored-by: PaperPit <PaperPit@users.noreply.github.com>
- PATCH with baseUpdatedAt (eq) and treat 0 rows as conflict → dead letter - Full/delta pull writes card bodies into IDB mirror (not only SRS meta) - Review hydrate refetches missing bodies online; shows offline gap toast Co-authored-by: PaperPit <PaperPit@users.noreply.github.com>
- Bind offline uploadImage to cardId/side; never push data: URLs to Postgres - Confirm algo switch and seed target columns from source progress - Review log: real elapsed_days; mark binary grades synthetic for optimizer/CSV Co-authored-by: PaperPit <PaperPit@users.noreply.github.com>
- Wire typescript-eslint + prettier into eslint.config.cjs with files/rules - Use \`eslint js\` / quoted prettier globs (dash has no globstar) - Align .prettierrc with repo style; clear no-useless-* errors for green lint Co-authored-by: PaperPit <PaperPit@users.noreply.github.com>
- Delete dead vitest.config.js (keep .ts with happy-dom + alias) - CI: coverage thresholds, functions:check, ext:check, Playwright smoke - Deploy waits for successful CI on main (workflow_run), not bare push - Extract/test API key validators; lint functions; fix e2e home selectors Co-authored-by: PaperPit <PaperPit@users.noreply.github.com>
Co-authored-by: PaperPit <PaperPit@users.noreply.github.com>
Walking gitignored js/*.js let orphan modules into CORE_FILES; a committed sw.js with a missing path makes cache.addAll fail atomically on clean deploy. - Shared scripts/lib/sw-precache.mjs: dist walk + TS→JS mapping - Root sw.js from sources; dist/sw.js from build output (bundle.mjs) - npm run sw:check + CI step after build:bundle Co-authored-by: PaperPit <PaperPit@users.noreply.github.com>
- SW: cache-first hashed chunks, SWR for shell; exclude screen/motion entries and non-RU font subsets from precache; modulepreload in bundle - Folder: debounce search + precomputed index; measure virtual row height; delete without full route(); cache listOffset - Global error/rejection toasts; grading catch; activity idbSave resolves - Lazy screen CSS via ensureCss; dynamic motion import + stagger cap; flip-card batch measure; card-img-slot; folderCache LRU (max 5) Co-authored-by: PaperPit <PaperPit@users.noreply.github.com>
- rich-editor: outside-click closes highlight menu; paste sanitized; destroy on modal close - flip-card: destroy keydown; FSRS keys 1–4; session passes destroy - store typed as LocalStore|CloudStore (drop any); AnswerSoundSettings; algo typo leitner - delete card/folder: toastAction undo restore; offline banner for local + offline event - stats: offlineBanner; untrack zip/tar/pycache/.cursor/settings + extension/dist JS - РАЗРАБОТКА.md aligned with tsc / test counts / layout Co-authored-by: PaperPit <PaperPit@users.noreply.github.com>
Co-authored-by: PaperPit <PaperPit@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem (audit 2.x–3.x + I.4–I.6)
Sync / tooling / SW precache / frontend perf as before.
I.5 Correctness: inverted rich-editor menu close; flip-card keydown leak; FSRS keys 1–2 only;
store: any; irreversible deletes; offline banner cloud-only / noofflinelistener; stats missing banner.I.6 Junk/docs: tracked deploy zip (with Supabase URL), design tar,
__pycache__,.cursor/settings.json, committedextension/dist/*.js;РАЗРАБОТКА.mdstale (no-build claim, missingjs/srs.js, wrong test counts).Fix
AppStoretyping; delete undo viatoastAction; offline banner for local +offlineevent; stats bannerextension/dist/; updateРАЗРАБОТКА.md/.gitignore/ CLAUDE. Side Panel copy left as-is (extension still ships side panel on this branch)Verify
npm test— 377 passednpm run typecheck— cleannpm run build:bundle && npm run sw:check/ext:check— OK