Commit Graph
100 Commits
Author SHA1 Message Date
Hide_D f20fb9408d perf(game-ui): 대규모 장수일람 초기 렌더링을 줄인다
현재 화면 폭에 필요한 표 또는 카드만 마운트하고 화면 밖 장수 얼굴은 지연 로딩한다. PYA 규모 845명 Chromium 회귀로 레이아웃 전환과 요청 수 경계를 고정한다.
2026-08-25 02:11:47 +00:00
Hide_D 36b4087382 merge: 최신 main의 RESET 검증 병합 이력을 통합한다 2026-08-25 01:20:08 +00:00
Hide_D 2d711d0bab fix(frontend): NPC 장수명 색상을 Ref와 일치시킨다
암행부와 국가 장수 목록의 잘못되거나 누락된 색상을 공통 팔레트로 통일한다.
명령 대상, 토너먼트와 베팅 응답에도 npcState를 전달해 같은 표시 계약을 적용한다.
데스크톱과 모바일 Chromium 회귀 테스트로 상태별 색상을 검증한다.
2026-08-25 01:18:27 +00:00
Hide_D 9014661bae merge: PYA RESET seed 산출물 검증을 main에 반영한다 2026-08-25 01:07:05 +00:00
Hide_D 7af1f63a8e merge: 최신 main의 RESET 산출물 검증을 통합한다 2026-08-25 01:06:35 +00:00
Hide_D 93684f12fa fix(gateway): RESET seed 산출물 재사용을 검증한다
DB 보존 DEPLOY가 만든 부분 빌드 worktree를 RESET-ready로 오인하지 않도록 실제 game API와 profile seed entrypoint를 확인한다. seed 전환 전 built CLI도 재검증해 산출물 누락 시 기존 runtime을 먼저 내리지 않는다.
2026-08-25 00:59:15 +00:00
Hide_D b3971c3696 merge: 관리자 계정 식별자와 카카오 영구 교체를 반영한다 2026-08-24 23:26:58 +00:00
Hide_D 10cd1ed6d4 feat: 관리자 계정 식별자와 카카오 영구 교체 지원
관리자 승인과 사용자 OAuth 증명을 분리하고 기존 Kakao stable ID를 영구 폐기한다. 로그인 ID와 닉네임 변경은 현재 장수에 revision 기반으로 투영하며 과거 기록은 당시 이름으로 보존한다.
2026-08-24 23:25:49 +00:00
Hide_D e8dc7a65aa merge: Game API 명령 전수 Ref 호환 검증을 반영한다 2026-08-24 22:16:19 +00:00
Hide_D d4277d114b test: full precision 명령의 Ref 투영 경계를 고정한다 2026-08-24 22:16:08 +00:00
Hide_D f08e154745 merge: 최신 main의 수치 상태 정책을 통합한다 2026-08-24 21:27:26 +00:00
Hide_D 6ed9c9ca3b test: 수뇌 연구 행렬의 빈 meta 형식을 고정한다 2026-08-24 21:27:18 +00:00
Hide_D 2ba7ab8579 docs: 조건부 통합 검증의 생략 판정을 명시한다 2026-08-24 20:44:04 +00:00
Hide_D a7be2c7377 test: 조건부 통합 검증의 부분 생략을 차단한다 2026-08-24 20:27:47 +00:00
Hide_D 77dc53b424 fix: 부분 시계 메시지 만료의 재등장을 막는다 2026-08-24 20:26:00 +00:00
Hide_D 8872ce89b8 test: 수뇌 일괄 입력의 공통 검증 순서를 고정한다 2026-08-24 19:54:17 +00:00
Hide_D 8ffeb65532 docs: 메시지 mutation 검증 범위를 바로잡는다 2026-08-24 19:48:53 +00:00
Hide_D abdf207e66 fix: 장수 명령의 Ref 로그 형식을 복원한다 2026-08-24 19:48:47 +00:00
Hide_D 0e10b64fb7 fix: 예약 명령의 Ref 인자 검증 순서를 복원한다 2026-08-24 19:48:43 +00:00
Hide_D 97b7c49070 fix: 외교 메시지의 시계 fallback과 fixture 경계를 복원한다 2026-08-24 19:48:38 +00:00
Hide_D 04101ba862 test: Ref 명령 행렬 fixture의 결정성을 보강한다 2026-08-24 19:45:32 +00:00
Hide_D 9af2546c04 merge: 과도한 수치 호환 보정 제거를 반영한다 2026-08-24 19:18:05 +00:00
Hide_D 60dcf815ea refactor(logic): 과도한 수치 호환 보정을 제거한다
Core 수치 상태는 JavaScript와 PostgreSQL의 자연 정밀도를 유지한다. 정수 상태 경계와 절삭, 수입 배분 및 사망자 분할 순서는 보존한다.
2026-08-24 19:17:06 +00:00
Hide_D 7deb94549f test: 인증 명령 통합 fixture에 actor를 연결한다 2026-08-24 16:37:39 +00:00
Hide_D 3f554de586 merge: 최신 main의 내부 예약 명령 경계를 반영한다
# Conflicts:
#	app/game-api/src/router/turns/index.ts
2026-08-24 16:31:39 +00:00
Hide_D a9e2431115 test: 실제 Game API 명령 전수 근거를 고정한다 2026-08-24 16:30:48 +00:00
Hide_D cca2b3d925 fix: API 입력 이벤트의 원자적 재실행을 보장한다 2026-08-24 16:30:38 +00:00
Hide_D 604e8fdaf2 fix: 외교문서와 수뇌 예약의 Ref 계약을 복원한다 2026-08-24 16:30:33 +00:00
Hide_D fc9fa0c9a6 merge: 내부 전용 예약 명령 실행 경계를 반영한다 2026-08-24 16:03:44 +00:00
Hide_D 5b6a673f20 merge: 최신 main을 내부 예약 명령 변경에 통합한다 2026-08-24 16:02:47 +00:00
Hide_D 9fe1f1878a fix: 내부 전용 예약 명령 실행 경계를 분리한다 2026-08-24 16:02:35 +00:00
Hide_D 86fa7885af merge: 최신 main을 메인 시계 상태 변경에 반영한다 2026-08-24 15:50:44 +00:00
Hide_D 83edf7d956 feat: 메인 시계를 턴 엔진 상태로 표시한다 2026-08-24 15:50:22 +00:00
Hide_D 2d88f3baf9 merge: Gateway 최근 턴 일반 글꼴 복원을 반영 2026-08-24 15:43:22 +00:00
Hide_D 4b2460c44c fix(gateway): 최근 턴 글꼴을 일반 글꼴로 복원
공개 현황 이력이 Gateway 본문의 Pretendard 글꼴을 상속하게 하고, serif 재유입 검사와 실제 Chromium computed font 검증을 추가한다.
2026-08-24 15:42:32 +00:00
Hide_D b5763290d2 merge: 예약 초기화 중간 버전 업데이트를 반영한다 2026-08-24 13:29:44 +00:00
Hide_D 227b4f45f0 merge: 최신 main을 예약 초기화 중간 업데이트에 반영한다 2026-08-24 13:23:34 +00:00
Hide_D ce0c9e257d feat: 예약 초기화 중간 버전 업데이트를 허용한다
미래 예약 RESET을 보존하면서 DB 유지 DEPLOY 한 건을 별도 queue lane에 등록한다. 예약 시각까지 시작되지 않은 중간 배포는 RESET claim 전에 자동 취소하고 관리자 화면에 이 경계를 안내한다.
2026-08-24 13:22:19 +00:00
Hide_D d01319a4a8 merge: NPC 생명주기 메모리 프로파일을 반영한다 2026-08-24 13:03:24 +00:00
Hide_D 02f5b015fb merge: 최신 main을 NPC 생명주기 메모리 작업에 반영한다 2026-08-24 13:02:28 +00:00
Hide_D f9cb60a50f perf: NPC 생명주기 메모리 프로파일과 큐 정리를 추가한다 2026-08-24 13:02:19 +00:00
Hide_D a51a9bfc04 merge: 자동 선포의 유저국 국력 우선도를 고정한다 2026-08-24 12:36:57 +00:00
Hide_D f59fe782c8 test: 자동 선포의 유저국 국력 우선도를 고정한다
Ref 월간 국력 산식의 유저 장수 통솔 기여와 자동 선포 역가중 연결을 대칭 역할 교환 회귀로 검증한다. 선포 단계에 중복 배율을 추가하지 않도록 계약도 명시한다.
2026-08-24 12:35:57 +00:00
Hide_D 8ef93ecadc merge: 특수 유저 커맨드 호환 검증을 반영한다 2026-08-24 12:12:44 +00:00
Hide_D 622e857925 merge: 최신 main을 특수 유저 커맨드 호환 브랜치에 반영한다 2026-08-24 12:11:04 +00:00
Hide_D 630bc29100 fix: 특수 유저 커맨드의 Ref 호환 경계를 보강한다
수뇌 국가 설정과 NPC 정책을 actor-bound ENGINE mutation으로 옮기고, 추방·등용·점령·멸망·아이템 폐기의 특수 분기를 Ref와 맞춘다.

