Date: 2026-06-13 · logged in as TayM · dev http://localhost:3001 · backend :8081
Small things were fixed directly (see "Fixed" section). Bigger / structural items are tracked below for later work.
- Default PFP on profile —
(user)/layout.tsxnow falls back toUSER_DEFAULT_AVATAR(/UserProfile.png) when a user has no avatar. - Navbar avatar alt text —
components/Avatar.tsxhad a stray"}in the alt (Avatar of TayM"}). Removed. - Character cards broken import —
CharacterCard.tsximportedColorPaletteandStatusas default exports, but both are named exports → runtime import error, cards didn't render. Fixed to named imports. FursonaCarddoes not exist — favoritespage.tsx+loading.tsximportedFursonaCardfrom the Cards barrel, which only exportsCharacterCard(identical props). Swapped toCharacterCard.- Hydration mismatch in settings sidebar —
SidebarSettingsList.tsxgenerated section heading IDs withcrypto.randomUUID()during render, so server and client produced different IDs (React hydration error on every settings page). Replaced with a stable${heading}-headingid.
- CORS header is malformed on the backend —
Access-Control-Allow-Origincomes back ashttp://192.168.178.21:3000localhost:3000(two origins concatenated, no separator). Any client-sidefetchto:8081from the browser is blocked. Server-side calls work, so the app mostly functions, but client-side API calls will fail. Needs a backend env/config fix. - Duplicate
@types/react(pre-existing) — rootnode_moduleshas 18.3.3 (fromapps/desktop) whileapps/webuses 19.0.10; npm ignores theresolutionsfield inapps/web/package.json. Standalonetsc/next buildtypecheck fails with bogus "cannot be used as a JSX component". Editor + dev server are fine. Fix via rootoverrides.
.env.local.examplereferences port 8080, but the working backend is on 8081 (per.env). Example file is stale.
Most of these render plain placeholder text and need real UI + data wiring:
- Settings — most pages are stubs returning literal text:
profile→ "Public profile" section body is justcontent; header reads "Logged in as USER" (should be the real username, e.g. TayM).appearance→ "appearance page"security→ "Security page"accessibility→ "Accessibility page"billing→ "Billing & subscriptions page"developers/api-keys→ "API lol page"developers/activity-logs→ "Activity logs page"privacy→ partially built (change-password form, linked accounts) but 2FA section iscontent.moderation→ scaffoldedGroups with placeholder descriptions ("Blocklol","hi" messages).
- Settings sidebar links with no page (will 404):
notifications,trade-history,blocked-users,deleted-contentare linked inSidebarSettingsListbut have nopage.tsx. - Studio —
studio/overviewis a layout scaffold; all panels show literal "slot placeholder". Sidebar has stray "lol" text and aSettingslink pointing at/#. No other studio routes exist.
- Characters tab badge is hardcoded —
ProfileMasthead.tsxprofileTabssetscountIndicator: 5for Characters regardless of the real count. TayM has 0 characters but the tab shows "5". Should be driven by real data. mainCharacter!non-null assertion (latent crash) —CharacterView.tsx(~line 120) usescharacters.mainCharacter!.refSheets[index]for each card's palette. If a user has characters butmainCharacteris null, the.mapthrows and the whole list renders empty. Also the palette logic is questionable (indexesmainCharacter's refSheets by each character's loop index). Couldn't fully repro because TayM has 0 characters; needs a guard + correct palette source.
- Home
/(shadcn component showcase) — renders. - Login — renders (light + dark).
- Profile Overview
/@TayM— renders; content empty because no panels are configured (expected). - Characters
/@TayM/characters— renders; list empty because TayM has 0 characters (see badge issue above). - Favorites
/@TayM/favorites— renders after theFursonaCardfix; empty (no favorites). - Settings layout + sidebar — renders (hydration error fixed).
- Studio overview — renders (scaffold).
- Search modal — works; typing "Tay" returns the TayM user result (server-side, not blocked by CORS).
- Fix issues where during page load, theme flashes white -> dark theme
- Upon logging into website, make sure that the user's profile icon loads
- General Menu Drawer is transparent. (See teams)