Files
sori.studio/docs/update.md

48 KiB

업데이트 이력

v1.12.12

  • UGREEN NAS Docker 앱 배포에서 --env-file 없이 Compose를 실행해도 PostgreSQL 환경 변수 치환 경고가 뜨지 않도록 DB 서비스 중복 환경 변수 선언 제거.
  • NAS Docker 앱 GUI 배포 시 .env.production 배치 기준 문서화.

v1.12.11

  • CSP Report-Only 차단 출처 정규화에서 빈 값과 특수 scheme을 unknown과 분리.
  • about:, 브라우저 확장 프로그램 scheme, 빈 blocked-uri 분류 테스트 추가.

v1.12.10

  • CSP 관찰 요약에 지시어별 외부 origin 허용 후보 계산 추가.
  • 관리자 대시보드 CSP 관찰 표에 허용 후보 표시 추가.
  • CSP 허용 후보 계산 단위 테스트 추가.

v1.12.9

  • 관리자 대시보드에 CSP Report-Only 위반 관찰 표 추가.
  • CSP 위반 집계 조회용 관리자 API 추가.
  • CSP 관찰 TODO를 운영 보고 확인 단계로 좁히고 관련 문서 갱신.

v1.12.8

  • 콘텐츠 세션 원장 보관 기간을 방문자 해시와 동일한 32일 유지로 확정.
  • 통계 콘텐츠 세션 원장 후속 개선 TODO 완료 처리.
  • 배포 문서의 통계 데이터 보관 정책에 analytics_content_sessions 32일 보관 기준 추가.

v1.12.7

  • 관리자 통계 추이 차트의 버킷별 평균 체류와 50% 스크롤 도달 지표를 콘텐츠 세션 원장 우선 계산으로 보정.
  • 원장 데이터가 없는 차트 버킷은 기존 일별 누적 집계 값을 유지하도록 fallback 정리.

v1.12.6

  • 관리자 인기 게시물 목록의 읽음·평균 체류·스크롤 지표를 콘텐츠 세션 원장 우선 계산으로 보정.
  • 관리자 인기 페이지 목록의 평균 체류·스크롤 지표를 콘텐츠 세션 원장 우선 계산으로 보정.
  • 인기 콘텐츠 순위와 조회수는 기존 일별 집계를 유지하고 부가 참여 지표만 원장 기준으로 교체하도록 정리.

v1.12.5

  • 관리자 대시보드 요약·선택 기간 상세의 평균 체류와 50% 스크롤 도달 지표를 콘텐츠 세션 원장 우선 계산으로 보정.
  • 게시물·페이지별 통계 상세의 기간 요약 지표를 콘텐츠 세션 원장 우선 계산으로 보정.
  • 콘텐츠 세션 원장 보관 범위 밖의 기간은 기존 일별 누적 집계로 fallback하도록 정리.

v1.12.4

  • 통계 수집에 콘텐츠 단위 세션 원장 analytics_content_sessions 추가.
  • 공개 pageview/read/heartbeat 이벤트에 라우트 진입 단위 contentSessionId 전송 추가.
  • heartbeat 체류·스크롤 증분 계산을 실시간 세션이 아니라 콘텐츠 세션 기준으로 분리.
  • 실시간 접속 세션에 현재 콘텐츠 세션 해시를 저장해 페이지 이동 시 접속 유지·스크롤 표시가 이전 콘텐츠 값에 끌리지 않도록 수정.
  • 관리자 대시보드 현재 접속자 목록에 공개 페이지 새 창 바로가기 버튼 추가.

v1.12.3

  • Google 로그인 연동 해제 시 NOT NULL Google 프로필 컬럼을 NULL이 아니라 빈 문자열로 초기화하도록 수정.

v1.12.2

  • 회원 설정 화면의 Google 계정 연결 완료 상태를 읽기 전용 배지로 변경.
  • 회원 설정 화면에서 Google 계정 다시 연결 버튼과 불필요한 안내 문구 제거.
  • 관리자 멤버 상세 화면에 Google 로그인 연동 상태 표시 추가.
  • 소유자 권한으로 관리자 멤버 상세에서 Google 로그인 연동을 해제하는 API와 확인 모달 추가.

v1.12.1

  • Google 계정 로그인과 기존 계정 Google 연동 흐름 추가.
  • users 테이블에 Google OAuth 식별자·이메일·이름·프로필 이미지·연결 시각 컬럼을 추가하는 071_users_google_oauth.sql 마이그레이션 추가.
  • 일반 로그인 화면과 관리자 로그인 화면에 Google 로그인 버튼 추가.
  • 회원 설정 화면에 Google 계정 연결 상태와 연결 버튼 추가.
  • Google OAuth redirect 내부 경로 보정 테스트 추가.
  • Google OAuth 환경 변수와 redirect URI 등록 절차 문서화.
  • 로컬 개발 DB에 071_users_google_oauth.sql 마이그레이션 적용 확인.

v1.12.0

  • v1.11 내부 개선 구간을 마감하고 관리 버전을 1.12.0으로 상향.
  • docs/update.md를 v1.11 이후 최신 작업 중심으로 축소하고 v1.10 이하 상세 이력을 docs/update-archive.md로 분리 보관.
  • v1.11 개발 구간 방문자용 업데이트 로그 docs/update-log/v1.12.md 작성.
  • 문서 구조 정리 TODO 완료 처리.

v1.11.128

  • sharp를 0.35.3으로 업데이트하고 tar·brace-expansion 전이 의존성을 overrides로 보안 패치 버전에 고정.
  • 게시물 카드·본문·페이지 커버 WebP 파생 이미지 생성 스모크 테스트 추가.
  • 운영 의존성 npm audit 취약점 0건 확인.

v1.11.127

  • 미디어 카탈로그 조회 모드에서 전환 관찰용 shadow 모드 제거.
  • 관리자 미디어 목록 API의 비동기 shadow 비교 로그와 비교 요약 코드 정리.
  • MEDIA_CATALOG_MODE 허용값을 filesystem·database로 축소하고 모드 정규화 단위 테스트 추가.

v1.11.126

  • 관리자 Markdown 에디터의 미디어 삽입 적용 실행을 useAdminMarkdownMediaActions composable로 분리.
  • 에디터 컴포넌트는 미디어 선택·업로드 상태와 블록 삽입 콜백만 주입하고, 일반 이미지·갤러리·활성 갤러리·슬래시 대기 줄 삽입과 업로드 후 목록 갱신은 composable에 위임하도록 정리.
  • 미디어 액션 composable의 일반 삽입, 활성 갤러리 추가, 슬래시 줄 교체, 업로드 삽입, 업로드 중 차단, 모달 업로드 토스트 단위 테스트 추가.

