Skip to content

Task #222: Safari showBadges init 게이팅 분리#224

Merged
edwardkim merged 1 commit into
edwardkim:develfrom
postmelee:fix/issue-222-safari-init-gating
Apr 20, 2026
Merged

Task #222: Safari showBadges init 게이팅 분리#224
edwardkim merged 1 commit into
edwardkim:develfrom
postmelee:fix/issue-222-safari-init-gating

Conversation

@postmelee

@postmelee postmelee commented Apr 20, 2026

Copy link
Copy Markdown
Collaborator

요약

#222 해결. rhwp-safari/src/content-script.jsinit()settings.showBadges 단일 조건으로 processLinks()/observeDynamicContent() 실행을 게이트하고 있어, showBadges=false이면서 hoverPreview=true 또는 autoOpen=true인 조합에서도 링크 바인딩이 아예 수행되지 않았다.

전략: init()의 실행 게이트를 showBadges || hoverPreview || autoOpen 기능 기반 OR 조건으로 분리. 배지 렌더링 분기(processLinks() 내부 if (settings.showBadges))는 기존 위치와 동작을 그대로 유지하여, 배지 토글이 배지 DOM에만 영향하도록 한다.

변경 내역

  • Stage 1 (51246c5): rhwp-safari/src/content-script.jsinit()의 실행 조건을 settings.showBadges 단일 조건에서 settings.showBadges || settings.hoverPreview || settings.autoOpen OR 조건으로 분리. 배지 렌더링 분기(processLinks() 내부 if (settings.showBadges))는 유지. observeDynamicContent()도 동일 조건으로 정렬.

변경 전/후

 function init() {
-  if (settings.showBadges) {
+  const shouldProcess = settings.showBadges || settings.hoverPreview || settings.autoOpen;
+  if (shouldProcess) {
     processLinks();
     observeDynamicContent();
   }
 }

변경 파일

  • rhwp-safari/src/content-script.js — init 게이트 조건 분리 (단일 파일)

동작 정렬 (핵심 시나리오)

# 옵션 조합 배지 hover/click 비고
1 showBadges=false, hoverPreview=true, autoOpen=true 미표시 ✅ 동작 #222 핵심 수정
2 showBadges=true, hoverPreview=false, autoOpen=false ✅ 표시 비활성 기존 동작 유지
3 showBadges=false, hoverPreview=false, autoOpen=false 미표시 비활성 기존 비활성 유지
4 동적 삽입 링크 위 1~3과 동일 위 1~3과 동일 observeDynamicContent 동일 조건

검증

  • node --check rhwp-safari/src/content-script.js — 문법 오류 없음
  • 옵션 조합별 분기 경로 회귀 점검 (위 4개 시나리오 통과)
    • showBadges=false, hoverPreview=true, autoOpen=trueshouldProcess=true, 배지 미삽입, interceptHwpClick/attachHoverEvents 바인딩 동작
    • showBadges=true, hoverPreview=false, autoOpen=false → 배지 삽입, interceptHwpClick 내부 autoOpen=false 즉시 return, attachHoverEvents 내부 hoverPreview=false 즉시 return
    • showBadges=false, hoverPreview=false, autoOpen=falseshouldProcess=false, 초기 스캔/동적 관찰 미실행
    • 동적 링크 경로: observeDynamicContent()processLinks(node) 호출 → 위와 동일 분기 적용
  • Safari 로컬 수동 테스트 완료

변경 전

2026-04-20.19.41.42.mov

변경 후

2026-04-20.20.22.04.mov

영향 범위

  • Safari content-script 초기화 조건 분기만 변경 (단일 파일)
  • background/sw/manifest 및 타 브라우저 확장 코드는 변경 없음

관련

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@postmelee postmelee force-pushed the fix/issue-222-safari-init-gating branch from 490c285 to 51246c5 Compare April 20, 2026 11:28
@edwardkim edwardkim merged commit 9bf6db1 into edwardkim:devel Apr 20, 2026
6 checks passed
edwardkim added a commit that referenced this pull request Apr 20, 2026
2026-04-20~21 사이클 정리:

PR 처리 9건:
- admin merge 5: #209 #214 #215 #221 #224
- cherry-pick + close 2: #213 (+중복 #210 close), #181 (+golden 재생성)
- dependabot close 2: #211 #212 (devel 수동 bump + target-branch=devel 설정)
- 보류 1: #165 skia (별도 사이클)

이슈 close 7: #173 #195 #202 #205 #207 #210 #222
신규 이슈 등록 1: #204 (표 Undo/Redo)

Chrome Web Store / Edge Add-ons v0.2.1 심사 통과 (2026-04-21).

local/task205 폐기: PR #209+#214 가 중복 처리하여 잔여 고유 기여 분리 곤란.

기여자 7명 감사 기록.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
edwardkim added a commit that referenced this pull request Apr 21, 2026
한글판 README.md 와 영문판 README_EN.md 의 섹션 구조·내용을 1:1 일치시킴.

주요 변경:
- Roadmap + Milestones 섹션을 상단(로드맵/이정표 위치) 으로 이동
- v0.5.0 ~ v0.7.x 이정표에 v0.2.1 사이클 전체 반영 (Chrome/Edge 심사 통과, PR #213/#215/#221/#169/#209/#214/#224/#181)
- rhwp-firefox (v0.1.1 AMO 준비) + rhwp-safari (v0.2.1) 섹션 추가
- 기여자 감사 목록 확장: @seo-rii, @planet6897, @yl-star7 추가 (9명)
- Features: OLE/Chart/EMF native rendering 항목 추가 (#221)
- Project Structure: src/emf/, src/ooxml_chart/, rhwp-firefox/, rhwp-shared/ 반영
- Trademark 섹션 신규 (한글판 동일 위치)
- AI 페어 프로그래밍 섹션: Git Workflow / Task Workflow / Debugging Protocol / Documentation Rules 완전 반영
- 로드맵 링크를 mydocs/eng/report/rhwp-milestone.md 로 보정
- 테스트 수치 783 → 935

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
edwardkim added a commit that referenced this pull request Apr 22, 2026
한글판 README.md 와 영문판 README_EN.md 의 섹션 구조·내용을 1:1 일치시킴.

주요 변경:
- Roadmap + Milestones 섹션을 상단(로드맵/이정표 위치) 으로 이동
- v0.5.0 ~ v0.7.x 이정표에 v0.2.1 사이클 전체 반영 (Chrome/Edge 심사 통과, PR #213/#215/#221/#169/#209/#214/#224/#181)
- rhwp-firefox (v0.1.1 AMO 준비) + rhwp-safari (v0.2.1) 섹션 추가
- 기여자 감사 목록 확장: @seo-rii, @planet6897, @yl-star7 추가 (9명)
- Features: OLE/Chart/EMF native rendering 항목 추가 (#221)
- Project Structure: src/emf/, src/ooxml_chart/, rhwp-firefox/, rhwp-shared/ 반영
- Trademark 섹션 신규 (한글판 동일 위치)
- AI 페어 프로그래밍 섹션: Git Workflow / Task Workflow / Debugging Protocol / Documentation Rules 완전 반영
- 로드맵 링크를 mydocs/eng/report/rhwp-milestone.md 로 보정
- 테스트 수치 783 → 935

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@postmelee postmelee deleted the fix/issue-222-safari-init-gating branch May 2, 2026 07:07
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