• 4.3.0 — 디자인 개선, 북마크 상세 보기, 검색창 태그 Backspace, Redis 공식 이미지

    4.2.1 대비 변경사항

    새 기능

    • 북마크에서 갤러리 상세 보기 — 북마크(갤러리 탭, 작가·그룹 북마크 안의 갤러리)에서 갤러리를 누르면 뷰어로 바로 들어가지 않고 홈과 같은 상세 모달이 열립니다. 뷰어는 모달의 읽기 버튼으로 들어가고, 닫기·Escape·뒤로 가기는 모달만 닫습니다.
    • 검색창 태그 Backspace 삭제 — 검색창에 태그가 들어간 상태에서 입력칸이 비어 있거나 커서가 맨 앞일 때 Backspace를 누르면 마지막 태그가 지워집니다(제외 태그 → 포함 태그 순, 한글 조합 중에는 동작하지 않음).
    • 가비지 컬렉션 상태 배지 — 운영 관리의 가비지 컬렉션 섹션 제목에도 Hitomi·E-Hentai·이미지 색인처럼 상태 배지(대기·집계 중·정리 중·수집 대기·색인 대기·오류 등)가 표시돼 접은 상태에서도 상태를 알 수 있습니다.
    • 오류·404 화면 — 앱 오류와 없는 페이지에 한국어 안내 화면(다시 시도·홈으로)을 추가했습니다.

    디자인 개선

    콘텐츠(썸네일)가 주인공인 개인 서재에 맞게, 과하지 않고 일관된 화면으로 정리했습니다.

    • 강조색 하나: 잉크(중립) 주 버튼으로 통일하고 파랑은 포커스·링크·진행률·선택 표시에만 씁니다.
    • 다크 모드: 페이지·표면·입력의 회색 단계를 정리했습니다. 입력창·선택 칩·태그 틴트는 충분히 밝게 조정했습니다.
    • 공용 컴포넌트: 버튼·입력·탭(segmented)·카드·배지·알림·로딩·빈 상태·모달의 모양과 크기(높이·모서리·글자 크기)를 통일했습니다. 모달은 같은 배경·제목·닫기 버튼을 씁니다.
    • 화면별: 상단 메뉴·홈 툴바(툴바와 갤러리 목록의 왼쪽 선 정렬)·카드·상세 모달·뷰어·설정·로그인·대시보드(삭제가 가장 강조되지 않게)·북마크·차단 관리·계정 보안·운영 관리 전체.
    • 세부 조정: 카테고리 배지 채도를 낮추고 태그와 구분, 모바일 상세 모달에서 태그가 첫 화면에 보이게, 다크 모드 선택 항목 대비 강화, 모바일 메뉴 서버 상태 아이콘 정리.
    • 기능·API·데이터 동작은 바꾸지 않았습니다(위 새 기능 제외).

    인프라

    • Redis 공식 이미지 — 자체 빌드하던 redis 이미지(redis.conf만 추가)를 공식 redis:8.10 태그와 compose 명령 인자로 바꿨습니다. Redis 기본값과 다른 설정 4개(maxmemory 448mb, allkeys-lru, appendonly yes, save 900 1 300 10 60 10000)만 유지합니다. .env 변경은 없고 데이터(data/redis)는 그대로 씁니다. 자체 게시 이미지는 5개(byedpi·nginx·backend·crawler·web)가 됩니다.

    새 사용자 기능이 추가되어 minor 버전입니다. DB 스키마·migration·환경 변수·API 계약 변경은 없습니다.

    이미지 게시 범위

    운영 빌드 입력 지문을 4.2.1 시점 latest와 대조해 web만 새로 빌드하고 4.3.0·latest를 게시했습니다(publish-images.ps1 -ChangedOnly). byedpi·nginx·backend·crawler는 입력이 같아 기존 latest digest를 유지하며 4.3.0 태그를 추가하지 않았습니다. redis는 이제 공식 redis:8.10 이미지를 쓰므로 자체 게시 대상에서 빠졌습니다(레지스트리의 기존 2ex-hentai-redis 이미지는 그대로 둡니다).

    NAS 업데이트

    compose.yml(redis 이미지·명령)이 바뀌었으므로 저장소를 먼저 갱신한 뒤 배포 스크립트를 실행합니다.

    cd /volume1/2ex-hentai
    git pull
    docker login git.2ex.dev
    sh ops/deploy-production.sh
    docker compose --env-file .env.production ps
    
    • deploy-production.sh는 전체 pull을 먼저 마친 뒤 설정·digest가 바뀐 서비스(redis·web)만 교체합니다. .env.production은 그대로 둡니다. NAS가 Docker Hub(redis:8.10)에 접근할 수 있어야 합니다.
    • redis는 같은 data/redis(AOF)를 8.10으로 다시 읽습니다. 개발 환경에서 키 유지와 설정값 동일을 확인했습니다. Watchtower가 켜져 있으면 이후 8.10.x 패치 릴리스가 자동 적용됩니다.
    • 4.2.1의 Silo 전환을 아직 적용하지 않았다면 이번 업데이트에 함께 포함되므로 Silo 운영 전환의 데이터 보존 절차를 먼저 따르세요.
    • 이 릴리스는 변경 서비스에만 버전 태그가 있으므로 IMAGE_TAG로 전체 서비스를 일괄 지정할 수 없습니다.

    4.2.1 대비 전체 변경

    검증

    • Docker run-unit.ps1 -Workspace web 통과(99 suites·689 tests).
    • run-integration.ps1 전체 통과(3a22928d main 기준): API·Backend·crawler runtime·GC·Push·브라우저(북마크 상세 모달 흐름 포함). 2026-09-06 이후 처음으로 전체가 통과해 홈 1440px grid 검사 PARTIAL 상태가 해소됐습니다(기존 실패는 측정 방식 문제).
    • image-search·운영 UI 격리 runner, run-operations.ps1 -DeploymentOnly·-SkipBuild(개발 Redis maxmemory 검사 포함) 통과.
    • 디자인: 23개 화면 × 1440/390px × 라이트/다크 before/after 캡처 비교, 회귀 수정, 주요 색 대비 계산(태그 틴트 5.27:1 이상, 카테고리 배지 6.4:1 이상).
    • 개발 서버에 web 적용 후 정상 동작 확인. 실제 모바일 기기·가상 키보드 확인과 NAS 배포는 실행하지 않았습니다.

    게시 확인

    • 릴리스 소스: 3a22928d9417370bccc6e86479d9c147a87d9d6b (주석 태그 4.3.0).
    • web 4.3.0·latest digest: sha256:9e34ab48609089a58c786aa0c0e66830458ebec634bf6c592379420d643dc495.
    • 이미지 OCI version 4.3.0·revision 3a22928d 확인. byedpi·nginx·backend·crawler는 기존 latest digest 유지·4.3.0 태그 부재 확인.
    Downloads 2