v1.11.125

  • 관리자 Markdown 에디터의 소스 선택 편집 실행을 useAdminMarkdownSourceActions composable로 분리.
  • 에디터 컴포넌트는 선택 상태와 textarea 선택 적용 콜백만 주입하고, 선택 교체·블록 삽입·인라인 링크·감싸기·줄 삭제 실행은 composable에 위임하도록 정리.
  • 소스 선택 액션 composable의 선택 교체, 블록 삽입, 인라인 감싸기·링크, 줄 변환, 코드 블록 삽입, 선택 줄 삭제 단위 테스트 추가.

v1.11.124

  • 관리자 Markdown 에디터의 첫 본문 포커스와 히스토리 복원 후 포커스 실행을 useAdminMarkdownEditorFocusActions composable로 분리.
  • 에디터 컴포넌트는 textarea·미리보기 포커스 실행 콜백만 주입하고, 모드별 포커스 대상 계산과 첫 줄 보정은 composable에 위임하도록 정리.
  • 첫 포커스 줄 계산, 작성/라이브 첫 블록 포커스, 히스토리 복원 선택·오프셋 복원 단위 테스트 추가.

v1.11.123

  • 관리자 Markdown 에디터의 슬래시 명령 적용 실행을 useAdminMarkdownSlashCommandActions composable로 분리.
  • 에디터 컴포넌트는 슬래시 명령 실행 시 줄 교체·미디어 모달·textarea 선택·미리보기 포커스 콜백만 주입하도록 정리.
  • 슬래시 미디어 명령, 작성 모드 줄 삽입, 라이브 모드 포커스 예약, 후보 없음 종료, 취소 억제 단위 테스트 추가.

v1.11.122

  • 관리자 Markdown 에디터의 슬래시 메뉴 위치 계산·스크롤 리스너·하이라이트 스크롤 후처리를 useAdminMarkdownSlashMenuPosition composable로 분리.
  • 에디터 컴포넌트는 슬래시 메뉴 상태와 명령 실행 흐름만 유지하고, 미리보기·소스 모드 메뉴 좌표 갱신은 composable에 위임하도록 정리.
  • 슬래시 메뉴 위치 갱신, 노출 상태별 리스너 등록·해제, 하이라이트 항목 스크롤, 검색어·명령 수 변경 감시 단위 테스트 추가.

v1.11.121

  • 관리자 Markdown 에디터의 라이브 미리보기 갤러리·이미지·문단 이벤트 적용 실행을 useAdminMarkdownPreviewActions composable로 분리.
  • 에디터 컴포넌트는 미리보기 이벤트 핸들러 계산·적용 로직을 직접 갖지 않고, 본문 ref·줄 교체·포커스 실행 함수만 주입하도록 정리.
  • 미리보기 액션 composable의 갤러리 순서 변경, 이미지 삭제, 슬래시 미디어 지연 commit 무시, fenced 블록 교체, 삽입 후 포커스, 줄 삭제·병합 단위 테스트 추가.

v1.11.120

  • 관리자 Markdown 에디터의 오른쪽 블록 패널 옵션 적용 실행을 useAdminMarkdownBlockActions composable로 분리.
  • 에디터 컴포넌트는 활성 블록·본문 값·포커스 실행 함수만 주입하고 이미지·갤러리·임베드·콜아웃·코드·토글·인라인 색상 적용 함수를 composable에서 받아 쓰도록 정리.
  • 블록 패널 액션 composable의 이미지 너비 저장, 파일명 캡션, 갤러리 fallback, 소스·라이브 인라인 색상 적용 단위 테스트 추가.

v1.11.119

  • 관리자 Markdown 에디터의 라이브 미리보기 갤러리·이미지·문단 이벤트 결과 계산을 markdown-editor-preview-blocks helper로 분리.
  • 에디터 컴포넌트는 미리보기 이벤트 payload를 helper에 전달하고 계산된 Markdown 값만 반영하도록 정리.
  • 미리보기 블록 helper의 갤러리 병합·삽입·삭제·분리, 문단 추가·삽입·삭제·병합 단위 테스트 추가.

v1.11.118

  • 관리자 Markdown 에디터의 라이브 미리보기 DOM 접근·현재 source line 계산·상단 스크롤·전체 선택·줄 포커스 실행을 useAdminMarkdownPreviewFocus composable로 분리.
  • 에디터 컴포넌트는 미리보기 표면 ref만 주입하고 라이브 포커스 실행 함수를 재사용하도록 정리.
  • 미리보기 포커스 composable의 표면 위임·현재 줄 계산·상단 스크롤 단위 테스트 추가.

v1.11.117

  • 관리자 글쓰기 오른쪽 블록 패널에서 단일 이미지 표시 너비 변경 이벤트의 imageIndex와 patch가 사이드바를 거치며 누락되던 문제 수정.
  • 이미지 표시 너비 선택 시 본문 마크다운에 {size=숫자} 옵션이 다시 저장되도록 이벤트 전달 보정.
  • 블록 패널 다중 인자 이벤트 전달 회귀 테스트 추가.

v1.11.116

  • 관리자 Markdown 에디터의 이미지·갤러리·임베드·인용·콜아웃·코드·토글 옵션 변경 계산을 markdown-editor-block-options helper로 분리.
  • 에디터 컴포넌트는 블록 옵션 변경 결과를 줄 범위 교체 계획으로 적용하고, 실제 문자열 조립 책임을 제거.
  • 블록 옵션 helper의 미디어 교체, 캡션 사용, 갤러리 이동·추가, fenced 옵션, 인라인 색상 단위 테스트 추가.

v1.11.115

  • 관리자 Markdown 에디터의 블록 설정 패널 표시 상태·포커스 유지·IME 조합 중 직전 컨텍스트 유지·인라인 색상 패널 우선순위를 useAdminMarkdownBlockPanel composable로 분리.
  • 에디터 컴포넌트는 패널 상태를 직접 계산하지 않고 활성 줄·본문·인라인 색상 선택 계산 함수만 주입하도록 정리.
  • 블록 패널 표시, 인라인 색상 우선순위, IME 컨텍스트 유지, 라이브 줄 포커스, 패널 닫기 단위 테스트 추가.

v1.11.114

  • 관리자 Markdown 에디터의 textarea 높이 동기화·거터 줄 높이 측정·선택 기억·줄 포커스·스크롤 실행을 useAdminMarkdownTextareaFocus composable로 분리.
  • 에디터 컴포넌트는 textarea DOM 참조와 블록/슬래시 상태 동기화 콜백만 주입하도록 정리.
  • textarea 선택 기억, 커서 줄 갱신, 지정 줄 포커스, 선택 복원 단위 테스트 추가.

v1.11.113

  • 관리자 Markdown 에디터의 작성/라이브 모드 전환 포커스 대기 상태와 복원 순서를 useAdminMarkdownFocusBridge composable로 분리.
  • 에디터 컴포넌트는 textarea·라이브 편집 줄 DOM 조작 콜백만 제공하고, pending 포커스 상태 직접 관리를 제거.
  • 포커스 브리지의 작성→라이브, 라이브→작성, 기본 복원, 예약 포커스 단위 테스트 추가.

