feat(audit): Batch 14 — perf (code-split + seed DCE) + first-run default
- PERF8: code-split the non-default tabs. Library/History/Terminal/Settings are React.lazy chunks behind a Suspense; Downloads (the launch tab) stays eager. The production build now emits separate SettingsView (~90kB), LibraryView (~29kB), HistoryView (~16kB), TerminalView (~8kB) chunks — ~140kB out of the initial bundle. The stores these views use are imported eagerly elsewhere, so lazy- loading the views never delays store startup/persistence (per the C2 note). - L128: gate the three preview seed arrays (downloadSeed / sources seeds / history seed) on `import.meta.env.DEV && PREVIEW`. In the packaged build DEV is statically false, so Rollup constant-folds and dead-code-eliminates the seed literals; the browser dev preview (DEV true) still gets them. - SR4: clipboardWatch now defaults false for new installs (privacy — no clipboard read on focus until opted in). Existing installs keep their saved value (electron-store fills only missing keys); the onboarding tip points to the setting. NOTE: this flips a signature convenience off-by-default for new users — flagged for the maintainer, trivially reversible. Deferred with rationale (CODE-AUDIT.md): PERF3 (core-queue micro-opt on a bounded list, risky unattended), PERF6/L162 (bounded by virtualization + conflicts with PERF5's hoisted renderItem), SR5 (MP3 = deliberate compatibility default; the label bug was M18), W12 (fallback-of-a-fallback icon), W15 (GPU software-rendering workaround — external driver dependency), L104 (History virtualization needs the L161 layout rework + live verification; bounded by the 500-cap). Verified: typecheck (node+web) + 279 tests + eslint + production build green (code-split chunks confirmed in output); touched files prettier-clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+4
-1
@@ -638,7 +638,10 @@ export const DEFAULT_SETTINGS: Settings = {
|
||||
// greeted by a bright white window despite full system-theme support.
|
||||
theme: 'system',
|
||||
accentColor: 'teal',
|
||||
clipboardWatch: true,
|
||||
// Off on first launch (SR4): reading the clipboard on every window focus is a
|
||||
// privacy surprise for a brand-new user. It's a one-toggle opt-in in Settings
|
||||
// (the onboarding tip points there). Existing installs keep their saved value.
|
||||
clipboardWatch: false,
|
||||
downloadOptions: DEFAULT_DOWNLOAD_OPTIONS,
|
||||
proxy: '',
|
||||
rateLimit: '',
|
||||
|
||||
Reference in New Issue
Block a user