Nineoh Guide

repo: ~/Projects/nineoh-guide · 103 commits · 0 in last 24h, 0 in last 7d ·

Search the build

103 commits indexed

  1. 1b7b296 2026-09-13 docs: pre-stage both 90210 resubmission branches (execute on the ASC citation)
  2. 34c4033 2026-09-13 eas: fix stale ascApiKeyPath to the real key location
  3. 4310f6e 2026-09-13 mobile: align deps to Expo SDK 57 (pre-build hygiene before the mandatory rebuild)
  4. 6693593 2026-09-12 5x: verification report — 3 sweeps, /api/cast 500 fixed, clean twice
  5. dc8c199 2026-09-12 5x sweep 1: fix /api/cast 500 — credits has no show_id; scope by characters.show_id
  6. 8d5fd18 2026-09-11 eas: pin production ios.image=latest (ITMS-90725 guard) before the rebuild
  7. 3b8d021 2026-09-03 90210: gate Firebase Analytics/Crashlytics behind ATT (fix 5.1.2 pre-consent screen_view)
  8. ca26827 2026-08-10 Refresh ASC blocker board to live truth (5 in review, 2 submit-ready, Costa Rica prep) — TK-10363
  9. 6120fe7 2026-08-08 Add live ASC blocker board for iOS submission batch (TK-10355, read-only ground-truth)
  10. 51de6ce 2026-08-06 chore: lint (tsc clean), light refactor (import order, label padding, script formatting), v0.3.0 (session close — Fan Club podcasts + real AdMob)
  11. 5d90004 2026-08-06 Add read-only App Store approval-check script (for AdMob-link-after-approval task)
  12. 182ad70 2026-08-06 Wire real AdMob banner: iosAppId ca-app-pub-5278231299883833~3798456380 + banner unit .../1889257150 (prod), TestIds in dev
  13. 5b12116 2026-08-06 App.tsx: add ShowInfo type + show info banner (chips, expandable desc, disclaimer) below show selector
  14. f7cb8f0 2026-08-06 api/shows: add showInfo field (description, seasonCount, episodeCount, premiereDate, finaleDate, disclaimerText)
  15. 620829a 2026-08-05 auto-save: 2026-08-05T18:14:36 (1 files) — db/neon-backup-20260805-1814/
  16. ec52898 2026-08-05 fix(eas): allowBuilds with real boolean false values — pnpm@11 needs an explicit build-script decision; missing/placeholder crashed EAS frozen install (exit 1). Verified cold: frozen install exit 0, no ERR_PNPM_IGNORED_BUILDS
  17. 67efe4b 2026-08-05 Fix EAS install (build 12/13 failure): approve firebase/protobufjs/sharp build scripts via allowBuilds:true — ignored build scripts are a FATAL error in EAS CI (exit 1), only a warning locally
  18. 19fb4f5 2026-08-05 auto-save: 2026-08-05T16:43:55 (2 files) — eas.json pnpm-workspace.yaml
  19. 5613efd 2026-08-05 Fix EAS install: remove malformed allowBuilds block from pnpm-workspace.yaml (non-boolean placeholder values crashed frozen pnpm install); revert to build-11-proven plain config
  20. 5230058 2026-08-05 analytics: add GoogleService-Info.plist (Firebase project guide-d4c91, GA account '90210 Guide') + force-enable analytics/crashlytics collection (plist ships IS_ANALYTICS_ENABLED=false)
  21. 6803c9d 2026-08-05 auto-save: 2026-08-05T16:13:44 (2 files) — pnpm-lock.yaml pnpm-workspace.yaml
  22. 7a969e0 2026-08-05 Add Fan Club — cast-hosted podcasts (90210MG, misSPELLING, I Choose Me, Oldish, Let's Be Clear) to Watch tab
  23. 702110a 2026-08-05 analytics: wire Firebase Analytics (→GA4) + Crashlytics into the 90210 iOS app — screen-view tracking on tab change, safe no-op wrapper, expo-build-properties static frameworks + googleServicesFile
  24. f1299ed 2026-08-05 auto-save: 2026-08-05T15:43:31 (1 files) — db/ingest-original.mjs
  25. 70d794a 2026-08-05 TK-12: remove committed ios/ from git — was making EAS treat it as bare project + ignore app.json (plugins/icon/AdMob/AppleSignin); managed workflow regenerates it per build
  26. e879c59 2026-08-05 TK-12: both-shows feature — show-aware API (episodes/cast return showId, per-show regulars, new /api/shows) + App.tsx show selector (default original, AsyncStorage persist); news stays shared
  27. d49d05b 2026-08-05 Fix AdMob crash-on-launch: move iosAppId/androidAppId into the react-native-google-mobile-ads plugin config array so GADApplicationIdentifier lands in Info.plist (bare-string plugin + root key was ignored → SDK crashed on init)
  28. c386140 2026-08-05 TK-12: ingest-original.mjs — load original Beverly Hills 90210 (1990) as show #2 (facts-only episodes + names-only cast; images stay commercial-free via existing wikimedia ingest)
  29. ce0f6a4 2026-08-05 TK-12: add AdMob banner + ATT prompt (Google Mobile Ads SDK) — banner above tab bar, tracking-permission request, test ad IDs (real AdMob IDs pending); gitignore generated ios/android
  30. da76e9e 2026-08-05 auto-save: 2026-08-05T14:42:56 (9 files) — apps/mobile/App.tsx apps/mobile/app.json apps/mobile/ios/Unofficial90210Guide.xcodeproj/project.pbxproj apps/mobile/ios/Unofficial90210Guide/Info.plist apps/mobile/package.json
  31. 80d93d3 2026-08-05 auto-save: 2026-08-05T14:12:38 (1 files) — apps/mobile/ios/
  32. d752218 2026-08-05 auto-save: 2026-08-05T13:12:15 (1 files) — apps/mobile/package.json
  33. e2d78ae 2026-08-05 TK-12: add Sign in with Apple — expo-apple-authentication button in Saved tab (sync watchlist), usesAppleSignIn entitlement + plugin, local credential persistence
  34. a03d63b 2026-08-05 TK-12: upgrade Expo SDK 52->57 (RN 0.76->0.86, React 19) for Xcode 26 — fixes ITMS-90725 (iOS 26 SDK required); fix babel-preset-expo->57.0.5, drop deprecated splash/newArchEnabled keys
  35. e7d168b 2026-08-05 TK-12: wire ascAppId 6798381949 (nineoh app record created via interactive submit) — future submits non-interactive
  36. e12d07e 2026-08-05 TK-12: fix fmt/consteval Xcode error — remove ios.image:latest (DTD verdict B), use SDK-52 default (Xcode-16-era) toolchain that compiles RN 0.76.9 fmt
  37. 1f2a021 2026-08-05 TK-12: turnkey App Store screenshot script (iPhone 6.9" + iPad 13") — one command post-build, defers premature native build (yoloforever C2)
  38. 4a00039 2026-08-05 TK-12: add App Store icon (1024px, no-alpha) + splash, wire in app.json — closes missing-marketing-icon submit blocker (Cody gate C1)
  39. d48afc4 2026-08-05 auto-save: 2026-08-05T08:40:35 (1 files) — apps/mobile/eas.json
  40. 682db77 2026-08-05 TK-12: fix EAS build — align react-native 0.76.5->0.76.9 (SDK52 native version match), append monorepo watchFolders (expo-doctor 18/18)
  41. 0016d60 2026-08-05 TK-12: paste-ready ASC listing draft (metadata, keywords, description, Data Safety=Not Collected, age 12+, review note)
  42. a9e5f69 2026-08-05 TK-12: app-store prep — version 1.0.0, pin eas ios.image latest, dev-gate localhost fallback, real SITE_URL canonical
  43. 3b23bfc 2026-07-28 TK-12: turnkey finish-tk12.sh — one command post-ASC-key drives build, holds at TestFlight submit
  44. c0e6ddb 2026-07-27 chore(mobile): TK-12 App Store/TestFlight prep — prefill eas.json submit (appleId+teamId), add production runbook
  45. 97a30ae 2026-07-27 chore: lint pass, cast-route null-coalesce fix, seed DB guard, minor version bump (session close)
  46. 7786419 2026-07-27 auto-save: 2026-07-27T12:50:40 (1 files) — apps/web/app/api/cast/route.ts
  47. e26dca5 2026-07-27 feat: per-episode cast on every episode + recurring/guest stars in Cast tab
  48. 2aba195 2026-07-27 auto-save: 2026-07-27T12:20:30 (1 files) — scripts/
  49. 70d1038 2026-07-27 feat(mobile): add Watch tab — scrollable YouTube / podcasts / streaming / reference links (Linking.openURL, curated landing URLs)
  50. 746a4e4 2026-07-27 feat(mobile): fix scroll (flex ScrollView reveals full cast + all 114 episodes) + direct per-episode TVmaze link on each card
  51. 96bb1e7 2026-07-27 docs(mobile): EAS ad-hoc build recipe — press 'a' to select all devices, avoid nameless-iPhone skip + integrity error
  52. ebc361f 2026-07-27 chore: quality gate — log+500 on api/cast+news error paths, mobile v0.2.0 + web v0.3.0 (session close)
  53. fd94bbd 2026-07-27 fix(monorepo): keep isolated nodeLinker (web React 19 intact), add @babel/runtime as explicit mobile dep for Metro resolution
  54. e8b0cf6 2026-07-27 feat: mobile bottom-tab nav (Episodes/Cast/News/Saved) + /api/cast + /api/news endpoints
  55. 877569a 2026-07-27 chore(mobile): add preview-sim profile (iOS simulator build, no signing) for local Simulator run
  56. 904b355 2026-07-27 fix(mobile): pnpm 11 honors nodeLinker in pnpm-workspace.yaml, not .npmrc — move hoisted there so EAS cloud Bundle JavaScript resolves @babel/runtime
  57. 8a2cd67 2026-07-27 auto-save: 2026-07-27T10:19:40 (2 files) — .npmrc apps/mobile/metro.config.js
  58. 33f7f03 2026-07-27 chore(mobile): eas init (project d1c16075) + wire EXPO_PUBLIC_API_BASE to live Vercel API; drop invalid // key from eas.json
  59. 00e7162 2026-07-27 auto-save: 2026-07-27T08:49:12 (4 files) — apps/web/.agents/ apps/web/.claude/ apps/web/.gitignore apps/web/skills-lock.json
  60. 50992ce 2026-07-27 fix(db): news_items schema drift — add source_query + unique(canonical_url), drop NOT NULL on summary_original (index-first, summarize-on-review)
  61. b3f641d 2026-07-26 chore: version-up to v0.2.0 (session close) — code tsc/CTA/5x-verified, no eslint toolchain to autofix
  62. c766b0c 2026-07-26 loop refine 4/n: character detail pages (/characters + /characters/[slug]) — profile, actor link, guest-cast appearances + series-regular fallback; nav + sitemap; ISR
  63. 78a8f84 2026-07-26 loop refine 3/n: ISR (hourly revalidate) on stable pages (home/show/cast/cast-detail/episode-detail) — cached HTML ~77ms, less DB load; dynamic pages (news/episodes/search) unchanged
  64. 4c1a88b 2026-07-26 loop refine 2/n: sort (season asc/desc) + comfortable/compact density on /episodes (recap show/hide, localStorage)
  65. 3c1fd3a 2026-07-26 loop refine 1/n: sort (newest/oldest/source) + persisted density control on /news grid (Steve standing rule)
  66. 59829db 2026-07-26 richer episodes: per-episode guest/recurring cast (1160 credits from TVmaze) on detail pages + per-season JustWatch watch links; episode_guest_cast table (app-user owned, no gated DDL)
  67. e200329 2026-07-26 comprehensive pass: /show season overviews + 14 character profiles + hamburger mobile nav + bigger hero + full search (news/pages/games) + per-episode Reddit discuss links
  68. 0158b8e 2026-07-26 go-all: approve S2-S5 recaps (all 114 reviewed) + More-from-Season links on detail + /show series hub (JSON-LD, season breakdown, cast, where-to-watch) + real legal email info@agentabrams.com
  69. c2dadda 2026-07-26 where to watch: JustWatch live-availability links on home + episode detail (verified 200, honest — tracks current streaming vs stale platform claims)
  70. 259dc22 2026-07-26 recaps: approve S1 (reviewed) + punch up 9 vaguest S2-S5 recaps (incl. S3E17 factual fix: Dixon/Navid+Snoop, not Naomi); applied to live Kamatera DB
  71. 71ac749 2026-07-26 auto-save: 2026-07-26T08:11:40 (4 files) — apps/web/app/layout.tsx apps/web/app/sitemap.ts db/recaps/s1.json apps/web/app/community/
  72. 7988044 2026-07-26 cast: show info only (name/character/bio), drop headshot photos (unflattering non-star candids) from list + detail; rights-ledger data kept for re-enable
  73. 396861c 2026-07-25 gitignore CTA test artifacts (cross-browser test passed: liquid-glass + ombre clean in Chrome + WebKit)
  74. 3b392c3 2026-07-25 2026 graphics: Photoshop-baked grainy ombre hero (413KB jpg) + liquid-glass (backdrop-filter) header & frosted stat chips on web; mobile ombre LinearGradient header/bg + BlurView glass cards
  75. 7a343d7 2026-07-25 episode detail: prev/next adjacent-episode nav (row-comparison, crosses season boundaries) — deeper internal linking + crawl depth for SEO
  76. 99ec1b5 2026-07-25 design-consistency pass: interior pages (episodes/cast/search + episode & cast detail) refactored onto the design system (CSS vars, cards, .se, display font) — whole app now cohesively luxe
  77. 592af52 2026-07-25 games: integrate Steve's 6 original self-contained 90210 games (trivia, backgammon, rodeo-runner, slots, blackjack, roulette) — hosted in public/games, styled /games catalog, header+home nav, sitemap
  78. 7fd16eb 2026-07-25 deploy prep: db/setup-prod.sh one-shot prod populator, db/review.mjs content-review CLI, DEPLOY.md runbook (Vercel+Neon / EAS TestFlight / human review)
  79. c7a0053 2026-07-25 mobile forward: easter eggs — tap UNOFFICIAL badge 5x for hidden 90210 card, long-press title for ZIP-code fun fact
  80. 8fd5a56 2026-07-25 beverly hills photos: 8 free-licensed CC/PD city photos (Rodeo Drive, the sign) into rights-ledger; home 'Beverly Hills backdrop' strip w/ attribution
  81. 73371b3 2026-07-25 cast photos: 12/14 headshots from Wikimedia (per-file license-verified PD/CC-BY/CC-BY-SA only) into rights-ledger w/ attribution; wired into /cast + detail; throttled+idempotent ingester
  82. 8af5353 2026-07-25 auto-save: 2026-07-25T11:35:57 (1 files) — db/ingest-wikimedia-images.mjs
  83. 8dc29d7 2026-07-25 news: index 760 90210 articles (Google News RSS, original+reboot) as headline+source+date+link-out only (no bodies); paginated /news, noopener outbound
  84. e86cb34 2026-07-25 professional redesign: original luxe design system (globals.css), Playfair+Inter fonts, animated SVG dusk hero + art-deco brand mark, sticky header/nav, stat+nav cards, dynamic OG image, favicon
  85. 2a1d19a 2026-07-25 internal search: /search (SSR) across episode titles+recaps and cast names+characters+bios, links to detail pages; header nav
  86. d2ccd5a 2026-07-25 spoiler guard: progress-based recap hiding on web (SpoilerGuard, localStorage+event, no Context to dodge @types/react skew) + mobile (watched-through + reveal, AsyncStorage)
  87. 5d109ee 2026-07-25 contrarian fixes: add recap_status/bio_status to canonical schema.sql (was ALTER-only drift), correct Jessica Stroup bio, add NEXT_PUBLIC_SITE_URL to deploy gate
  88. e3f69d6 2026-07-25 SEO layer: crawlable per-episode + per-cast detail pages w/ JSON-LD (TVEpisode/Person/TVSeries), sitemap.xml (135 urls), robots.txt, per-page metadata; list pages link into details
  89. 9cde287 2026-07-25 cast bios: 14 original ai-draft bios + person->character main-cast links; /cast shows role + bio
  90. 2a7ccb0 2026-07-25 recaps: complete Season 5 (22 original spoiler-safe drafts) — all 114 episodes now drafted
  91. 896da57 2026-07-25 recaps: complete Season 4 (24 original spoiler-safe drafts)
  92. d9e5137 2026-07-25 recaps: complete Season 3 (22 original spoiler-safe drafts; sensitive storyline handled with care)
  93. 2cc6c11 2026-07-25 recaps: complete Season 2 (22 original spoiler-safe drafts)
  94. c7d73bc 2026-07-25 recaps: complete Season 1 (24 original spoiler-safe drafts) via scalable db/recaps/sN.json + apply-recaps.mjs; add recap_status ai-draft review gate
  95. c260ce8 2026-07-25 write 6 original spoiler-safe S1 recaps (our wording, grounded in factual events; AI-drafted, review before publish)
  96. fc01815 2026-07-25 ingest factual cast + character names (TVmaze, names-only, no photos/bios) — populates /cast
  97. 1b02ed5 2026-07-25 contrarian fixes: correct Expo API-base wiring (expo-constants + EXPO_PUBLIC), add AsyncStorage watchlist + spoiler tag (native value for Apple 4.2), parameterize legal emails
  98. a3ffaa4 2026-07-25 gitignore + untrack tsconfig.tsbuildinfo (build artifact)
  99. c230818 2026-07-25 auto-save: 2026-07-25T10:05:29 (8 files) — apps/web/tsconfig.tsbuildinfo package.json pnpm-lock.yaml apps/web/app/cast/ apps/web/app/episodes/
  100. 648b098 2026-07-25 iteration 2: Expo/EAS scaffold (TestFlight config) + shared /api/episodes contract + pending-image placeholder pipeline; web+mobile tsc clean
  101. 3c61104 2026-07-25 iteration 1: Turborepo scaffold + working Next.js web MVP (SSR home, DB health, legal routes) + shared @nineoh/core zod contracts
  102. ade979f 2026-07-25 add rights-first Postgres schema + original legal pages (disclaimer/DMCA/privacy)
  103. ac84507 2026-07-25 initial scaffold: build brief + gitignore for Unofficial 90210 Guide

Authors

Agents used

  • secrets-manager1

Skills used

  • /cast15
  • /web11
  • /mobile9
  • /app7
  • /episodes5
  • /ios3
  • /news3
  • /show3
  • /search3
  • /games3
  • /shows2
  • /package2
  • /runtime2
  • /characters2
  • /recaps2
  • /asc-api-key1
  • /behavior1
  • /claude1
  • /code1
  • /neon-backup-20260805-18141
  • /placeholder1
  • /protobufjs1
  • /sharp1
  • /crashlytics1
  • /ingest-original1
  • /icon1
  • /android1
  • /project1
  • /consteval1
  • /eas1

Creative ideas + design notes

Commits with substantial prose (≥120 chars) — the rationale behind each move.

1b7b296 · 2026-09-13 · docs: pre-stage both 90210 resubmission branches (execute on the ASC citation)
Blocked only on the guideline number from ASC Resolution Center. Staged so
execution is instant either way: Branch 1 (5.1.2-only) = build+submit + a
written RC reply; Branch 2 (4.1/5.2) = exact 3-place display-name change
(app.json expo.name, core APP.displayName, ASC Name field) with ≤30-char name
options for Steve to pick + a written RC reply; Branch 3 = map-on-the-spot.
Build+submit stay gated (Steve-fired). No name shipped, no guess applied.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
34c4033 · 2026-09-13 · eas: fix stale ascApiKeyPath to the real key location
Old relative path ../../.credentials/asc-api-key.p8 no longer resolves
(the file moved). Real, single copy of the account-level ASC API key
lives at ~/private_keys/AuthKey_72Y2TZT54R.p8 per the
asc-api-key-account-level reference.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
4310f6e · 2026-09-13 · mobile: align deps to Expo SDK 57 (pre-build hygiene before the mandatory rebuild)
expo-doctor flagged 8 out-of-date packages before the required rebuild — most
notably a MAJOR mismatch on expo-build-properties (1.0.10 vs SDK-expected
57.0.17), the config plugin that sets iOS build settings; a wrong-major there
can bite a production build. Ran 'expo install --fix' to align expo-build-
properties, expo-apple-authentication, expo-blur, expo-constants,
expo-linear-gradient, expo-tracking-transparency, and react-native (0.86.2->
0.86.3) to their SDK 57 versions.

Validated (validation-loop rule): tsc --noEmit clean, expo-doctor now 21/21.
The staged 5.1.2 ATT-gating fix (analytics OFF at import; enableCollectionAfter
ATT() called only after requestTrackingPermissionsAsync resolves) was re-read
and confirmed correct — it will ship in this rebuild. No source/behavior change,
lockfile + package.json only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dc8c199 · 2026-09-12 · 5x sweep 1: fix /api/cast 500 — credits has no show_id; scope by characters.show_id
The /api/cast route referenced cr.show_id (credits.show_id), which does not
exist in the schema — only characters.show_id carries show scoping. Postgres
threw 'column cr.show_id does not exist', the route caught it and returned
{cast:[]} with HTTP 500, so the Expo app got an empty cast list. Replaced the
coalesce(cr.show_id, ch.show_id) with ch.show_id in the select, distinct-on,
and order-by. /api/cast now returns 200 with populated showId.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8d5fd18 · 2026-09-11 · eas: pin production ios.image=latest (ITMS-90725 guard) before the rebuild
This app needs a rebuild — its uploaded binary predates its shipped fix by 28
days — and it was about to build without the guard that Charge & Explore needed.

ITMS-90725 is not hypothetical on this Apple account. C&E sat at *0 builds in
ASC* because the upload bounced on it, and the documented fix was exactly this
one eas.json line (Xcode 26 / iOS 26 SDK image). The chargeandexplore-release
canary treats `build.production.ios.image === 'latest'` as a HARD gate for that
reason. Neither this app nor 90210/BHV had it.

Without the pin, the rebuild could bounce on upload *after* paying for the EAS
build. One line removes the variable.

Verified by semantic diff that this adds build.production.ios.image and changes
or removes nothing else; JSON re-validated.

Refs TK-11155.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3b8d021 · 2026-09-03 · 90210: gate Firebase Analytics/Crashlytics behind ATT (fix 5.1.2 pre-consent screen_view)
Was enabling collection at module-import time, so a GA4 screen_view fired before the
ATT prompt resolved (App Store 5.1.2 flag). Now: analytics.ts stays at Firebase's
default (OFF) at import and exposes enableCollectionAfterATT(); App.tsx calls it in the
ATT effect after requestTrackingPermissionsAsync() resolves, before mobileAds().initialize().
AdMob ordering was already correct. Restored from Henry nineoh-guide.bundle (source-only).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YNivxV68DdxP1rvhViBfcN
3b23bfc · 2026-07-28 · TK-12: turnkey finish-tk12.sh — one command post-ASC-key drives build, holds at TestFlight submit
Driver takes 3 args (.p8, Key ID, Issuer ID) and: routes key via secrets-manager
(last-4 only, never echoed), wires eas.json submit.production.ios with
ascApiKeyPath/ascApiKeyId/ascApiKeyIssuerId + clears SET-AT-SUBMIT sentinel +
asserts build.production.distribution=store, runs eas build -p ios --profile
production --non-interactive, then PRINTS (not runs) the eas submit command and
STOPS for Steve's final TestFlight go. Idempotent, bash -n clean, .p8 gitignored.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
c0e6ddb · 2026-07-27 · chore(mobile): TK-12 App Store/TestFlight prep — prefill eas.json submit (appleId+teamId), add production runbook
Config-only + docs. Production build/submit gated → approval memo in yolo-queue.
RN 0.76.5 kept (known-good); 0.76.9 alignment recommended as a validated pre-build step.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e26dca5 · 2026-07-27 · feat: per-episode cast on every episode + recurring/guest stars in Cast tab
- seed episode_guest_cast from TVmaze (1160 rows, all 114 eps) + 78 recurring cast_people
- /api/episodes returns each episode's cast (regulars + that episode's guests)
- /api/cast includes recurring members with a kind flag; EpisodeSchema gains cast[]
- mobile: star line on each episode card + Main/Recurring grouping in Cast tab

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

File tree

117 files tracked. Click any to browse the source at HEAD.

Other build journals

← Newmor Onboard  ·  all 4 projects  ·  Nodailyworries →

Export

commits.csv · feed.atom · project.json · commits.json

rendered in 4ms