v1.11.112

  • 관리자 Markdown 에디터의 슬래시 명령 적용 후 미디어 모달·줄 삽입·포커스 대상 판단을 markdown-slash-commands helper로 분리.
  • 에디터 컴포넌트는 계산된 효과 계획에 따라 본문 교체, 모달 열기, DOM 포커스 복원만 실행하도록 정리.
  • 슬래시 명령 효과 계획의 미디어 실행·모드별 포커스 대상 단위 테스트 추가.

v1.11.111

  • 관리자 Markdown 에디터의 미디어 라이브러리 조회와 업로드 실행 흐름을 useAdminMarkdownMediaPicker composable로 이동.
  • 에디터 컴포넌트는 업로드 결과를 본문에 삽입하는 책임만 유지하도록 미디어 요청 중복 함수 정리.
  • 미디어 선택 composable의 서버 목록 조회, 업로드 후 선택 상태 갱신, 업로드 한도 초과 단위 테스트 추가.

v1.11.110

  • 관리자 Markdown 에디터에서 일치하는 슬래시 명령이 없는 /ㄴㅇ 같은 입력이 Enter 줄바꿈을 막던 문제 수정.
  • 슬래시 메뉴 키보드 이벤트는 표시할 명령 후보가 있을 때만 Enter·방향키를 가로채도록 보정.
  • 슬래시 명령 후보 없음·키보드 가로채기 조건 단위 테스트 추가.

v1.11.109

  • 관리자 Markdown 에디터에서 / 슬래시 메뉴를 ESC로 닫은 뒤 줄 내용을 바꾸고 다시 /를 입력해도 메뉴가 다시 열리지 않던 문제 수정.
  • 슬래시 메뉴 취소 억제 기준을 줄 번호만이 아니라 취소 당시 줄 내용까지 함께 보도록 보강.
  • 슬래시 메뉴 억제 상태 단위 테스트 보강.

v1.11.108

  • 관리자 Markdown 에디터의 미디어 목록 조회 query 생성과 업로드 FormData·응답 파일 해석 규칙을 markdown-editor-media helper로 분리.
  • 붙여넣기·드롭 이미지 파일 필터링과 단일/갤러리 업로드 삽입 대상 계산을 helper로 정리.
  • 미디어 업로드 helper 단위 테스트 추가.

v1.11.107

  • 관리자 Markdown 에디터의 미디어 선택 모달 상태·검색어·페이지·선택 상태·표시 계산을 useAdminMarkdownMediaPicker composable로 분리.
  • 선택한 미디어를 슬래시 줄·단일 이미지·갤러리·미디어 블록으로 적용하는 계획을 markdown-editor-media helper로 분리.
  • 미디어 선택 composable과 선택 미디어 삽입 계획 단위 테스트 추가.

v1.11.106

  • 관리자 Markdown 에디터의 슬래시 명령 적용 판단을 markdown-slash-commands helper로 분리.
  • 에디터 컴포넌트에는 미디어 모달 열기, 줄 교체, 포커스 복원 같은 실제 UI 적용 책임만 남기도록 정리.
  • 슬래시 명령 적용 계획의 미디어·줄 삽입·무효 입력 단위 테스트 추가.

v1.11.105

  • 관리자 Markdown 에디터의 코드 펜스 범위·본문 줄 판별과 라이브 전환 포커스 대상 보정 계산을 markdown-editor-focus helper로 분리.
  • 에디터 컴포넌트에는 라이브/소스 모드 전환 시 실제 DOM 포커스·스크롤 적용 책임만 남기도록 정리.
  • 코드 펜스 범위, 닫히지 않은 코드 블록, 콜아웃·토글·인용 옵션 줄 포커스 보정 단위 테스트 추가.

v1.11.104

  • 관리자 Markdown 에디터의 소스 textarea 선택·치환·인라인 감싸기·링크 삽입·줄 변환 계산을 markdown-source-selection helper로 분리.
  • 에디터 컴포넌트에는 textarea 포커스·스크롤 복원 책임만 남기고, 본문 문자열 변경 결과와 다음 선택 위치 계산은 순수 함수로 이동.
  • 소스 선택 helper의 줄 오프셋, 선택 치환, 블록 조각 삽입, 인라인 링크, 줄 변환·삭제 단위 테스트 추가.

v1.11.103

  • 관리자 Markdown 에디터의 undo/redo 스택·기록 그룹화·복원 중 상태 관리를 useAdminMarkdownHistory composable로 분리.
  • 히스토리 복원 후 textarea·라이브 편집 포커스 복원 콜백은 에디터 컴포넌트에 남겨 DOM 책임과 상태 책임을 분리.
  • 히스토리 기록, undo/redo 복원, 빠른 입력 그룹화, undo 보관 개수 제한 단위 테스트 추가.

v1.11.102

  • 공개 Markdown 렌더러의 라이브 인용 블록 커밋·아래 이탈·일반 문단 복귀 이벤트를 useContentMarkdownQuotes composable로 분리.
  • 렌더러 안에 남아 있던 미사용 인용 줄 단위 편집 함수와 원본 블록 줄 helper를 제거.
  • 인용 composable의 옵션 선언 줄 보존, >. 접두 정리, 아래 문단 삽입, 일반 문단 복귀 단위 테스트 추가.
  • v1.11 내부 개선 todo에서 완료된 공개 Markdown 렌더러 편집 이벤트 분리 항목 제거.

v1.11.101

  • 공개 Markdown 렌더러의 라이브 목록 번호 계산·항목 커밋·Enter 분기 이벤트를 useContentMarkdownLists composable로 분리.
  • 빈 목록 마커 판별 유틸을 보정해 - , 1. 같은 빈 목록 줄의 문단 탈출 처리를 안정화.
  • 목록 composable의 순서 목록 번호 유지, 항목 커밋, 중간 분리, 빈 마커 탈출, 아래 문단 삽입, 원문 모드 단위 테스트 추가.
  • v1.11 내부 개선 todo에서 완료된 목록 편집 이벤트 분리 범위를 제외하고 남은 블록 이벤트 범위를 인용으로 재정리.

v1.11.100

  • 공개 Markdown 렌더러의 라이브 문단·스페이서 편집 이벤트와 문단 Enter 단축 변환을 useContentMarkdownParagraphs composable로 분리.
  • 문단 composable의 여러 줄 커밋, 인용 변환, 일반 분리, 코드·콜아웃 단축 변환 단위 테스트 추가.
  • v1.11 내부 개선 todo에서 완료된 문단 편집 이벤트 분리 범위를 제외하고 남은 블록 이벤트 범위를 목록·인용으로 재정리.

v1.11.99

  • 공개 Markdown 렌더러의 코드·콜아웃·토글 fenced 블록 편집 이벤트를 useContentMarkdownFencedBlocks composable로 분리.
  • fenced 블록 composable의 코드·콜아웃·토글 아래 문단 삽입 단위 테스트 추가.
  • v1.11 내부 개선 todo에서 완료된 fenced 블록 편집 이벤트 분리 범위를 제외하고 남은 블록 이벤트 범위를 재정리.

