글쓰기 초안 저장 상태 보정

This commit is contained in:
2026-07-03 11:23:04 +09:00
parent 955ae90697
commit 243dfbc5e2
9 changed files with 99 additions and 10 deletions

View File

@@ -1,5 +1,11 @@
# 의사결정 이력
## 2026-07-03 v1.10.24 — 글쓰기 저장 기준은 실제 저장 필드만 본다
관리자 글쓰기 폼은 저장 payload에 태그 표시명 보조값(`tagNames`)을 함께 담아 새 태그 이름을 만들 수 있게 한다. 하지만 기존 태그의 표시명은 태그 API가 늦게 도착하면 슬러그에서 실제 이름으로 바뀔 수 있고, 이 값까지 미저장 비교에 포함하면 사용자가 아무것도 하지 않아도 비공개·멤버십 글에서 이탈 경고와 `Update` 활성화가 발생한다. 따라서 미저장 비교는 제목, 본문, 상태, 태그 슬러그처럼 실제 게시물 저장 상태를 바꾸는 필드만 기준으로 한다.
신규 글은 첫 자동 저장이 `POST`로 DB 행을 만든 뒤 편집 URL로 이동한다. 이 사이에 사용자가 내용을 더 입력하면 새 편집 화면이 첫 요청 payload만 받아 최신 입력이 사라질 수 있으므로, 첫 `POST` 직후 현재 폼 payload를 다시 읽고 차이가 있으면 생성된 글에 `PUT`으로 최신 값을 반영한 뒤 이동한다. 이동 중에는 짧은 안내 오버레이를 띄워 첫 초안 저장이 진행 중임을 명확히 한다.
## 2026-07-03 v1.10.23 — 관리자 글 목록은 서버에서 먼저 자른다
하루에 수십 개씩 이전 글을 추가하면 관리자 글 목록은 곧 수천 건 규모가 된다. 목록 화면이 전체 글을 한 번에 받은 뒤 브라우저에서 검색·필터링하면 응답 크기뿐 아니라 태그 필터와 정렬 계산도 글 수에 비례해 커진다. 따라서 글 목록 화면은 `/admin/api/posts?paged=true` 응답을 사용해 서버에서 검색·상태·태그·추천·정렬 필터와 페이지네이션을 먼저 적용한다.