요청 ID를 사용자·프로필별로 격리하고 토너먼트 손상 projection을 fail-closed하며 실제 DB 및 Ref 차등 회귀를 보강한다.
2026-08-24 12:10:57 +00:00
Hide_D 5248fd68d4 merge: NPC 자동 선포의 유저국 대상 조건을 맞춘다 2026-08-24 10:26:45 +00:00
Hide_D 375670277f merge: 최신 main을 NPC 자동 선포 호환 브랜치에 반영한다 2026-08-24 10:25:53 +00:00
Hide_D 91848f3f6f fix: NPC 자동 선포에서 방랑 유저국을 제외한다
Ref GeneralAI와 같이 level 0 방랑군을 가중 선포 후보에서 제외한다. 정식 유저국과 NPC국은 같은 가중치를 유지하고 후보 및 RNG 순서를 회귀 테스트로 고정한다.
2026-08-24 10:25:40 +00:00
Hide_D a29b927908 merge: 턴 데몬 메모리 재발 방지 계측을 반영한다 2026-08-24 10:24:40 +00:00
Hide_D 4a3410d810 feat: 턴 데몬 메모리 계측을 추가한다
RSS와 V8 heap, 월드 entity 수를 bounded 로그로 기록하고 heap 상한 80% 이상을 경고한다.
2026-08-24 10:24:21 +00:00
Hide_D 5389f8ed94 merge: 실제 transport 권한과 커맨드 내구 행렬을 main에 반영한다 2026-08-24 09:45:04 +00:00
Hide_D b41fac08c1 test: 최신 아이콘과 동시 선택 fixture를 교정한다 2026-08-24 09:42:25 +00:00
Hide_D 98db74491f merge: 최신 main을 transport 권한과 durable 검증에 최종 통합한다 2026-08-24 09:19:08 +00:00
Hide_D d6a9a426fb docs: Game API daemon transaction inventory를 현재화한다 2026-08-24 09:18:58 +00:00
Hide_D 69000d4cb9 test: 조건부 통합 fixture의 시계와 소유권을 격리한다 2026-08-24 09:18:52 +00:00
Hide_D 7a1254cb3a fix: 투표 UTC wall과 migration 시간대 경계를 고정한다 2026-08-24 09:18:42 +00:00
Hide_D 821b8a0723 fix: NPC 빙의 seed를 Ref 논리 tick과 일치시킨다 2026-08-24 09:18:08 +00:00
Hide_D 24a38a097d merge: NPC 정책 권한 버튼 재검사를 main에 반영한다 2026-08-24 08:56:50 +00:00
Hide_D 5088daa396 fix(frontend): NPC 정책 실행 버튼 권한을 재검사한다
조회 전용 사용자는 정책 초안을 계속 편집할 수 있게 유지하고, 수정 권한이 없으면 초깃값·이전값·설정 버튼을 DOM과 핸들러 양쪽에서 차단한다. Chromium 회귀에서 disabled 상태와 초안 보존을 확인한다.
2026-08-24 08:54:57 +00:00
Hide_D b2b9186148 merge: 외교권자와 조언자 복수 임명을 main에 반영한다 2026-08-24 08:47:44 +00:00
Hide_D a6f1fcf784 merge: 최신 main을 외교 권한 복수 임명 수정에 최종 통합한다 2026-08-24 08:47:05 +00:00
Hide_D 4671c48a8a merge: 최신 main을 Ref 전용 아이콘 검증 제외에 통합한다 2026-08-24 08:46:04 +00:00
Hide_D cd0f50f89d fix(migration): 검증 실패 아이콘을 명시적으로 제외한다
검토한 회원 번호의 이미지가 계속 유효성 조건을 어길 때만 업로드에서 제외한다. 기존 Ref 경로가 현재 선택인 경우 기본 아이콘으로 정리하고 최신 Core 선택은 보존한다.
2026-08-24 08:45:47 +00:00
Hide_D 210bc554e8 merge: 병합 직전 main을 외교 권한 복수 임명 수정에 통합한다 2026-08-24 08:44:53 +00:00
Hide_D e8c9546d3a merge: 메시지 삭제 tombstone 호환을 main에 반영한다 2026-08-24 08:44:14 +00:00
Hide_D 006209bbe8 merge: 최신 main을 메시지 tombstone 변경에 다시 통합한다 2026-08-24 08:42:38 +00:00
Hide_D 68a3186de3 merge: 최신 main을 외교 권한 복수 임명 수정에 다시 통합한다 2026-08-24 08:42:30 +00:00
Hide_D b3f5553882 merge: 유저 장수 preset 아이콘 차단을 main에 반영한다 2026-08-24 08:41:28 +00:00
Hide_D 7ef48426ff merge: 최신 main을 유저 preset 아이콘 차단에 통합한다 2026-08-24 08:41:19 +00:00
Hide_D 4335f12915 merge: 자원 수입 문구 반올림을 main에 반영한다 2026-08-24 08:40:09 +00:00
Hide_D b8b7f7e356 merge: 최신 main을 메시지 tombstone 변경에 통합한다 2026-08-24 08:39:39 +00:00
Hide_D 98d9115a61 fix: 삭제 메시지를 tombstone으로 보존한다
메시지 삭제 시 유효기간을 만료시키지 않고 본문을 삭제 안내로 치환해 송수신 행을 유지한다. 외교 메시지 조회 권한 부족은 삭제 상태와 분리하고 API, PostgreSQL 통합, Chromium 회귀 검증을 추가한다.
2026-08-24 08:39:10 +00:00
Hide_D 833ade670c fix: 유저 장수 preset 아이콘 적용 차단
사람 장수는 활성 전용 아이콘 ID를 명시한 경우에만 사용자 아이콘을 사용한다. 일반 생성, 선택 pool, Gateway 서버 동기화의 대표·후보 preset fallback을 제거하고 회귀 검증을 추가한다.
2026-08-24 08:38:50 +00:00
Hide_D 3627dfed92 merge: 최신 main을 외교 권한 복수 임명 수정에 통합한다 2026-08-24 08:38:45 +00:00
Hide_D 87e565ae72 fix(game): 외교권자와 조언자 복수 임명 UI를 복원한다
Ref처럼 역할별 후보를 분리하고 클릭과 터치만으로 최대 두 명을 선택할 수 있게 한다. API 후보·엔진 payload·모바일 Chromium 회귀를 함께 고정한다.
2026-08-24 08:38:38 +00:00
Hide_D 669caf2f94 merge: 최신 main을 자원 수입 문구 수정에 통합한다 2026-08-24 08:37:16 +00:00
Hide_D a46b42d2ce merge: 추방 보호 대상 차단을 main에 반영한다 2026-08-24 08:36:34 +00:00
Hide_D 7596c6bdc6 fix(game): 자원 수입 문구를 정수로 반올림한다 2026-08-24 08:35:02 +00:00
Hide_D 6f19869f0f merge: 최신 main을 추방 보호 변경에 통합한다 2026-08-24 08:34:36 +00:00
Hide_D c6459a64dd fix: 추방 보호 대상을 서버에서 차단한다
인증된 실행자와 현재 world의 대상을 기준으로 본인, 군주, 수뇌, 외교권자를 mutation 전에 거부한다. 인사부 후보와 엔진 무변경 회귀, 실제 Chromium 후보 검증을 함께 추가한다.
2026-08-24 08:33:57 +00:00
Hide_D c88a8de9bc merge: 최신 main을 Ref 전용 아이콘 API 이관에 통합한다 2026-08-24 08:33:25 +00:00
Hide_D 0c5dee1af8 fix(migration): Ref 전용 아이콘을 업로드 API로 이관한다
전용 아이콘 바이트를 모두 검증한 뒤 sam-image 서명 API에 결정적 경로로 등록한다. API 반환 경로를 계정과 아이콘 소유 목록에 연결하고 Core에서 바뀐 현재 선택은 보존한다.
2026-08-24 08:33:19 +00:00
Hide_D 0c6ef3e9b0 merge: 지도 하단 툴팁 교정을 main에 반영한다 2026-08-24 08:32:47 +00:00
Hide_D b84f31d098 fix(game-ui): 지도 하단 도시 툴팁을 위로 전환한다
남만, 교지, 남해, 대처럼 지도 하단에 있는 도시의 툴팁이 지도 경계 밖으로 잘리지 않도록 실제 높이를 기준으로 세로 배치를 전환한다. 실제 CHE 좌표를 사용하는 Chromium 회귀 검증을 추가한다.
2026-08-24 08:29:45 +00:00
Hide_D 69e34e3c95 merge: 자동 외교와 선전포고 분리를 main에 반영한다 2026-08-24 08:15:56 +00:00
Hide_D 071f34d6e4 merge: 최신 main을 자동 외교 분리 브랜치에 통합한다 2026-08-24 08:15:37 +00:00
Hide_D 4efc9a7679 feat: 사용자 군주 자동 선전포고를 분리한다 2026-08-24 08:14:53 +00:00
Hide_D 0fda5fe678 merge: 가오픈 장수 삭제 시각 수정을 main에 반영한다 2026-08-24 08:14:09 +00:00
Hide_D e425849216 merge: 최신 main을 가오픈 장수 삭제 시각 수정에 통합한다 2026-08-24 08:13:10 +00:00
Hide_D 907b7db1c6 fix(game): 가오픈 장수 삭제 대기를 실제 접수 시각에 맞춘다
미래 정식 오픈에 고정된 게임 시각과 durable input event 접수 시각을 분리한다. 일반 생성과 선택 풀 생성의 삭제 가능 시각 및 최초 접속 시각만 operational 시각을 사용하고 RNG와 턴 배치는 기존 논리 시각을 보존한다.
2026-08-24 08:13:05 +00:00
Hide_D 379312470e merge: 설문 게시자 장수명 수정을 main에 반영한다 2026-08-24 08:04:28 +00:00
Hide_D 55a9c87610 fix(vote): 설문 게시자를 장수명으로 저장한다
인증 계정 ID나 계정 표시명 대신 getMyGeneral로 확정한 현재 장수명을 opener_name에 저장한다. 서로 다른 세 identity를 둔 회귀 테스트로 저장 경계를 고정한다.
2026-08-24 08:04:14 +00:00
Hide_D 90d43547fe merge: 최신 main을 transport 권한과 커맨드 내구 행렬에 통합한다 2026-08-24 07:41:28 +00:00
Hide_D 8d966d3152 test: 실제 transport 권한과 커맨드 내구 행렬을 검증한다
실제 Fastify HTTP, PostgreSQL과 Redis에서 예약 mutation의 인증·sanction·소유권·수뇌 경계, 감사 원장과 무부작용을 검증한다.