v1.11.98

  • 공개 Markdown 렌더러의 라이브 선택·포커스 복원·line focus/blur·원문 편집 표시 상태를 useContentMarkdownLiveSelection composable로 분리.
  • 라이브 선택 composable의 포커스 요청, 예약 포커스 초기화, line focus/blur 전달 단위 테스트 추가.
  • v1.11 내부 개선 todo에서 완료된 공개 렌더러 상태 분리 범위를 제외하고 남은 작업을 더 좁게 정리.

v1.11.97

  • 공개 Markdown 렌더러의 라이브 단일 이미지·갤러리 드래그 상태와 이벤트 중개를 useContentMarkdownImageDrag composable로 분리.
  • 단일 이미지 병합, 갤러리 삽입, 갤러리 순서 변경, 갤러리 이미지 분리 삽입 단위 테스트 추가.

v1.11.96

  • 공개 Markdown 렌더러의 본문 파싱·제목 ID·인아티클 광고 삽입 렌더 블록·하단 삽입 줄·라이트박스 대상 목록 계산을 useContentMarkdownBlocks composable로 분리.
  • 공개 Markdown 블록 계산 composable의 제목 ID, 광고 삽입 제외, 하단 삽입 줄 단위 테스트 추가.

v1.11.95

  • 공개 Markdown 렌더러의 이미지 라이트박스 상태·좌우 이동·ESC 닫기·전역 키보드 이벤트 관리를 useContentMarkdownLightbox composable로 분리.
  • 라이트박스 키보드 이벤트 중복 연결 방지와 닫힘 시 해제 동작 단위 테스트 추가.

v1.11.94

  • 관리자 Markdown 에디터의 슬래시 메뉴 상태·억제 줄·키보드 탐색 타이머 관리를 useAdminMarkdownSlashMenu composable로 분리.
  • 관리자 Markdown 에디터의 전역 키보드 단축키 판별을 markdown-editor-keyboard helper로 분리.
  • 슬래시 메뉴 상태 관리와 에디터 Cmd/Ctrl 조합, undo/redo, 작성/미리보기 전환, 미디어 선택 닫기 단축키 단위 테스트 추가.

v1.11.92

  • 관리자 Markdown 에디터의 슬래시 메뉴 키보드 입력 동작 판별을 markdown-slash-commands helper로 분리.
  • 슬래시 메뉴 방향키·Enter·Escape 동작 분류 단위 테스트 추가.

v1.11.91

  • 관리자 Markdown 에디터의 슬래시 메뉴 방향키 순환 인덱스 계산을 markdown-slash-commands helper로 분리.
  • 슬래시 메뉴 방향키 위·아래 순환 단위 테스트 추가.

v1.11.90

  • 관리자 Markdown 에디터의 슬래시 메뉴 하이라이트 인덱스 보정을 markdown-slash-commands helper로 분리.
  • 슬래시 메뉴 하이라이트 범위 보정 단위 테스트 추가.

v1.11.89

  • 관리자 Markdown 에디터의 슬래시 메뉴 제외 줄 Set 갱신을 markdown-slash-commands helper로 분리.
  • 슬래시 제외 줄 추가·제거 단위 테스트 추가.

v1.11.88

  • 관리자 Markdown 에디터의 미디어 슬래시 action → 미디어 선택 모달 종류 변환을 markdown-slash-commands helper로 분리.
  • 슬래시 미디어 action 변환 단위 테스트 추가.

v1.11.87

  • 관리자 Markdown 에디터의 슬래시 명령 textarea 커서 복원 계산을 markdown-slash-commands helper로 분리.
  • 슬래시 명령 단일 줄·여러 줄 삽입 후 textarea 선택 위치 단위 테스트 추가.

v1.11.86

  • 관리자 Markdown 에디터의 슬래시 메뉴 상태 초기화 로직을 clearLiveSlashState로 통합.
  • 소스·라이브 슬래시 입력 종료 경로의 상태 정리 방식을 일관되게 정리.

v1.11.85

  • 관리자 Markdown 에디터의 슬래시 메뉴 선택 항목 스크롤 계산을 markdown-slash-menu-scroll helper로 분리.
  • 슬래시 메뉴 선택 항목의 위·아래 스크롤 보정 단위 테스트 추가.

v1.11.84

  • 관리자 Markdown 에디터의 슬래시 메뉴 재배치 이벤트 리스너를 안정적인 참조로 정리.
  • 슬래시 메뉴 닫힘·컴포넌트 해제 시 window/편집 표면 scroll·resize 리스너가 제거되도록 보강.

v1.11.83

  • 관리자 Markdown 에디터의 슬래시 메뉴 뷰포트 위치 보정 계산을 markdown-slash-menu-position helper로 분리.
  • 슬래시 메뉴 위치 보정 단위 테스트를 추가해 아래·위·좌우 경계 동작을 고정.

v1.11.82

  • 관리자 Markdown 에디터의 라이브 미리보기 표면을 AdminMarkdownPreviewSurface 컴포넌트로 분리.
  • 미리보기 DOM·라이브 편집 메서드 접근을 컴포넌트 노출 메서드로 정리해 에디터 부모 파일의 렌더링 책임 축소.

v1.11.81

  • 관리자 Markdown 에디터의 소스 작성 표면(textarea·라인 번호·업로드 배지)을 AdminMarkdownWriteSurface 컴포넌트로 분리.
  • 작성 표면 DOM 접근을 컴포넌트 노출 메서드로 정리해 부모 편집 로직과 UI 렌더링 경계 분리.

v1.11.80

  • 관리자 Markdown 에디터의 작성/미리보기 모드 전환 버튼과 업로드 상태 배지를 하위 컴포넌트로 분리.
  • 미디어 선택 모달 업로드 애니메이션 스타일을 실제 모달 컴포넌트로 이동해 scoped style 연결 정리.

v1.11.79

  • 관리자 Markdown 에디터의 슬래시 명령 메뉴 UI를 AdminMarkdownSlashMenu 컴포넌트로 분리.
  • 슬래시 메뉴 위치 보정·키보드 선택 스크롤을 유지하도록 메뉴 DOM 참조 연결 정리.

v1.11.78

  • 관리자 Markdown 에디터의 미디어 선택 모달 UI를 AdminMarkdownMediaPickerModal 컴포넌트로 분리.
  • 미디어 선택 페이지 번호 보정 helper 추가 및 단위 테스트 보강.

v1.11.77

  • 관리자 Markdown 에디터 미디어 선택 적용 버튼 상태 계산을 공통 helper로 분리.
  • 미디어 선택 적용 버튼 상태 단위 테스트 추가.

v1.11.76

  • 관리자 Markdown 에디터 미디어 선택 라이브러리의 빈 상태 문구 계산을 공통 helper로 분리.
  • 미디어 선택 빈 상태 문구 단위 테스트 추가.

v1.11.75

  • 관리자 Markdown 에디터 미디어 선택 대상별 모달 제목 계산을 공통 helper로 분리.
  • 미디어 선택 대상별 제목 계산 단위 테스트 추가.

