Skip to content

Research Investigation: Black Screen and Asset Loading Failures (Unknown Root Cause) #87

@zenchantlive

Description

@zenchantlive

Problem

When generating a game, the app exhibits a black screen and fails to load assets. Console shows multiple analytics network errors (net::ERR_BLOCKED_BY_CLIENT for PostHog), UI init logs, and an unrelated JavaScript duplicate declaration error. However, we have not identified a clear, reproducible root cause or established if these are symptoms or actual causes.

Why This is a Research Task

  • We do not know if analytics request blocking is causative, incidental, or unrelated
  • The duplicate ground declaration error may or may not block rendering
  • No direct asset or game logic network error is observed
  • It’s possible the issue lies elsewhere: config/env, asset pipeline, routing, SSR/CSR boundary, etc.

Goals

  • Document all observed symptoms (black screen, missing assets, console errors, JS errors, etc.)
  • Catalog possible root causes, including (but not limited to):
    • Blocked third-party requests impacting first-party code
    • JS runtime errors preventing UI mount/render
    • Asset pipeline (Next.js, server vs static, image domain, path/URL resolution)
    • Incorrect environment/config vars
    • Next.js SSR/CSR boundaries (App Router edge cases)
    • Unhandled promise rejections or API failures
    • Other Next.js, TypeScript, or Tailwind misconfigurations
  • Propose targeted diagnostic experiments (disable analytics, stub asset URLs, log SSR/CSR, etc.)

Initial Steps

  1. Document all error/warning logs on page load/game generate in multiple clean/dirty browser profiles
  2. Audit Next.js asset/image pipeline config and route handlers for assets
  3. Add provisional error/loading boundaries in affected UI components (with a11y focus & feedback)
  4. Sanitize all user/env input in config and asset URL handlers
  5. Output detailed logs for asset fetches (server/client)

Success Criteria

  • Can we localize the black screen to: asset loader, analytics, or another layer?
  • Which errors are causal vs. correlative?
  • What hypotheses can be disproven with minimal viable tests?

Tech/Workflow:

  • Next.js (App Router), TypeScript (Server Components first), Tailwind (utilities)
  • Propose any error/loading/a11y UIs in plan
  • Prefer small, focused TypeScript server components; use JSDoc for non-trivial logic
  • Prioritize security (do not leak env vars/URLs to client), sanitize all inputs
  • Prefer Next/Image for all assets if possible

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingquestionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions