Skip to content

GitHubのDOMに依存しないフローティングボタンに変更する - #9

Merged
watagit merged 3 commits into
mainfrom
claude/fix-github-pr-button-hrH0H
Apr 20, 2026
Merged

GitHubのDOMに依存しないフローティングボタンに変更する#9
watagit merged 3 commits into
mainfrom
claude/fix-github-pr-button-hrH0H

Conversation

@watagit

@watagit watagit commented Apr 20, 2026

Copy link
Copy Markdown
Owner

背景

PRページでコピーボタンが表示されなくなっていた。原因は src/content.ts.gh-header-title .js-issue-title というGitHub旧DOM構造のクラスに依存しており、GitHubがPRヘッダーを React ベースへ刷新したことで該当要素が消失し、titleElement が常に null になってボタン挿入の early return に入っていたため。

そもそもプラットフォーム固有のDOM/クラス名に依存する設計が脆弱なので、対症療法(新しいセレクタに差し替える)ではなくアーキテクチャごと見直す。

変更点

  • GitHubのDOM構造に依存しない 画面右下のフローティングボタン に差し替え
    • document.bodyposition: fixed のボタンを挿入するだけで、GitHub側のどの要素にも依存しない
  • タイトルは document.title から取り出す ("Title · Pull Request #N · owner/repo" の先頭部分を抽出)
    • 新規 getPullRequestTitle() として関数に切り出し
  • SPAナビゲーションで PR ページを離れた場合にボタンを取り除くため removeCopyButton() を追加し、URL変化時の処理を syncButton() に統一
  • styles.css をフローティングボタン用のスタイル(丸型、影、z-index)に更新。ダークモードも対応
  • テストを新設計に合わせて書き直し(DOM固定構造の前提を撤廃、getPullRequestTitle / removeCopyButton のテストを追加)
  • README の機能・使い方・注意事項を更新

テスト

  • pnpm lint 通過
  • pnpm test:run 通過(20 tests)
  • pnpm build 通過

手動確認TODO

  • dist/ をChromeに読み込み、GitHub PRページで右下にフローティングボタンが表示されること
  • クリックでSlack形式がクリップボードにコピーされること
  • PR → Issues など別ページに遷移するとボタンが消えること
  • ダークモードで見た目が崩れないこと

https://claude.ai/code/session_01XtTNUF75qGJhaHCXT1TPgv

claude and others added 3 commits April 20, 2026 14:00
GitHubのPRヘッダーが React ベースに刷新され `.gh-header-title .js-issue-title`
が消えたことでボタンが表示されなくなっていた。プラットフォームUIへの依存自体が
脆弱なので、DOM クラスに依存しない画面右下のフローティングボタンに差し替え、
タイトルは document.title から取り出すようにする。

https://claude.ai/code/session_01XtTNUF75qGJhaHCXT1TPgv
GitHub の PR ページタイトルは現在
"<タイトル> by <author> · Pull Request #<N> · <owner>/<repo>" という形式で、
` · ` で分割しただけだと author 名までタイトルに含まれてしまうため、
末尾の " by <username>" を除去する。

https://claude.ai/code/session_01XtTNUF75qGJhaHCXT1TPgv
@watagit
watagit merged commit f7e0d29 into main Apr 20, 2026
@watagit
watagit deleted the claude/fix-github-pr-button-hrH0H branch April 20, 2026 14:06
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