v1.11.74

  • 관리자 Markdown 에디터 미디어 선택 대상별 accept·API kind·다중 선택 여부·업로드 안내 문구 계산을 공통 helper로 분리.
  • 미디어 선택 대상별 입력·안내 계산 단위 테스트 추가.

v1.11.73

  • 관리자 Markdown 에디터 미디어 선택 모달의 기본 페이지네이션 상태 생성과 API 응답 정규화 로직을 공통 helper로 분리.
  • 미디어 선택 응답 정규화 단위 테스트 추가.

v1.11.72

  • 관리자 Markdown 에디터 미디어 선택 모달의 페이지 범위 문구와 페이지 번호·말줄임 항목 계산을 공통 helper로 분리.
  • 미디어 선택 페이지네이션 helper 단위 테스트 추가.

v1.11.71

  • 관리자 Markdown 에디터 미디어 업로드 API 오류 메시지 변환과 파일 개수·총량·개별 크기 한도 검증 로직을 공통 helper로 분리.
  • 미디어 업로드 오류 메시지와 업로드 한도 검증 단위 테스트 추가.

v1.11.70

  • 관리자 Markdown 에디터 미디어 선택 모달의 선택 순서·단일/갤러리 선택 토글·선택 URL 기반 항목 해석 로직을 공통 helper로 분리.
  • 미디어 선택 상태 토글과 선택 항목 해석 단위 테스트 추가.

v1.11.69

  • 관리자 Markdown 에디터의 미디어 선택 모달 종류 판별·대상별 선택 가능 여부·미리보기 URL·업로드 MIME 판별·미디어 블록 생성 로직을 공통 helper로 분리.
  • 미디어 선택 helper의 파일 크기 표시·종류 판별·파생 썸네일 제외·fenced 미디어 블록 생성 단위 테스트 추가.

v1.11.68

  • 관리자 Markdown 에디터의 히스토리 항목 생성·본문 값 추출·선택 범위 보정 로직을 공통 helper로 분리.
  • 에디터 undo/redo 히스토리의 레거시 문자열 항목과 선택 범위 보정 단위 테스트 추가.

v1.11.67

  • 관리자 Markdown 에디터의 슬래시 명령 미디어 액션 판별·지연 commit 무시·명령 줄 교체 삽입 로직을 공통 helper로 분리.
  • 슬래시 명령 파싱·미디어 액션·포커스 대상·미디어 삽입 줄 교체 단위 테스트 추가.

v1.11.66

  • 라이브 작성 모드에서 오른쪽 코드 블록 설정의 줄번호 토글을 누르면 패널이 닫히는 문제 수정.
  • 라이브 작성 모드 /image 미디어 명령 실행 후 원래 /image 텍스트 줄이 남을 수 있는 문제 수정.

v1.11.65

  • 소스 작성 모드에서 한글 IME 조합 입력 중 현재 줄이 블록 밖인데도 직전 콜아웃·갤러리 패널이 유지되는 문제 수정.

v1.11.64

  • 소스 작성 모드에서 목록 입력 직후 블록 설정 패널이 이전 갤러리·코드 블록 컨텍스트를 표시하지 않도록 textarea 최신 본문 기준으로 패널 컨텍스트를 판별.

v1.11.63

  • 관리자 코드 블록 설정의 언어 입력을 chevron이 있는 공통 셀렉트 UI로 변경.
  • 코드 블록 줄번호 표시 컨트롤을 게시물 설정과 같은 ON/OFF 토글 UI로 통일.
  • 소스 작성 모드에서 목록 첫 글자 입력 중 이전 코드 블록 패널이 남지 않도록 커서 줄 갱신 타이밍을 즉시 처리하도록 수정.

v1.11.62

  • 관리자 콜아웃 블록 설정 패널 내부 포인터 조작 중에는 포커스 이탈로 패널이 닫히지 않도록 수정.
  • 콜아웃 아이콘 표시가 꺼진 상태에서는 아이콘 입력·프리셋 영역을 비활성화하고 흐리게 표시하도록 수정.

v1.11.61

  • 관리자 콜아웃 블록 설정의 아이콘 표시 컨트롤을 게시물 설정과 같은 ON/OFF 토글 UI로 통일.
  • 콜아웃 아이콘 미사용 상태에서도 아이콘 입력·프리셋 선택이 즉시 아이콘 표시를 켜고 적용되도록 수정.

v1.11.60

  • 브라우저 BFCache에 들어가거나 뒤로가기로 복원되는 공개 문서에서 전환 베일 상태를 즉시 정리하도록 수정.
  • HTML 문서 페이지 이동 후 뒤로가기로 블로그 화면에 돌아올 때 로딩 오버레이가 남는 회귀를 방지.

v1.11.59

  • 사용자 iframe 렌더링에서 allowfullscreen을 DOM 속성으로 중복 출력하지 않고 allow의 fullscreen 권한으로 정규화해 브라우저 경고를 줄임.
  • 공개 번호형 페이지네이션의 현재 페이지를 브랜드 포인트 배경색으로 표시해 활성 페이지 구분을 강화.
  • iframe 속성 정규화 단위 테스트를 추가.

v1.11.58

  • 공개 전환 베일 시작 조건을 정리해 /posts?page=2에서 /posts?page=3처럼 같은 path의 query만 바뀌는 페이지네이션 이동에서는 베일을 켜지 않도록 수정.
  • 사이트 라우트 전환 베일 판별 helper와 단위 테스트를 추가.
  • 게시물 목록 페이지네이션 클라이언트 이동 무한 로딩 회귀를 방지.

v1.11.57

  • 공개 사이트 설정 조회를 usePublicSiteSettings composable로 통합해 Nuxt site-settings-public async data 옵션 충돌 경고를 제거.
  • HTML 블록 렌더러의 sanitize-html 정적 import를 서버 전용 동적 import로 바꿔 브라우저 번들 유입을 차단.
  • /posts?page=2 SSR 응답과 게시물 페이지 API 응답, 프로덕션 빌드에서 페이지네이션 회귀를 확인.

v1.11.56

  • 공개 Markdown 렌더러의 라이트박스 이미지 목록과 갤러리 행 분할 계산을 lib/content-gallery-images.js로 분리.
  • 단일 이미지·갤러리 이미지 lightboxKey 생성과 갤러리 3열 행 분할 단위 테스트를 추가.
  • ContentMarkdownRenderer는 라이트박스 상태와 갤러리 이벤트 연결에 집중하도록 정리.

v1.11.55

  • 공개 Markdown 렌더러의 본문 이미지 표시·라이트박스·srcset·갤러리 sizes 계산을 lib/content-image-urls.js로 분리.
  • 업로드 원본 이미지의 body-720/body-1600/body-2560 파생 URL 선택과 외부 이미지 fallback 단위 테스트를 추가.
  • ContentMarkdownRenderer는 이미지 렌더링 상태와 이벤트 연결에 집중하도록 정리.