장수 55개와 수뇌 35개를 R1/R2/R3으로 전수 분류하고 대표 9개를 Ref/Core 의미 비교부터 lease, 단일 flush와 fresh reload까지 실행한다. 비행위자 revision/lease와 관직 5 수뇌 partition도 exact 보존한다.
2026-08-24 07:41:12 +00:00
Hide_D c82c076b1b test: 경매 복구 fixture의 논리 시각과 mailbox를 교정한다
manual world의 game clock으로 만료 시각을 만들고 private mailbox 범위의 장수 ID를 사용한다. 연장 소진 뒤 invalid item 취소 결과도 durable input event와 함께 고정한다.
2026-08-24 07:40:56 +00:00
Hide_D fa9cee36cf fix: 게임 outbox 운영 시각을 UTC wall로 통일한다
KST 세션에서 ReadModel과 WebPush outbox의 producer provenance를 분리하고 due, lease, retention 비교를 UTC wall 계약으로 맞춘다.

기존 TIMESTAMP(3) 타입과 이전 DML 형태를 유지하면서 populated upgrade, pending requeue, delivered 보존과 두 번째 deploy no-op을 자동 검증한다.
2026-08-24 07:40:45 +00:00
Hide_D 1e79611089 merge: Gateway 프로필 표시명 경계를 main에 반영한다 2026-08-24 07:18:48 +00:00
Hide_D d80ea1bd0e fix: Gateway 화면에서 raw 프로필 ID 노출을 제거한다
불변 profileName은 라우팅과 저장 경계에 유지하고 사용자 출력은 공통 표시명을 사용한다. 기본 인스턴스 suffix를 숨기고 비기본 인스턴스만 사람이 읽을 수 있게 구분한다.
2026-08-24 07:15:25 +00:00
Hide_D 8837e49d62 merge: 서버 작업 이력 간결화를 main에 반영한다 2026-08-24 06:05:37 +00:00