From 4f08b47fc3219c5c104c7aba1e1883f975cbc63a Mon Sep 17 00:00:00 2001 From: ByungCheol Date: Tue, 30 Jun 2026 21:38:19 +0900 Subject: [PATCH 1/2] =?UTF-8?q?docs(brand):=20=EC=99=B8=ED=99=94=20?= =?UTF-8?q?=EA=B2=B0=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20=EC=99=84=EB=A3=8C=20?= =?UTF-8?q?=EA=B8=B0=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- brand/LAUNCH-PROGRESS.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/brand/LAUNCH-PROGRESS.md b/brand/LAUNCH-PROGRESS.md index 7e31235..2c148a9 100644 --- a/brand/LAUNCH-PROGRESS.md +++ b/brand/LAUNCH-PROGRESS.md @@ -111,7 +111,10 @@ 4) 다른 사용자 글에 **추천 누르면 +1** (일일 10 제한), 추천 **취소 시 -1** 5. ✅ **[수정완료] 분류 화면 순서변경 보호** — 기본 drag 잠금 + '순서변경' 토글로만 가능. (v2 포함) -> **v2 빌드 완료(versionCode 2, versionName 1.0.1, 2026-06-29)** — #5·#6 + 모든 다듬기 포함. 비공개 테스트 트랙에 업로드 대기. (업로드해도 14일 카운트 리셋 안 됨) +8. ✅ **[기능완료] 외화 입/지출 입력** — 통화 선택+환율 자동조회(open.er-api.com 무료)→원화 환산. `account_entry`에 currency/original_amount/exchange_rate 추가, `amount`는 환산 원화 유지(통계·예산 무변경). 백엔드+프론트 배포됨. (테스터 반영은 v3 빌드 필요) + +> **v2 빌드 완료(versionCode 2, versionName 1.0.1, 2026-06-29)** — #5·#6 + 다듬기. 비공개 테스트 업로드 대기. +> **다음 빌드 v3 후보**: #8 외화 결제 (+ 이후 백로그). 모아서 versionCode 3으로 빌드. 6. ✅ **[버그·수정완료] 앱 잠금이 카메라/갤러리 복귀 시 오작동** — appLock.suppressLock() 추가, 파일선택은 App.vue 전역 리스너, 카메라/공유는 호출부에서 suppress. (코드 배포됨 — 테스터에게 반영하려면 versionCode 2로 AAB 재빌드 업로드 필요) --- From 5795f328a15c11b3e50b786909e538a71cce22c0 Mon Sep 17 00:00:00 2001 From: ByungCheol Date: Tue, 30 Jun 2026 21:44:12 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=EC=95=B1=20=EC=9E=A0=EA=B8=88=20?= =?UTF-8?q?=EC=9C=A0=EC=98=88=EC=8B=9C=EA=B0=84=20=EB=8F=84=EC=9E=85=20?= =?UTF-8?q?=E2=80=94=20=EC=9E=A6=EC=9D=80=20PIN=20=EC=9E=85=EB=A0=A5=20?= =?UTF-8?q?=EB=B6=88=ED=8E=B8=20=ED=95=B4=EC=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 백그라운드 전환 즉시 잠그던 것을, 1시간 이상 백그라운드였을 때만 잠금 - 잠깐 다른 앱(계산기 등) 다녀오는 정도로는 PIN 안 뜸 - 완전 종료/재시작은 onMounted 에서 그대로 잠금 - 카메라/갤러리/공유 suppress 는 유지 Co-Authored-By: Claude Opus 4.8 --- src/App.vue | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/App.vue b/src/App.vue index d11e213..e79d3a6 100644 --- a/src/App.vue +++ b/src/App.vue @@ -75,11 +75,19 @@ function retryReload() { } // ===== 앱 잠금(PIN) ===== -// 백그라운드로 가면 잠가서, 복귀 시 잠금 화면이 떠 있도록 한다. -// 단, 카메라/갤러리/공유 등 앱 내 네이티브 동작으로 인한 일시 숨김은 제외(suppress). +// 잠깐 다른 앱 다녀온 정도로는 잠그지 않고, 일정 시간 이상 백그라운드였을 때만 잠근다. +// (완전 종료/재시작은 onMounted 에서 잠금) — 카메라/갤러리/공유 등 인앱 동작은 suppress 로 제외. +const LOCK_GRACE_MS = 60 * 60 * 1000 // 1시간 미만 이탈은 잠그지 않음(잦은 PIN 입력 방지) +let backgroundedAt = 0 function onVisibility() { - if (document.hidden) appLock.lock() - else appLock.clearSuppress() // 복귀 — 일시중지 창 해제 + if (document.hidden) { + backgroundedAt = Date.now() + } else { + const away = backgroundedAt ? Date.now() - backgroundedAt : 0 + backgroundedAt = 0 + if (away >= LOCK_GRACE_MS) appLock.lock() // lock() 은 suppress 창이면 건너뜀 + appLock.clearSuppress() // 복귀 — 일시중지 창 해제 + } } // 파일 선택(input[type=file]) 클릭 시 다음 백그라운드 전환을 잠금에서 제외 function onFileInputClick(e) {