v1.11.54

  • 공개 Markdown 렌더러의 블록 파싱 로직을 lib/markdown-block-parser.js로 분리.
  • 제목·문단·이미지·fenced 블록·인용·목록·코드·표 변환 단위 테스트를 추가.
  • 토글 블록의 기본 펼침 상태가 파서 결과에 보존되도록 정리.

v1.11.53

  • 관리자 블록 컨텍스트의 fenced 블록 시작·종료 줄 탐색 helper를 lib/markdown-fenced-meta.js로 통합.
  • fenced 블록 시작·종료 탐색과 닫힘 표식 경계 단위 테스트를 추가.
  • markdown-block-context는 활성 블록 종류별 컨텍스트 조립에 집중하도록 정리.

v1.11.52

  • 관리자 블록 컨텍스트의 인용 줄 판별·옵션 파싱 중복을 lib/markdown-quote.js 공통 helper로 통합.
  • 인용 블록 설정 패널이 받는 quoteBackground·옵션 존재 여부 컨텍스트 단위 테스트를 추가.
  • 공개 렌더러와 관리자 블록 설정 패널의 인용 옵션 해석 경로를 맞춤.

v1.11.51

  • 공개 Markdown 렌더러의 인용 줄 판별·옵션 파싱·편집 줄 변환 helper를 lib/markdown-quote.js로 분리.
  • 인용 옵션 선언과 라이브 편집 중 >. 접두 정리 단위 테스트를 추가.
  • ContentMarkdownRenderer는 인용 블록 생성과 편집 이벤트 연결만 담당하도록 정리.

v1.11.50

  • 공개 Markdown 렌더러의 인아티클 광고 삽입 위치 계산을 lib/content-in-article-ad.js로 분리.
  • 본문 길이별 광고 목표 위치와 문단 후보 판별 단위 테스트를 추가.
  • ContentMarkdownRenderer는 광고 코드 표시 여부와 렌더 블록 삽입 연결만 담당하도록 정리.

v1.11.49

  • 공개 Markdown 렌더러의 fenced 블록 본문 수집과 북마크·회원가입·미디어 메타 파싱을 lib/markdown-fenced-meta.js로 분리.
  • fenced 블록 닫힘 표식 처리와 메타 필드 파싱 단위 테스트를 추가.
  • ContentMarkdownRenderer는 fenced 블록 파싱 결과를 블록 데이터로 연결하는 책임만 남기도록 정리.

v1.11.48

  • 공개 Markdown 렌더러의 표 행·구분선·정렬·블록 파싱 helper를 lib/markdown-table.js로 분리.
  • 표 파싱 단위 테스트를 추가해 정렬과 이스케이프된 파이프 문자 처리를 회귀 확인.
  • ContentMarkdownRenderer는 표 렌더링 데이터 소비에 집중하도록 내부 파싱 책임을 축소.

v1.11.47

  • 관리자 미디어 화면의 대표 이미지·페이지 커버·본문 이미지 재생성 상태와 API 호출을 useAdminMediaThumbnailRegeneration composable로 분리.
  • 썸네일 생성 가능 여부 판별과 생성 중 URL 상태를 한 경로에서 관리하도록 정리.
  • 미디어 화면은 재생성 버튼 이벤트 연결만 담당하도록 축소.

v1.11.46

  • 관리자 미디어 화면의 상세 모달 렌더링을 AdminMediaDetailModal 컴포넌트로 분리.
  • 미디어 미리보기·파일 정보·사용 현황·폴더 입력·파일명 입력·썸네일 생성 버튼 표시 책임을 하위 컴포넌트로 이동.
  • 미디어 화면은 선택 항목 상태와 다운로드·저장·삭제·재생성 이벤트 연결만 담당하도록 정리.

v1.11.45

  • 관리자 미디어 화면의 그리드 카드 목록 렌더링을 AdminMediaGrid 컴포넌트로 분리.
  • 미디어 카드 썸네일·선택 체크·사용처 개수·상태 배지·영상 썸네일 표시 책임을 하위 컴포넌트로 이동.
  • 미디어 화면은 목록 데이터 계산과 선택·드래그·상세 열기·이미지 fallback 이벤트 연결만 담당하도록 정리.

v1.11.44

  • 관리자 미디어 화면의 폴더 사이드바 렌더링을 AdminMediaFolderPanel 컴포넌트로 분리.
  • 라이브러리 폴더 트리와 대표·본문·프로필 이미지 탭 안내 패널 표시 책임을 하위 컴포넌트로 이동.
  • 미디어 화면은 폴더 목록 계산·선택·드롭·삭제·생성 액션 연결만 담당하도록 정리.

v1.11.43

  • 관리자 게시물 폼의 우측 설정 패널 렌더링을 AdminPostSettingsSidebar 컴포넌트로 분리.
  • Post URL·상태·발행 시각·요약·태그·노출 토글·작성 통계·삭제 버튼 표시 책임을 하위 컴포넌트로 이동.
  • 게시물 폼은 설정 패널 상태와 태그 입력 ref·블록 패널 이벤트 연결만 담당하도록 정리.

v1.11.42

  • 관리자 게시물 폼의 발행·예약·발행취소 상태 판별과 모달 상태를 useAdminPostPublishState composable로 분리.
  • 발행 시각 datetime-local 변환·예약 날짜 입력·발행취소 표시 문구 계산을 한 경로로 정리.
  • 게시물 저장 payload 생성은 폼에 유지하면서 발행 상태 관리 책임을 축소.

v1.11.41

  • 관리자 게시물 폼의 대표 이미지 선택·검색·페이지네이션·업로드 로직을 useAdminFeaturedImagePicker composable로 분리.
  • 대표 이미지 모달 상태와 미디어 API 조회 흐름을 게시물 폼 외부에서 관리하도록 정리.
  • 글쓰기 폼의 스크립트 책임을 줄이고 대표 이미지 선택 UI 연결만 남김.

v1.11.40

  • 관리자 게시물 폼의 태그 파싱·추천·선택·삭제 로직을 useAdminPostTags composable로 분리.
  • 태그 입력 상태·키보드 처리·추천 목록 메타 계산을 게시물 폼 외부에서 관리하도록 정리.
  • 태그 입력 동작은 유지하면서 글쓰기 폼의 스크립트 책임을 축소.

v1.11.39

  • 어나운스 바 설정 정규화·스냅샷 복사·변경 비교 로직을 lib/admin-announcement-settings-section.js로 분리.
  • 설정 화면의 어나운스 바 편집 시작·취소·저장 로직을 공통 helper 기반으로 정리.
  • 설정 저장 payload의 어나운스 바 설정 필드 정규화를 한 경로로 통합.

v1.11.38

  • 브랜드 설정 정규화·스냅샷 복사·변경 비교 로직을 lib/admin-brand-settings-section.js로 분리.
  • 설정 화면의 브랜드 컬러 입력 정규화와 편집 시작·취소·저장 로직을 공통 helper 기반으로 정리.
  • 설정 저장 payload의 브랜드 설정 필드 정규화를 한 경로로 통합.

