Skip to content

fix(header): ウォレットメニューが接続・切断の直後に開いたままになるのを直す - #543

Merged
cipherwebllc merged 1 commit into
mainfrom
fix/wallet-badge-menu-close
Sep 21, 2026
Merged

cipherwebllc merged 1 commit into
mainfrom
fix/wallet-badge-menu-close

Conversation

@cipherwebllc

Copy link
Copy Markdown
Owner

何を直すか

ヘッダの「接続」メニューからウォレットを接続すると、接続後のメニュー (ログイン / 切断) が開いたまま本文に被さっていた (/agent 磨き上げの撮影中に発見・撮影スクリプトは removeAttribute('open') で回避していた)。切断時も同様に「接続」メニューが開いたまま残る。

原因: WalletBadge の未接続 / 接続済みの両 branch が同じ位置に <details> を描くので、React が DOM 要素を使い回し、open 属性 (DOM 側の状態) が引き継がれる。

対応: それぞれの <details> に別の key を付けて作り直す。JS state は増やさない (native <details> の方針のまま)。

可視文言の変更なし・money-path 不変・page ファイル変更なし。

検証

  • 追加テスト 2 件 (開いた状態で接続 → 閉 / 開いた状態で切断 → 閉)。修正前は 2 件とも fail することを確認
  • typecheck / eslint OK・full vitest 566 files / 11,434 tests pass
  • 実機 (mock wallet・next dev -p 3142): 接続直後の header details[open] = 0・スクショで本文に被りなしを確認
  • e2e scan.spec の接続フローはメニューの開閉に依存しない (summary のアドレス表示だけを見ている) ことをコードで確認

🤖 Generated with Claude Code

https://claude.ai/code/session_01HeizmagJBgL5peL5mQpxkc

未接続と接続済みの両 branch が同じ位置に <details> を描くため、React が DOM 要素を
使い回し、open 属性が引き継がれていた。「接続」メニューから接続すると、接続後のメニュー
(ログイン / 切断) が開いたまま本文に被さる。切断時も同様。

それぞれの <details> に別の key を付けて作り直す (閉じた状態で始まる)。
JS state は増やさない (native <details> の方針のまま)。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HeizmagJBgL5peL5mQpxkc
@vercel

vercel Bot commented Sep 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
openpay Ignored Ignored Preview Sep 21, 2026 1:35pm UTC

Request Review

@cipherwebllc
cipherwebllc merged commit 9f9bbf6 into main Sep 21, 2026
7 checks passed
@cipherwebllc
cipherwebllc deleted the fix/wallet-badge-menu-close branch September 21, 2026 14:11
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.

1 participant