- 대상이 카드일 때만 연회비 입력란 노출(repayTargetIsCard)
- 원금=이체·이자/연회비=지출 안내 placeholder, 검증 '원금·이자·연회비 중 하나'
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 구분 드롭다운의 '상환/납부'가 신규 등록에서만 보이던 제약(v-if="!editId") 제거
- 수정 중 상환/납부로 전환 시: 상환 2건(원금=이체, 이자=지출) 생성 후
원본 1건 삭제 — 생성 성공 후 삭제 순서로 중간 실패 시 원본 보존
- openEdit에서 principal/interest 초기화(이전 값 잔존 방지)
- 잘못 입력한 단순 이체/지출을 원금·이자 분리 상환으로 정정 가능
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 종목(매수/매도/현재가) 관리 UI(InvestPortfolio) 제거 — 퇴직연금·연금처럼
투자금(투입원금)과 현재 평가액만 입력하면 손익·수익률 자동 계산
- 계좌 펼침: 종목 포트폴리오 → 투자금/평가액/손익 요약 카드
- 폼: '현재 평가액'을 기본 입력 필드로, 안내 문구 정리
- 투자 탭 진입 시 자동 시세갱신 로직 제거(불필요)
- 백엔드 변경 없음(평가액 직접입력 경로 그대로 사용)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Toast UI 가 max-width:480px 에서 popup 에 margin-left:-150px 를 줘 좌측으로 밀려 잘렸음
- 중앙 모달 규칙에 margin:0 !important 추가 → 표/링크 팝업도 화면 중앙에 온전히 표시
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 좁은 화면(댓글창 등)에서 Toast UI 팝업이 좌측으로 넘쳐 OK/입력칸이 잘리던 문제
- @media(max-width:768px)에서 .toastui-editor-popup 을 fixed 중앙 모달로(항상 보임)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Toast UI 기본 이미지 팝업(File/URL/Description/OK)이 작은 댓글창/하단 위치에서 잘려
OK 를 못 누르던 문제 → 커스텀 툴바 이미지 버튼으로 교체(클릭 시 바로 파일선택→업로드→삽입)
- 서버 업로드(URL) 그대로
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- PC 전용 textarea/썸네일 방식 제거 — 글 흐름(이미지 아래 설명 등)이 불편하다는 피드백 반영
- 모든 플랫폼 위지윅(이미지 인라인). PC 한글 첫 자음 중복은 감수(tui.editor Windows IME 업스트림 버그)
- 서버 이미지 업로드(addImageBlobHook)는 유지 — 화면 변화 없는 개선(base64 미사용)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 이미지 마크다운()을 본문 textarea 에서 분리해 별도 첨부 목록으로 관리
· 저장 시 본문 끝에 합쳐 emit, 편집 로드 시 본문/이미지 분리
· 썸네일 120px 확대 + 제거(×) 버튼
- 텍스트는 깨끗하게(긴 URL 미노출), 이미지는 썸네일로 확인
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 본문의  이미지를 파싱해 툴바 아래 썸네일 줄로 표시(서버URL·데이터URI 모두)
- 미리보기 탭/패널 제거(한글 IME 위해 textarea 유지), 썸네일로 업로드 확인
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- PC 에디터: 🖼 → 압축 → 서버 업로드 → 본문에  삽입(base64 제거)
- Toast UI(웹/APK): addImageBlobHook 으로 동일하게 서버 업로드(base64 대체)
- 업로드 중/실패 안내 메시지 표시
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 이미지 버튼: 파일 선택 → imageToBlob(1280px·JPEG0.85)로 압축 →  삽입
- 웹 에디터처럼 본문에 임베드(별도 서버 저장 없음), 단 압축으로 용량 절감
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Toast UI 는 Windows IME 와 충돌(업스트림 버그)하므로 PC(Electron)에선 textarea 기반
마크다운 에디터 사용: 툴바(제목·굵게·기울임·취소선·인용·목록·체크·링크·코드·구분선) + Write/Preview 탭
- textarea(v-model)라 한글 IME 정상. 웹/APK 는 Toast UI 위지윅 유지
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Toast UI 위지윅·마크다운(CodeMirror) 둘 다 Electron 한글 IME 첫 자음 중복 발생
(제목 등 일반 input 은 정상) → PC 에선 본문을 일반 textarea(v-model, 네이티브 IME)로 입력
- 웹/APK 는 기존 Toast UI 위지윅 유지
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 진단: 제목(일반 입력)은 정상, 본문 위지윅(contenteditable)만 첫 자음 중복 → ProseMirror+Electron IME 버그
- MarkdownEditor: Electron 감지 시 initialEditType='markdown'(텍스트 기반 입력) → IME 정상. 웹/APK는 위지윅 유지
- 앞서의 불필요한 조합(composition) 처리 코드 제거(원인이 아니었음)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- webPreferences spellcheck:false — Chromium 맞춤법 검사기가 한글 조합을 방해해
첫 자음이 중복('ㅅ사')되던 Electron 알려진 버그 회피 (APK/모바일은 정상이라 데스크톱 전용 이슈)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- MarkdownEditor: IME 조합(compositionstart~end) 중에는 getMarkdown/emit 보류,
조합 완료 시 한 번만 반영 → 조합 중 직렬화로 자음이 중복되던('ㅅ사') 문제 해소
- 조합 중에는 watch 의 setMarkdown 도 건너뜀
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- electron/main.cjs: 시작 시 HTTP 캐시 클리어 → 라이브 사이트 최신 프론트 항상 로드
(루트 '/' HTML 이 캐시돼 옛 번들이 뜨던 문제 — '로그인 전 사이드바' 미반영 원인)
- nginx: location / 에 Cache-Control no-cache 추가(웹/PWA 진입 HTML 항상 최신)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- App.vue: 비로그인 시 사이드바 숨김·단일 컬럼 그리드 → 콘텐츠가 창 중앙 정렬
(프론트 변경이라 데스크톱은 재설치 없이 자동 반영)
- electron/main.cjs: 기본 창 1024x720 + 마지막 크기/위치/최대화 상태 저장·복원
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- WebOnlyNotice: PC 버전 다운로드 버튼(/download/SlimBudget-Setup.exe) + 모바일(준비 중)
- nginx: /download/ 위치 추가 — 배포(dist 교체)에 안 지워지는 /var/www/sb-downloads 에서 서빙
- 설치파일 이름 고정(SlimBudget-Setup.exe)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- electron/main.cjs: dist 번들 → https://app.sblog.kr 직접 로드
· 같은 출처라 webSecurity:false(CORS 우회) 제거, 오프라인 시 '다시 시도' 안내 화면
· 앱 외 도메인 링크만 기본 브라우저로
- package.json: 설치파일에 dist 미포함·build:electron 제거(원격 로드라 불필요)
- .env.electron 삭제
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 계좌(은행/카드) 펼침 시 전체 평면 리스트 대신 월 단위로 표시
· ◀ YYYY.MM ▶ 월 네비게이션(데이터 있는 월만, 빈 달 건너뜀) + 그 달 합계
· 기본은 내역이 있는 가장 최근 월, 월 필터는 클라이언트단(walletEntries 재사용, 백엔드 무변경)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 앱 아이콘: 브랜드(초록 #00bc7e + 흰 막대 차트) 적응형 아이콘 생성(@capacitor/assets)
· assets/ 에 SVG 소스 + 전 해상도 mipmap 재생성, 적응형 XML 인셋 제거(배경 풀블리드)
- 데스크톱: Electron 로 dist 를 감싼 Windows 설치파일(.exe)
· vite electron 모드(상대 base)·라우터 해시 히스토리·App 게이트 Electron 감지
· webSecurity:false 로 file:// CORS 우회, 백엔드는 https://app.sblog.kr/api
· scripts: build:electron / electron:dev / electron:build(electron-builder NSIS)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>