v1.11.37

  • 스팸 필터 설정 정규화·스냅샷 복사·변경 비교 로직을 lib/admin-spam-settings-section.js로 분리.
  • 설정 화면의 스팸 필터 textarea 변환과 편집 시작·취소·저장 로직을 공통 helper 기반으로 정리.
  • 설정 저장 payload의 스팸 필터 필드 정규화를 한 경로로 통합.

v1.11.36

  • SNS 설정 정규화·스냅샷 복사·변경 비교 로직을 lib/admin-social-settings-section.js로 분리.
  • 설정 화면의 SNS 편집 시작·취소·저장 로직을 공통 SNS 설정 helper 기반으로 정리.
  • 설정 저장 payload의 SNS 설정 필드 정규화를 한 경로로 통합.

v1.11.35

  • POST 설정 정규화·스냅샷 복사·변경 비교 로직을 lib/admin-post-settings-section.js로 분리.
  • 설정 화면의 POST 설정 시작·취소·저장 로직을 공통 POST 설정 helper 기반으로 정리.
  • 설정 저장 payload의 POST 설정 필드 정규화를 한 경로로 통합.

v1.11.34

  • 관리자 설정의 블로그 제목·설명 카드에서 POST 설정에 속한 업로드 제한 입력을 제거.
  • 업로드 제한 표시·편집 위치를 POST 설정 카드로 단일화.
  • 설정 화면에서 블로그 제목·설명 카드로 전달하던 업로드 제한 선택지 props를 제거.

v1.11.33

  • 관리자 설정 내비게이션 검색·필터·스크롤 스파이 상태를 useAdminSettingsNavigation composable로 분리.
  • 설정 화면의 좌측 내비 구역 정의와 활성 구역 계산 로직을 페이지 컴포넌트에서 제거.
  • 설정 화면은 composable에서 받은 상태와 이벤트를 내비게이션 컴포넌트에 연결하도록 정리.

v1.11.32

  • 관리자 설정의 단순 섹션 저장 흐름을 saveSimpleSettingsSection 헬퍼로 정리.
  • 제목·사이트 정보·메인 화면·사이트 코드·광고 슬롯의 스냅샷 복사·복원·저장 후 편집 종료 반복 로직을 필드 목록 기반으로 통합.
  • 설정 화면의 카드 상태 로직을 이후 composable로 분리하기 쉽도록 공통 저장 경로를 정리.

v1.11.31

  • 관리자 설정 좌측 내비게이션을 AdminSettingsNavigation 컴포넌트로 분리.
  • 설정 검색 입력·검색 결과 목록·모바일 구역 선택 렌더링 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면은 검색 상태·활성 구역 계산·스크롤 이동 처리만 담당하도록 정리.

v1.11.30

  • 관리자 설정의 메인 화면 카드를 AdminHomeCoverSettingsCard 컴포넌트로 분리.
  • 라이트·다크 커버 미리보기·드롭존·파일 선택·오버레이 문구 입력 렌더링 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면은 메인 화면 편집 상태·저장 요청·커버 업로드 처리만 담당하도록 정리.

v1.11.29

  • 관리자 설정의 SNS 정보 카드를 AdminSocialSettingsCard 컴포넌트로 분리.
  • 관리자 설정의 어나운스 바 카드를 AdminAnnouncementSettingsCard 컴포넌트로 분리.
  • 설정 화면은 SNS·어나운스 바 편집 상태와 저장 요청만 담당하도록 정리.

v1.11.28

  • 관리자 설정의 사이트 정보 카드를 AdminSiteInfoSettingsCard 컴포넌트로 분리.
  • 로고 미리보기·로고 파일 선택·사이트 URL·저작권 문구 렌더링 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면은 사이트 정보 편집 상태·저장 요청·로고 업로드 처리만 담당하도록 정리.

v1.11.27

  • 관리자 설정의 블로그 제목·설명 카드를 AdminTitleDescriptionSettingsCard 컴포넌트로 분리.
  • 제목·설명 읽기 행, 편집 입력, 공개 화면 미리보기 렌더링 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면은 제목·설명 편집 상태·저장 요청·스냅샷 복원만 담당하도록 정리.

v1.11.26

  • 관리자 설정의 POST 설정 카드를 AdminPostSettingsCard 컴포넌트로 분리.
  • 수정일 표시·태그 최대 개수·공개 목록 표시개수·업로드 제한 렌더링 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면은 POST 설정 편집 상태·저장 요청·스냅샷 복원만 담당하도록 정리.

v1.11.25

  • 관리자 설정의 브랜드 컬러 카드를 AdminBrandSettingsCard 컴포넌트로 분리.
  • 브랜드 컬러 읽기 미리보기·색상 입력·텍스트 입력·예시 배지 렌더링 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면은 브랜드 컬러 정규화·편집 상태·저장 요청만 담당하도록 정리.

v1.11.24

  • 관리자 설정의 스팸 필터 카드를 AdminSpamSettingsCard 컴포넌트로 분리.
  • 가입 금지 닉네임 읽기·편집 textarea·저장 버튼 렌더링 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면은 스팸 필터 편집 상태·저장 요청·값 정규화만 담당하도록 정리.

v1.11.23

  • 관리자 설정의 최근 게시물 내보내기 작업 목록을 AdminPostExportJobList 컴포넌트로 분리.
  • Export 작업 상태·진행도·실패 상세·파일 선택·다운로드 버튼 렌더링 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면에서 더 이상 사용하지 않는 Export 파일 용량 포맷 함수를 제거.

v1.11.22

  • 관리자 설정의 게시물 내보내기 요청 카드를 AdminPostExportRequestCard 컴포넌트로 분리.
  • Export 범위·연도·월·직접 날짜·분할 옵션·요청 버튼 렌더링 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면은 Export 요청 body 생성·작업 등록·작업 목록 갱신만 담당하도록 정리.

v1.11.21

  • 관리자 설정의 게시물 가져오기 카드를 AdminPostImportCard 컴포넌트로 분리.
  • Import ZIP 파일 input·드롭존·작업 센터 버튼·적용 버튼 렌더링 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면은 Import 파일 검증·작업 생성 요청·작업 모달 연결만 담당하도록 정리.

v1.11.20

  • 관리자 설정의 사이트 용량 카드를 AdminBackupSummaryCard 컴포넌트로 분리.
  • 사이트 용량 콘텐츠·파일 용량 포맷팅과 행 계산 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면은 사이트 용량 데이터 조회·새로고침 이벤트 연결만 담당하도록 정리.

v1.11.19

  • 관리자 설정의 게시물 가져오기 작업 센터 모달을 AdminPostImportJobModal 컴포넌트로 분리.
  • Import 작업 상태 라벨·진행률·게시물별 행 렌더링 책임을 설정 화면에서 하위 컴포넌트로 이동.
  • 설정 화면은 Import 작업 선택·새로고침·삭제 이벤트 연결만 담당하도록 정리.

