• LINKS 0.16 — 개인 라이브러리·UI 개선·런타임 통합

    LINKS 0.16

    이전 릴리즈 0.15 대비 변경 사항입니다. 루트 패키지는 0.16.0, ARCA는 0.1.11 → 0.1.13입니다.

    사용자 화면

    • 북마크를 개인 라이브러리로 전환했습니다. 기존 저장 항목을 유지하며 홈에서는 저장, 라이브러리에서는 게임 선택 후 실행하는 흐름을 제공합니다. 직접 실행 주소도 UI에서 저장 여부를 확인합니다.
    • PC 라이브러리는 좌측 제목 목록·검색과 우측 상세·실행 패널로 구성했습니다. 모바일은 목록과 상세를 전환하고 목록 복귀 시 키보드 초점을 복원합니다. 기존 /bookmarks 주소도 유지합니다.
    • 원본이 누락된 게임은 라이브러리 상세에서 메타데이터·실행 준비를 요청하지 않고 기존 요약과 누락 안내를 표시합니다.
    • 상세의 중복 게임 소개·전체 보기 링크를 제거하고 작품 내용은 기본으로 접습니다. 저장 버튼의 글자 잘림, 라이브러리 이동 버튼의 정렬·여백을 수정했습니다.
    • 최근 실행 목록, 판본별 설치본 선택, 표지·샘플 갤러리와 지연 로딩을 추가·개선했습니다. 같은 이미지 URL에서도 선택한 항목의 제목을 유지합니다.
    • 카탈로그·상세·라이브러리를 기능별 모듈로 분리하고 검색·필터·페이지 복원, 긴 제목·작은 화면·키보드 조작을 개선했습니다.
    • 관리자 스캔·수집 상태, 연결 검토, 컨테이너 로그, 신고 목록과 패스키 관리의 로딩·빈 상태·오류·재시도·초점 처리를 정리했습니다.

    실행과 저장

    • ARCA 0.1.13의 공개 빠른 재시작 API를 연결해 지원되는 VX/VX Ace 실행에서 Worker와 canvas를 유지합니다. 저장 실패 후 실행 복구와 세션 거절·지연 callback 격리를 보강했습니다.
    • 실행 준비 화면에 게임 식별 정보와 진행 상태를 표시하고 로그인 만료 후 재인증 동선, 전체화면 거절·음량/재시작 미지원 안내를 개선했습니다.
    • RTP는 수동 사용 승인 없이 자동 준비·검증합니다. 수동 승인 API·관련 job 필드·DB action table을 제거했습니다.
    • ARCA release는 앱 이미지에 포함된 exact npm pin을 사용합니다. 별도 release mount fallback, 구 LINKS RGSS pack builder, hostname/form/cookie 기반 구형 Player 경로를 제거하고 현행 sandbox·Bearer bridge와 frontend에 결속된 형식으로 통합했습니다.
    • 런타임 DB payload를 별도 모듈로 분리하고 더 이상 쓰지 않는 구현·의존성·검증 경로와 문서 중복을 정리했습니다.

    업데이트 시 확인

    • migration 0053_remove_rtp_usage_approvals가 구 수동 RTP 승인 action table을 제거합니다. 업데이트 전 기존 백업 절차를 따르세요. 원본 게임·save를 삭제하거나 변환하는 migration은 아닙니다. 구 버전으로 되돌릴 때는 이미지 태그만 바꾸지 말고 삭제된 table에 대한 DB 호환성과 이전 백업 복원 필요성을 함께 확인해야 합니다.
    • RGSS build payload·Player manifest·host launch는 현행 v2만 수용합니다. Web static inspection은 v3만 수용합니다. 구형 실행 자료는 자동 변환되지 않으며 현행 경로로 다시 준비해야 합니다.
    • LINKS_PLAYER_BASE_DOMAIN, LINKS_RGSS23_RELEASE_SOURCE 및 구 release mount 설정을 제거했습니다. Compose와 ops 파일을 함께 갱신하고 catalog·Player·관련 runtime worker가 동일 릴리즈 이미지를 사용하도록 배포해야 합니다.
    • 원본 게임, 저장 데이터, RTP 캐시를 초기화할 필요는 없습니다. 이번 요청은 이미지 게시까지이며 NAS 운영 서비스 배포는 별도입니다.

    검증

    • Docker Compose 전체 build·format·lint·typecheck·문서 검사: PASS.
    • 전체 unit: 87 files / 496 tests PASS.
    • 격리 PostgreSQL schema: 5 files / 62 tests PASS. fresh/upgrade·migration 멱등성 및 API 권한·사용자 격리를 포함합니다.
    • 라이브러리·상세 합성 UI: Chromium/Firefox의 PC·태블릿·모바일, 저장·선택·실행·제거·실패 재시도·직접 실행 차단·글자 잘림과 버튼 정렬 검사 PASS.
    • 개발 적용 빌드의 저장→라이브러리→실행 동선과 실패 후 중복 실행 방지: PASS.
    • 격리 카탈로그 전체 통합 검사: PASS, console/page/request/server 오류 0건. 구 UI 검증 조건을 갱신하고 누락된 설치본의 메타데이터 404를 수정했습니다. 첫 실패 evidence는 보존했습니다.
    • 실제 게임 입력·오디오·서버 저장/복원 전체 acceptance 및 NAS 배포: NOT RUN. 합성 UI와 package/build 성공을 실제 게임 지원 완료로 간주하지 않습니다.

    게시 정보

    • Git main 및 주석 태그 0.16의 소스 커밋: 0b4326a119
    • 이미지: git.2ex.dev/hanyul/links:0.16 및 latest
    • 두 원격 이미지 태그의 동일 digest: sha256:ee3464936410b77ce4c75776cf85a5d768d603b512b094b7bf97b87b7fa5c0ac
    • 플랫폼: linux/amd64
    • 전체 171개 변경 파일을 포함했으며 Git 작업 폴더는 clean입니다.
    Downloads 2