From 37dadf5c8d9ecec73e92427eacf62fbc50485837 Mon Sep 17 00:00:00 2001 From: Maksim Kostromin Date: Tue, 13 Oct 2026 15:19:40 -0400 Subject: [PATCH] docs: keep single-file app and localStorage out of known issues --- README.md | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index dd72e7f..25ef22f 100644 --- a/README.md +++ b/README.md @@ -88,18 +88,13 @@ data remains isolated and completely secure. ## ⚠️ Known Issues Still open from the architecture review of 2026-07-13 (re-checked 2026-10-13). Fixed since then and dropped from -this list: over-wide rows are no longer cut (PR #19) - -### Monolithic `src/main.tsx` -Parser, type detection, filter engine, export, persistence, loading orchestration and every UI component live in one -1800+ line file, so domain logic cannot be tested on its own and every change touches the render file. Fix: move -the domain code to `csv-parser.ts`, `column-types.ts`, `filters.ts`, `export.ts`, `settings-storage.ts` and the -components to their own files, keeping the UX unchanged +this list: over-wide rows are no longer cut (PR #19). Not an issue by decision: the app stays a single `src/main.tsx` +file (see its header) ### Large files block the browser Files are read whole, parsed on the main thread, kept in React state and rendered without virtualization in both -tab and merge views. Big exports or many files at once freeze the tab. Fix: parse in a Web Worker, virtualize rows, -keep remembered datasets in IndexedDB instead of `localStorage` +tab and merge views. Big exports or many files at once freeze the tab. Fix: parse in a Web Worker and virtualize rows. +Remembered datasets stay in `localStorage` (IndexedDB is out of scope) ### Parser trims quoted values `parseCSVText` calls `field.trim()` on every field, quoted ones included, so `" keep spaces "` loses its spaces.