Skip to content

fix: 非 secure context でコピーボタンが無反応になる問題を修正する - #45

Merged
kentalow merged 1 commit into
mainfrom
copy-fallback-insecure-context
Sep 2, 2026
Merged

fix: 非 secure context でコピーボタンが無反応になる問題を修正する#45
kentalow merged 1 commit into
mainfrom
copy-fallback-insecure-context

Conversation

@kentalow

@kentalow kentalow commented Sep 2, 2026

Copy link
Copy Markdown
Member

Summary

  • navigator.clipboard が使えない非 secure context(IP / ホスト名直打ちの http)向けに execCommand('copy') フォールバックを追加
  • コピーの成否をボタンの色とツールチップで 1.2 秒フラッシュするようにした(従来は成功時も完全に無反応で、コピーできたか分からなかった)
  • 色の復帰は copy_btn(stone-400)と copy_chip(stone-500)で異なるため、消した実際のクラスを記録して戻す

背景: 社内・学内にオンプレでサーバーを立て http でアクセスする構成が想定される。その場合これまではコピーボタンが完全に沈黙し、利用者からは故障と区別がつかなかった。

Test plan

  • uv run pytest tests/unit/test_web_ui.py tests/unit/test_tree_view.py tests/unit/test_uri_detail.py — 199 passed
  • http(IP 直打ち)でツリービューのコピーボタン/コピーチップが実際にコピーでき、成功フラッシュが出ること
  • https / localhost でも従来どおり動くこと

navigator.clipboard は secure context でしか存在しないため、IP やホスト名
直打ちの http でアクセスする構成(社内・学内のオンプレ設置)ではコピーが
何も起きずに終わっていた。ガードしてあるのでエラーにはならないが、利用者
からは壊れたボタンと区別がつかない。

execCommand('copy') によるフォールバックを追加し、あわせて成否をボタンの
色とツールチップで 1.2 秒フラッシュするようにした。従来は成功時も無反応で、
コピーできたかどうか判断できなかった。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kentalow
kentalow merged commit 44a9667 into main Sep 2, 2026
2 checks passed
@kentalow
kentalow deleted the copy-fallback-insecure-context branch September 2, 2026 02:38
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