현상
Safari 확장(rhwp-safari)에서 옵션을 아래처럼 설정하면 HWP 링크 인터셉트가 동작하지 않는 것처럼 보입니다.
showBadges = false
hoverPreview = true (또는 autoOpen = true)
재현 시 증상:
링크 hover 시 썸네일/호버 카드가 뜨지 않음
링크 click 시 뷰어 오픈 인터셉트가 붙지 않음
2026-04-20.19.41.42.mov
원인
rhwp-safari/src/content-script.js의 init()가 settings.showBadges가 true일 때만 processLinks()/observeDynamicContent()를 실행합니다.
processLinks()는 배지 렌더링만 담당하는 함수가 아니라, 아래 핵심 바인딩을 같이 수행합니다.
interceptHwpClick(anchor)
attachHoverEvents(anchor)
결과적으로 showBadges=false이면 배지뿐 아니라 인터셉트/호버 바인딩 전체가 스킵됩니다.
배경
옵션 UI(rhwp-safari/src/options.html, rhwp-safari/src/options.js)는 showBadges와 hoverPreview를 독립 토글로 노출합니다.
하지만 현재 구현은 showBadges를 사실상 마스터 게이트로 사용하고 있어 옵션 의미가 충돌합니다.
사용자 입장에서는 "배지만 끈 상태"를 의도했는데 "인터셉트 자체 비활성"처럼 동작해 테스트/사용이 어려워집니다.
수정 방안
init()의 초기 스캔/관찰 실행 조건을 기능별로 분리합니다.
링크 스캔/동적 관찰 실행 조건: showBadges || hoverPreview || autoOpen
배지 DOM 삽입 조건: 기존처럼 showBadges 분기에서만 수행
즉, showBadges는 "배지 렌더링"에만 영향을 주고, 인터셉트/호버 바인딩은 hoverPreview/autoOpen 설정과 독립적으로 동작하게 정리합니다.
테스트
현상
Safari 확장(rhwp-safari)에서 옵션을 아래처럼 설정하면 HWP 링크 인터셉트가 동작하지 않는 것처럼 보입니다.
showBadges = falsehoverPreview = true(또는autoOpen = true)재현 시 증상:
2026-04-20.19.41.42.mov
원인
rhwp-safari/src/content-script.js의init()가settings.showBadges가 true일 때만processLinks()/observeDynamicContent()를 실행합니다.processLinks()는 배지 렌더링만 담당하는 함수가 아니라, 아래 핵심 바인딩을 같이 수행합니다.interceptHwpClick(anchor)attachHoverEvents(anchor)결과적으로
showBadges=false이면 배지뿐 아니라 인터셉트/호버 바인딩 전체가 스킵됩니다.배경
rhwp-safari/src/options.html,rhwp-safari/src/options.js)는showBadges와hoverPreview를 독립 토글로 노출합니다.showBadges를 사실상 마스터 게이트로 사용하고 있어 옵션 의미가 충돌합니다.수정 방안
init()의 초기 스캔/관찰 실행 조건을 기능별로 분리합니다.showBadges || hoverPreview || autoOpenshowBadges분기에서만 수행즉,
showBadges는 "배지 렌더링"에만 영향을 주고, 인터셉트/호버 바인딩은hoverPreview/autoOpen설정과 독립적으로 동작하게 정리합니다.테스트
showBadges=false, hoverPreview=true, autoOpen=true에서 hover 카드 정상 표시showBadges=false, hoverPreview=false, autoOpen=false에서 배지/호버/인터셉트 모두 비활성 유지