You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/napkin.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,14 +6,20 @@
6
6
| 2026-02-11 | self | Ran `ls` before reading napkin (again) | Always read `.claude/napkin.md` before any other command |
7
7
| 2026-02-10 | self | Ran `ls` before reading napkin | Always read `.claude/napkin.md` before any other command |
8
8
| 2026-02-10 | self | Used backticks in a shell-quoted PR body so the shell tried to execute `turbo`| Use a heredoc or escape backticks when passing PR bodies to shell commands |
9
+
| 2026-02-13 | self | Assumed mobile perf issue was mostly JS parse cost before checking runtime endpoints | Verify browser-facing service URLs (`NEXT_PUBLIC_*`) first; loopback hosts break phone/LAN query paths |
10
+
| 2026-02-13 | self | Broke a TS function signature during a broad apply_patch edit | Re-open edited file immediately after structural patches before running full checks |
11
+
| 2026-02-13 | self | Ran `sed` on a bracketed path without quoting (`[id]`) and zsh globbed it | Quote paths containing `[]` (e.g., `'apps/web/app/challenges/[id]/dashboard/page.tsx'`) |
9
12
10
13
## User Preferences
11
14
- Hide navbar on full-screen flow pages (invite, dashboard, admin) via `ConditionalHeader` patterns + remove `page-with-header` class
- Convex queries can join related data inline (e.g., activity types + categories in one query)
15
19
-`conditional-header.tsx` DASHBOARD_LAYOUT_PATTERNS array controls navbar visibility per route
16
20
- Admin console sidebar approach was scrapped — revisit admin nav design in the future
21
+
- Mobile feed performance improves by skipping non-critical per-item work (engagement count scans and media URL generation) on initial query
22
+
- For mobile perceived performance, SSR the first feed page from server auth and then let client `usePaginatedQuery` take over for realtime/pagination
17
23
18
24
## Patterns That Don't Work
19
25
- Deriving env vars inside `convex deploy --cmd` shell strings — escaping hell, fragile, hard to debug. Instead, derive them in `next.config.ts` which runs at build time and can set `process.env` before Next.js compiles.
@@ -23,4 +29,4 @@
23
29
-`page-with-header` CSS class = `pt-16` to offset fixed navbar
24
30
- Seed data lives in `packages/backend/actions/seed.ts`
25
31
- Schema changes auto-deploy locally via `pnpm dev`
26
-
| 2026-02-11 | self | Spent 10 commits trying to derive env vars inside `convex deploy --cmd` shell strings | Don't fight shell escaping — derive env vars in `next.config.ts` instead (runs at build time, sets `process.env`) |
32
+
- Dev-only third-party scripts should be opt-in; avoid `beforeInteractive` for non-critical tooling (e.g., `react-grab`)
0 commit comments