공개 이슈 https://github.com/gnuboard/g7/issues/22 — 본문에 삽입한 이미지가 카드/갤러리 목록 썸네일과 공유 미리보기(og:image)에 반영되지 않던 공백을 코어+3모듈+2템플릿에서 해소. - 코어 7.0.9: HtmlImageExtractor(내부 이미지 한정, origin 정규화 SSoT 재사용) + seo.og_image_default 사이트 기본 공유 이미지 설정 + SeoMetaResolver 폴백 체인 - board 1.1.0 / ecommerce 1.2.0 / page 1.1.0: content_thumbnail_url 캐시 컬럼, saving 추출(html 모드 한정·첨부 우선·비밀글 게이트 유지), filter_content_thumbnail 훅, 기존 데이터 백필 업그레이드 스텝 - ecommerce 카테고리 og:image 생산자 신설, page og:description 死키 정정 - sirsoft-basic 1.1.2 og 바인딩 정정, admin_basic 1.0.7 SEO 탭 업로더(+ja 팩 2종) - 검수 중 발견한 text 모드 오캐시 결함은 실패 테스트 선행 후 수정
49 lines
2.5 KiB
YAML
49 lines
2.5 KiB
YAML
feature: 본문 첫 이미지 목록 썸네일 폴백
|
|
|
|
description: |
|
|
공개 이슈 #22 — 에디터로 본문에 삽입한 이미지가 카드형·갤러리형 목록 썸네일에
|
|
반영되지 않던 문제. 저장 시 본문 첫 내부 이미지 URL 을 board_posts.content_thumbnail_url
|
|
에 캐시하고, 이미지 첨부가 없을 때 PostResource thumbnail 이 이를 폴백으로 사용한다.
|
|
내부 URL 판정은 TrustedScriptHosts::normalizeForOriginCheck 공유 정규화를 따른다.
|
|
|
|
axes:
|
|
image_source: [attachment_only, content_internal_only, both, content_external_only, none]
|
|
secrecy: [normal, secret_unauthorized]
|
|
|
|
exclusions:
|
|
- { image_source: attachment_only, secrecy: secret_unauthorized, reason: "비밀글 게이트는 image_source 와 무관하게 최상단에서 null — 대표 1조합(content_internal_only)으로 게이트를 검증하고 첨부 축은 기존 PostResourceThumbnailUrlTest 비밀글 케이스가 커버" }
|
|
- { image_source: both, secrecy: secret_unauthorized, reason: "동일 — 게이트 선행으로 소스 축 무의미, 대표 조합으로 검증" }
|
|
- { image_source: content_external_only, secrecy: secret_unauthorized, reason: "동일" }
|
|
- { image_source: none, secrecy: secret_unauthorized, reason: "동일" }
|
|
|
|
sub_flows:
|
|
- id: backfill
|
|
description: 1.1.0 업그레이드 스텝이 기존 게시물을 chunkById 백필
|
|
effects:
|
|
- backfill_fills_legacy_rows
|
|
- backfill_idempotent_second_run
|
|
- backfill_keeps_external_only_null
|
|
- id: recompute
|
|
description: content/content_mode 변경 시에만 saving 이벤트가 재계산
|
|
effects:
|
|
- recompute_on_content_change
|
|
- no_recompute_on_unrelated_update
|
|
- filter_hook_can_override_or_block
|
|
- text_mode_content_never_caches
|
|
- mode_switch_recomputes_cache
|
|
|
|
effects:
|
|
- attachment_takes_precedence_over_content_image
|
|
- content_internal_image_fills_list_thumbnail
|
|
- external_only_content_yields_null
|
|
- secret_post_thumbnail_stays_null
|
|
- detail_and_og_share_same_fallback
|
|
|
|
test_files:
|
|
- tests/Unit/Support/HtmlImageExtractorTest.php
|
|
- modules/_bundled/sirsoft-board/tests/Unit/Resources/PostResourceThumbnailUrlTest.php
|
|
- modules/_bundled/sirsoft-board/tests/Unit/Models/PostContentThumbnailTest.php
|
|
- modules/_bundled/sirsoft-board/tests/Feature/User/PostListContentThumbnailTest.php
|
|
- modules/_bundled/sirsoft-board/tests/Feature/Upgrade/ContentThumbnailBackfillTest.php
|
|
- modules/_bundled/sirsoft-board/tests/Playwright/specs/user/board-content-thumbnail.spec.ts
|