v1.11.18

  • 게시물 Import를 단일 요청 처리에서 DB job 기반 백그라운드 작업으로 전환.
  • 관리자 설정의 게시물 가져오기에 작업 센터 모달 추가.
  • Import 작업 센터에서 게시물별 대기·진행중·완료·스킵·오류 상태와 진행률 표시.
  • Import 작업 원본 ZIP을 작업 폴더에 보관하고 완료·실패 작업 삭제 시 함께 제거하도록 추가.
  • Import 참조 자산 누락 시 게시물을 생성하지 않고 해당 게시물 행을 오류로 남기도록 수정.
  • 서버 시작·주기 확인 시 대기 중이거나 중단된 Import 작업 재개 처리 추가.
  • 작업용 _import-jobs ZIP 경로가 공개 업로드 라우트에서 제공되지 않도록 차단.

v1.11.17

  • 게시물 Import에서 이미 같은 slug가 있는 게시물은 새 slug로 복제하지 않고 건너뛰도록 수정.
  • Import 재시도 시 건너뛴 게시물의 자산은 다시 저장하지 않고, 같은 ZIP 자산 또는 같은 해시의 기존 저장 파일은 재사용하도록 보완.
  • 관리자 게시물 가져오기 UI에 진행 중 안내와 가져옴·건너뜀·신규 자산·재사용 자산 결과 요약 추가.

v1.11.16

  • 태그 추천 연속 선택, 관리자 미디어 파생 탭 역할 배지, 단일 이미지 {size=} 표시 너비 회귀를 확인하는 Playwright E2E 테스트 추가.
  • 단일 이미지 너비 테스트는 공개 게시물 화면과 관리자 글쓰기 미리보기 화면을 함께 검증하도록 구성.

v1.11.15

  • 관리자 설정 화면의 업로드 제한·SNS 아이콘·공개 표시개수·게시물 내보내기 범위 select를 공용 AdminSelectInput으로 정리.
  • 설정 화면 select 옵션을 { value, label } 구조로 모아 반복 마크업과 chevron SVG 중복 제거.

v1.11.14

  • 관리자 멤버 고급 필터의 필드·조건·상태 선택 입력을 공용 AdminSelectInput 기준으로 정리.
  • 멤버 필터 필드 변경 시 조건·값 초기화 동작을 유지하면서 select 마크업 중복 제거.

v1.11.13

  • 게시물 Export frontmatter에 대표 이미지 본문 상단 표시 여부(show_featured_image) 추가.
  • 기존 Export ZIP Import 시 show_featured_image가 없어도 기본값 false로 게시물을 생성하도록 수정.

v1.11.12

  • 관리자 팝오버 표면 스타일을 공용 AdminPopoverSurface 컴포넌트로 분리.
  • 글쓰기 태그 추천, 게시글 태그 필터, 페이지 섹션 추천, 멤버 작업 메뉴, 행 더보기 메뉴의 반복 border·shadow·radius 마크업 정리.

v1.11.11

  • 관리자 일반 모달 오버레이·패널을 공용 AdminModalFrame 컴포넌트로 분리.
  • 미디어 폴더 생성과 네비게이션 생성·페이지 섹션·페이지 순서·추천 사이트 편집 모달의 반복 wrapper 제거.

v1.11.10

  • 관리자 페이지네이션 계산 로직을 lib/admin-pagination.js 순수 함수로 분리.
  • 관리자 페이지네이션 페이지 보정·ellipsis 계산 단위 테스트 추가.

v1.11.9

  • 관리자 공용 select 입력이 숫자 옵션 값을 보존하도록 보완.
  • 관리자 미디어 표시 개수 select를 공용 AdminSelectInput으로 교체.
  • 관리자 미디어 종류·사용 상태 필터를 공용 AdminFilterPillGroup 컴포넌트로 분리.

v1.11.8

  • 관리자 목록 select 입력을 공용 AdminSelectInput 컴포넌트로 분리.
  • 게시글·페이지 목록의 상태·추천·노출·정렬 필터 select 마크업과 chevron 중복 제거.

v1.11.7

  • 관리자 목록 검색 입력을 공용 AdminSearchInput 컴포넌트로 분리.
  • 게시글·페이지·미디어·멤버 목록의 검색 입력 마크업과 IME 이벤트 연결 중복 제거.

v1.11.6

  • 관리자 번호형 페이지네이션을 공용 AdminPagination 컴포넌트로 분리.
  • 게시글 목록과 미디어 목록의 페이지 버튼 계산·렌더링 중복 제거.

v1.11.5

  • 관리자 토스트 표시 마크업을 공용 AdminToast 컴포넌트로 분리.
  • 관리자 화면별 반복 토스트 클래스와 상태 표시 DOM을 AdminToast 사용으로 통일.

v1.11.4

  • 관리자 게시글 목록 행 메뉴를 공용 AdminRowMoreMenu와 useAdminRowMenu 기준으로 통일.
  • 게시글 목록의 중복 행 메뉴 위치 계산·Teleport 렌더링 로직 제거.

v1.11.3

  • v1.11 내부 개선 TODO 추가.
  • 현재 코드에서 참조되지 않는 구형 AdminBlockEditor.vue 제거.
  • 파일-화면 매핑 문서를 현재 구현 기준 표현으로 정리.
  • v1.11 내부 개선 TODO에서 구형 블록 에디터 검토 항목 완료 처리.
  • 게시글 작성·수정, 페이지 작성·수정, 태그 목록, 사이트 설정 토스트를 공용 useAdminToast 기준으로 통일.

v1.11.2

  • 관리자 미디어 카드 썸네일 탭 명칭을 대표 이미지로 변경.
  • 관리자 미디어 파생 탭 전환 중 본문·카드 역할 배지가 잠깐 나타나는 표시 문제 수정.

v1.11.1

  • 관리자 글쓰기 태그 추천 선택 후 남은 후보 목록이 유지되도록 수정.

v1.11.0

  • 블로그 게시용 업데이트 기록 v1.11 초안 작성(v1.10 개발 구간 정리).
  • 관리 버전을 1.11.0으로 올리고 이후 패치는 1.11.1부터 진행하도록 기준점 정리.
  • v1.10.88까지의 품질·보안·미디어 카탈로그 database 전환 내용을 minor 릴리스로 마감.
  • docs/update-log v1.0~v1.11을 방문자 체감 중심으로 재작성. 관리자·내부 절차·광고/수익 안내 제거.
  • update-log 작성 기준을 docs/convention.md에 추가.
  • v1.1~v1.11 서두를 안녕하세요. sori.studio입니다. 형태로 통일하고 조금 늦게 정리하는·이번 업데이트에서는 반복 문구를 정리.
  • v1.1~v1.11 하단 한 줄 요약 제거(서두 요지와 중복).
  • update-log 각 버전에 minor(.0) 릴리스 날짜 추가.
  • update-log 제목을 sori.studio vX.Y 업데이트 — {짧은 요약} 형식으로 변경.

이전 이력