@@ -8,3 +8,42 @@ Format: brief heading + explanation + (optional) relevant file paths.
88---
99
1010<!-- Add entries below this line -->
11+
12+ ## React Router v6 + redux connect + class components: TypeScript inference gap
13+
14+ ` withRouter<P>(Component: ComponentType<P & WithRouterProps>): ComponentType<P> `
15+ works at runtime but TypeScript cannot infer ` P ` when the argument is a
16+ ` ConnectedComponent ` (react-redux). Pragmatic solution: cast in ` routes.tsx ` with
17+ a comment; or fully convert the class component to a functional component using
18+ ` useNavigate() ` directly. See ` src/renderer/utils/withRouter.tsx ` and ` routes.tsx ` .
19+
20+ ## connected-react-router → RouteChanged action pattern
21+
22+ Instead of listening to ` @@router/LOCATION_CHANGE ` in epics, dispatch
23+ ` ExperimentActions.RouteChanged(pathname) ` from a ` RouteChangeTracker `
24+ component (uses ` useLocation ` ). Epics then filter on this action. See
25+ ` src/renderer/epics/experimentEpics.ts ` and
26+ ` src/renderer/components/RouteChangeTracker.tsx ` .
27+
28+ ## Tailwind v4 setup
29+
30+ Tailwind v4 uses ` @tailwindcss/vite ` plugin (no ` tailwind.config.js ` , no PostCSS
31+ config). Add the plugin to the ` renderer ` section of ` vite.config.ts ` and
32+ ` @import 'tailwindcss' ` at the top of the main CSS file.
33+
34+ ## Shadcn/ui components live in src/renderer/components/ui/
35+
36+ Button, Card, Dialog — plus the ` cn() ` utility at ` src/renderer/utils/cn.ts ` .
37+ Use these instead of Semantic UI equivalents.
38+
39+ ## Pyodide v0.27.0 URL format change
40+
41+ v0.21.0 archive: ` pyodide-build-{version}.tar.bz2 `
42+ v0.27.0+ archive: ` pyodide-{version}.tar.bz2 ` (no "build-" prefix).
43+ ` InstallPyodide.js ` must be updated accordingly when changing versions.
44+
45+ ## sns.tsplot removed in Seaborn 0.10
46+
47+ ` plot_conditions() ` in ` utils.py ` used ` sns.tsplot ` which was removed in
48+ Seaborn 0.10. Replaced with ` plt.plot ` + ` fill_between ` for mean ± SEM.
49+ Seaborn is not imported at all now — matplotlib only for this function.
0 commit comments