Skip to content

おみくじ演出のタップスキップをiOSでも効くように修正#190

Merged
kojira merged 1 commit into
mainfrom
claude/ranking-feature-bug-a8nq2k
Jul 20, 2026
Merged

おみくじ演出のタップスキップをiOSでも効くように修正#190
kojira merged 1 commit into
mainfrom
claude/ranking-feature-bug-a8nq2k

Conversation

@kojira

@kojira kojira commented Jul 20, 2026

Copy link
Copy Markdown
Member

原因

からくり装置のcanvasに Matter.Mouse.create(canvas)touchstart/touchmove リスナーを張り preventDefault() を呼ぶため、iOS Safariでは touchstart が preventDefault されると click イベントが合成されない。canvasは画面全体を覆っているので、ルートの @click="onTap" がiPhoneのタップでは一切発火しなかった(PCはマウスイベント経由なので動く)。

修正

preventDefault はバブリングは止めないため、ルートで @touchend="onTap" も拾うようにする(1行)。

  • finish()phase === "done" ガード済みなので、click と touchend の二重発火は無害
  • 儀式中(鈴の緒ドラッグ)の touchend は従来どおり onTap 内の phase 判定で無視される
  • 鈴の緒フォールバックリンク等はヒントレイヤー上(canvas外)なので従来どおり click が動く

yarn generate 成功。実機確認はdevで(iPhoneで演出中にタップ→スキップ)。

🤖 Generated with Claude Code

https://claude.ai/code/session_01DwkB6Hj2JggoKcy7FoxNcU


Generated by Claude Code

装置canvasの Matter.Mouse が touchstart を preventDefault するため、
iOS Safari では canvas 上のタップで click が合成されず、ルートの
@click="onTap" が発火しなかった(PCはマウスイベントなので動く)。
preventDefault はバブリングを止めないので、touchend でも onTap を
拾うようにする(finish() は二重呼び出しガード済みで click との
二重発火は無害。儀式中の touchend は従来どおり onTap 内で無視される)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DwkB6Hj2JggoKcy7FoxNcU
@cursor

cursor Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@kojira
kojira merged commit 325a9b4 into main Jul 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants