- 탭 제거, 종류별(은행/현금/카드/대출/마이너스/투자) 섹션 목록으로 변경
- 계좌 클릭 시 인라인 드롭다운 대신 별도 상세 화면(/account/wallets/:id)으로 이동
- 상세 화면: 계좌 요약 + 월별 내역(월 네비/합계), 투자는 투자금(원금)만 표기
- 목록에서 투자 계좌는 평가액 제거하고 투자금만 표기
- 드래그 순서변경은 종류별 그룹 단위로 유지
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
라우터 requiresPremium 제거, 사이드바 🔒 제거, 자동실행을 전 사용자로,
RecurringView 한도 도달 시 추가 버튼 업셀 다이얼로그+힌트(→/upgrade).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
backdrop(flex)의 모달 아이템 기본 min-width:auto 가 넓은 그리드만큼 모달을 뷰포트보다
넓혔음. 모달 min-width:0 으로 고정(+칩 min-width:0, overflow-x:hidden 조합)으로 가로 오버플로우 해결.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
칩(그리드 아이템)의 기본 min-width:auto(=글자 전체너비)가 minmax(0,1fr)을 무력화해
긴 계좌명이 그리드를 넓혀 모달이 가로로 넘침. 칩에 min-width:0 추가로 축소+…처리.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 모달 overflow-x:hidden(내부 넘침이 페이지를 가로로 밀지 않게)
- ChipSelect min-width:0+box-sizing로 긴 계좌명이 그리드를 넓히지 않게
- cat-input(소분류 추가) flex-wrap로 버튼 잘림 방지
+ 계좌 선택 영역 배경 패널(3열)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
수입·이체·상환은 카드/대출에서 나가지 않으므로 카드 제외(대출은 이미 제외).
구분 변경 시 허용 안 되는 계좌 종류면 초기화. AccountView·RecurringView 동일 적용.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
select 대체 ChipSelect 컴포넌트(cols 지원) 신설. 계좌 선택 드롭다운을 칩(한 줄 2개)으로 교체:
- AccountView 출금·입금·상환대상 계좌
- RecurringView 출금·입금 계좌
계좌 종류 뱃지로 이미 걸러지고 무료 한도(종류별 2개)라 칩 수도 적당.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
금액을 principal 이 아니라 납입금액(loanPaymentAmount)에 넣어 기존 자동분리 로직이 작동하게 함
(toWalletId 리셋 감시자 뒤 nextTick). 금리 미설정/카드는 전액 원금.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
AI가 TRANSFER로 준 것을, 받는 계좌가 대출/카드면 상환으로 바꿔 폼을 상환모드로 염
(출금=walletId·대상=toWalletId·원금=금액). 이자 있으면 사용자가 분리 입력.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
가장 큰 하루 1건만 제외하던 것을, 중앙값 3배(또는 10만원) 초과 '모든' 날 제외로 변경.
대출상환·다건 일회성이 일평균에 남아 남은 날에 곱해져 예상지출이 과다 추정되던 문제 해결.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
.layout 을 100dvh 고정 + overflow hidden, .layout-body 에 min-height:0 로
본문만 세로 스크롤(가로 숨김). 기기별 뷰포트·안전영역 차로 생기던 불필요한
상하좌우 스크롤과 하단 내비 밀림 해결.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
'안녕하세요 OO님' 자리를 오늘 기록 상태로 대체:
- 오늘 기록 없음 → 'OO님, 오늘은 아직 기록이 없어요' + 지금 기록하기 CTA
- 오늘 기록 있음 → '오늘 N건 기록했어요' / 연속 2일+ → 'N일 연속 기록 중 🔥'
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 개인정보처리방침(terms.js §2·§3): 처리자 Anthropic(Claude) 명시, 전송 데이터 범위·학습 미사용·서버 키보관 고지. OCR은 AI 보조/폴백으로 갱신. 적용일 2026-07-05
- play-store-listing.md 데이터안전: AI 편의 기능 처리 위탁 명시(공유 아님)
- LAUNCH-PROGRESS.md: AI 기능 완료 반영, 가계부 오류 해결 표시, v3/재개지점 정리
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
내역 추가·빠른입력 모달이 열릴 때 navigator.clipboard.readText() 호출로
iOS 시스템 붙여넣기 토스트가 매번 떴음. 자동 읽기/배지 감지 제거(수동 붙여넣기는 유지).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
일별 지출에서 일회성 큰 지출일(중앙값 3배 초과)을 하루평균 산정에서 제외 →
실제 지출 + 남은 날 × 평소 하루 지출. AI 비결정 값(40만~500만 변동) 문제 해결.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 환율 자동조회 후 '방금 업데이트 / N분 전 / N시간 전' 표시
- 30초 간격 ticker로 레이블 자동 갱신
- 폼 열기/통화 변경 시 rateUpdatedAt 초기화
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
영수증 선택 시 Claude Vision(/receipt-ai)으로 금액·상호·날짜·분류·계좌 자동 채움.
AI 실패/미인식 시 기존 Google Vision OCR+규칙파서로 폴백. 결과 배너에 ✨·분류 표시.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- applyParsed의 미선언 categoryMajor 참조 버그 수정(응답 처리 실패 원인)
- 빠른입력 모달 버튼 텍스트화 + 안전영역 하단 고정(가림 해결)
- 클립보드 자동입력을 거래성 텍스트일 때만(로컬 판단, 불필요 AI 호출 제거)
- AI 응답의 분류·결제수단을 폼에 자동 매칭(사용자 실제 목록 기준)
- 내역 화면에 '✨ 빠른 입력' 텍스트 바 진입점 추가
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 스팸 감지 항목에 🤖 스팸감지 뱃지 표시 (🚩 신고 수 대신)
- blockReason(블라인드 사유) 카드에 표시
- 스팸 항목에는 신고 무시 버튼 숨김
- 안내 문구에 스팸 자동 블라인드 정책 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
전체화면 entry 모달의 .close 에 env(safe-area-inset-top) 누락 → 상태바/노치 아래로 내림.
중앙 모달(확인/붙여넣기)에는 미적용(닫기가 다이얼로그 기준이라 불필요).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- .app-header 및 모바일 미디어쿼리(≤768px) 둘 다 세로 패딩(0.5rem) 적용
(미디어쿼리가 padding:0 1rem 으로 덮어써 앱에서 효과 없던 문제 포함)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- border-box 전역에서 고정 height 가 safe-area 패딩을 포함해 콘텐츠 행이 눌리던 문제
- AppBottomNav: height = calc(56px + safe-area-inset-bottom) → 아이콘 행 온전한 56px + 홈인디케이터 분리
- AppHeader: height → min-height → layout-top 상단 safe-area 패딩만큼 헤더가 커지도록
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- @capacitor-community/apple-sign-in + LoginModal Apple 버튼(iOS 전용, HIG 검은 버튼)
- appleAuth 네이티브 래퍼 + authApi/auth store appleLogin
- SPM capacitor-swift-pm 8.x 로 패치(patch-package) — @capawesome 구글 플러그인과 iOS 공존
- App.entitlements(applesignin) 준비 — Xcode 'Sign in with Apple' Capability 추가 시 사용
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- /admin/reports 라우트 + 사이드바 메뉴 + 헤더 타이틀
- boardApi.reports()/dismissReport() 추가(기존 block/unblock 재사용)
- 글 보기·블라인드(사유)·해제·신고 무시 액션
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>