A failed game start leaves LOADING on screen with no error state

未關閉 適合新手
#18 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
2/5
預估耗時
1-3 小時
新手友好度
78/100
Issue 類型
缺陷
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
typescript
領域
frontend, game-dev

研究方向

從 shared/phaser-config.ts 和 shared/chrome.ts 開始;追蹤 startArcadeGame 如何建立遊戲,以及載入器如何在首次算繪後移除。檢查 games/*/main.ts 的呼叫端如何處理遭拒的啟動。實作 issue 中描述的失敗訊息和連結,接著執行 npm run typecheck 和 npm run build;當啟動失敗時,LOADING 會被訊息和指向 hub 的連結取代,即表示完成。

由索引模型根據 Issue 內容生成。

描述

severity: low tech-debt

Summary

If a game throws during boot or in a scene's create, the player sees a permanent LOADING label and nothing else.

Where

  • shared/phaser-config.ts:51, shared/phaser-config.ts:61-71 (loader removed only on first render)
  • Every games/*/main.ts calls void startArcadeGame(...), discarding a rejection

Details

There is no error or unhandledrejection handler anywhere in shared/.

Steps to reproduce

  1. Throw inside any scene's create() and load the page.

Suggested fix

In startArcadeGame, wrap creation in try/catch and add a one-shot error listener that replaces the loader text with a short failure message and a link back to the arcade.

Acceptance criteria

  • A boot failure shows a message and a link to the hub instead of LOADING

Getting started

  • Relevant files: shared/phaser-config.ts, shared/chrome.ts
  • Run locally: npm install, then npm run dev
  • Checks: npm run typecheck and npm run build (there is no test suite yet)
  • Related docs: README.md

Filed by repo-audit/full-audit at b001f5d. Severity: low. Effort: S. audit-key: quality|shared/phaser-config.ts|startArcadeGame

主要語言
TypeScript
星號
3
分支
3
PR 合併指標
30 天內沒有已合併 PR

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

TMHSDigital/GH-Arcade 的其他 Issue

查看 TMHSDigital/GH-Arcade 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。