perf(react-doctor): fix compiler-blocking patterns, raise score 72→81

Replace sync setState-in-effect with keyed remount and render-derived patterns in app, error-display, topbar-edit-modal, catalog-filters; use useCurrentTime() instead of Date.now() in hot paths; fix conditional hooks, passive scroll listeners, lodash path imports.
This commit is contained in:
plebeius
2026-02-18 15:31:01 +08:00
parent afb50ad02d
commit e0ed510fc6
27 changed files with 213 additions and 200 deletions
+9 -8
View File
@@ -28,6 +28,7 @@
"i18next-browser-languagedetector": "7.1.0",
"i18next-http-backend": "2.2.2",
"json-stringify-pretty-compact": "4.0.0",
"kubo": "0.39.0",
"lodash": "4.17.23",
"memoizee": "0.4.15",
"react": "19.1.2",
@@ -43,8 +44,7 @@
"remark-supersub": "1.0.0",
"tcp-port-used": "1.0.2",
"typescript": "5.1.6",
"zustand": "4.4.3",
"kubo": "0.39.0"
"zustand": "4.4.3"
},
"scripts": {
"generate:assets": "node scripts/generate-asset-manifest.js",
@@ -103,7 +103,14 @@
"@capacitor/android": "7.4.5",
"@capacitor/cli": "7.4.5",
"@capacitor/core": "7.4.5",
"@electron-forge/cli": "7.8.0",
"@electron-forge/maker-dmg": "7.8.0",
"@electron-forge/maker-squirrel": "7.8.0",
"@electron-forge/maker-zip": "7.8.0",
"@electron-forge/plugin-auto-unpack-natives": "7.8.0",
"@react-scan/vite-plugin-react-scan": "0.1.8",
"@reforged/maker-appimage": "5.1.1",
"@types/lodash": "4.17.23",
"@types/memoizee": "0.4.9",
"@typescript/native-preview": "^7.0.0-dev.20251226.1",
"@vitejs/plugin-react": "4.3.4",
@@ -118,12 +125,6 @@
"cz-conventional-changelog": "3.3.0",
"decompress": "4.2.1",
"electron": "36.9.5",
"@electron-forge/cli": "7.8.0",
"@electron-forge/maker-dmg": "7.8.0",
"@electron-forge/maker-squirrel": "7.8.0",
"@electron-forge/maker-zip": "7.8.0",
"@electron-forge/plugin-auto-unpack-natives": "7.8.0",
"@reforged/maker-appimage": "5.1.1",
"husky": "4.3.8",
"isomorphic-fetch": "3.0.0",
"jsdom": "27.3.0",