Skip to content

feat: 풀이 기록 검색·자가 채점과 유리 질감 UI 개선 - #17

Merged
LATE-BL00MER merged 2 commits into
developfrom
feat/solve-history-glass-ui
Oct 8, 2026
Merged

LATE-BL00MER merged 2 commits into
developfrom
feat/solve-history-glass-ui

Conversation

@LATE-BL00MER

@LATE-BL00MER LATE-BL00MER commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

작업 내용

풀이 기록을 날짜별로 확인하고 정답·해설·과목을 검색할 수 있게 합니다. 문제 이미지를 기록과 함께 로컬에 저장하고, 결과의 O/X 자가 채점을 기록 카드에도 반영합니다.

결과 창에 이전·홈 이동과 독립된 macOS 제목 표시줄·최소화를 추가했습니다. 홈의 최근 풀이를 접거나 펼치면 제목 표시줄 위치와 창 너비를 유지하면서 높이가 내용에 맞게 바뀝니다. 홈·결과·설정·온보딩·구독·토스트에 공통 유리 질감을 적용하고 홈 로고·캡처 버튼을 중립 색상으로 맞췄습니다.

Closes #16

변경 및 영향 범위

  • 앱 기능 (Capture / AI / Storage / UI)
  • StoreKit·사용량 정책
  • API·프록시
  • 앱 설정·권한·릴리스
  • 테스트·CI·개발 도구
  • 규칙·문서 (AGENTS.md, docs/)
  • 기타: 개인 서명 설정·키 내보내기 파일의 Git 제외 패턴

사전 식별 리스크

  • 최신 develop의 Apple 로그인·서버 사용량 제한과 의견 보내기·앱 공유를 유지한 상태에서 통합했습니다. 사용량 차감과 프록시 계약은 변경하지 않았습니다.
  • 기존 JSON 기록에 없는 이미지 파일명과 자가 채점은 optional로 추가했습니다. 손상된 개별 기록은 건너뛰고, 이미지가 없는 기록은 빈 상태로 표시합니다.
  • 결과 패널과 홈은 필요한 appState만 주입하고, 구독 상태가 필요한 설정·페이월의 기존 주입 경로를 유지했습니다.

결과 및 검증

기대 효과

날짜별 풀이 탐색·검색, 저장된 이미지 확인과 자가 채점이 가능해집니다. 최근 풀이 표시 여부·개수·해설 표시를 설정할 수 있고 홈의 접기/펼치기로 생기던 빈 공간을 줄입니다.

실제 반영 결과

  • 최근 100개 기록의 문제 JPEG를 로컬에 보관하고 기록에서 제외된 이미지 파일을 정리합니다. 메모리 이미지 캐시의 최대 8개 제한을 유지합니다.
  • 결과 창의 이전 버튼은 같은 창에서 홈으로 이동합니다. 메뉴 안의 기록도 내부 상세 화면에서 확인합니다.
  • 캡처에 사용하는 SCShareableContent 응답으로 권한을 확인하며 앱 PID 제외·150ms 대기·JPEG 최적화를 유지했습니다. macOS 최초 권한 승인과 재실행 요구 자체를 제거하는 변경은 아닙니다.
  • 접근성의 투명도 감소 설정에서는 불투명 배경을 제공합니다. 메뉴바 아이콘과 MenuBarExtra 구현은 유지했습니다.

검증

최신 develop 27d4dee 기반에서 아래 검증을 통과했습니다.

xcodebuild -project Paxo.xcodeproj -scheme Paxo -configuration Debug   -destination 'platform=macOS,arch=arm64'   -derivedDataPath /private/tmp/paxo-feature-pr-build   CODE_SIGNING_ALLOWED=NO build test
xcrun swift-format lint --recursive --strict --configuration .swift-format Paxo PaxoTests
git diff --cached --check
  • 빌드 성공, 기존 Swift 테스트 27개 / 6개 suite 통과. 기존 팀 테스트는 변경하지 않았으며 개발 중 추가했던 테스트 두 파일은 PR에 포함하지 않았습니다.
  • 커밋 대상에서 개인 Team ID·토큰·개인 키 형식·인증서 파일·Secrets.swift 제외 확인.
  • 공용 프로젝트·Config·스킴·프록시·CI·과금 구현 변경 없음. 앱 번들에 내부 Markdown 문서 없음.
  • 저장소에 추가하지 않은 임시 검증으로 기존 JSON 호환성, 이미지·자가 채점 저장, 고아 이미지 정리, 잘못된 이미지 경로 차단, 손상 항목 복원, 중복 제거, 100개 제한 및 날짜·검색 필터를 확인했습니다.
  • GitHub CI의 빌드·테스트, 포맷, 프록시, 금지 파일 검사와 AI 리뷰 엔진 테스트가 모두 통과했습니다. AI 사전 리뷰는 응답 미완성으로 한 번 실패해 해당 작업만 재실행했고 통과했습니다. 현재 GitHub 병합 상태는 CLEAN / MERGEABLE입니다.
  • 앞선 UI 확인에서는 홈 높이 접기/펼치기, 최근 풀이 숨김, 결과 화면 복귀를 확인했습니다. 최신 로그인 통합 이후 실제 서버 로그인·결제 및 여러 팀원 Mac에서의 실행은 아직 확인하지 않았습니다.
  • 기존 ToastController의 Swift 동시성 경고는 남아 있으며 빌드·테스트 실패는 없습니다.

리스크·결정·리뷰

  • 일반 변경
  • Crtical Path 변경

Paxo/AGENTS.md의 환경 객체 주입, 기록 이미지 저장과 권한 확인 설명을 구현에 맞췄습니다. 규칙성 제약을 새로 추가하는 변경이 아니라 구현 사실과 경로를 기록한 변경입니다. 과금·서버 제한 규칙은 유지했습니다. 화면 기록 권한의 최초 승인은 각 Mac에서 필요하며 개인 인증서·서명 설정은 공유하지 않습니다.

트러블슈팅 및 회고

기존 작업 폴더의 미커밋 변경과 개인 설정을 보존하기 위해 최신 develop의 별도 작업 공간에서 기능만 옮겨 충돌을 정리했습니다. 서버 세션 확인 단계도 풀이 진행 상태에 포함해 진행 중 기록 이동·중복 캡처를 막습니다.

메모

AGENTS.md, Paxo/AGENTS.md, CONTRIBUTING.md, .swift-format, PR 템플릿과 도메인 문서를 기준으로 재점검했습니다. 수정 파일의 주 타입에 한국어 문서 주석을 보완하고, 홈의 미사용 구독 환경 객체를 제거했습니다. 자가 채점 용어의 기록은 이슈 #16과 docs/domain.md에 남깁니다.

개인 키·인증서·토큰·로컬 서명 설정은 포함하지 않았습니다. 기능 브랜치에서 develop 대상으로 리뷰받으며 develop 병합 시 저장소 규칙에 따라 Squash and Merge를 사용합니다. 이 PR에서는 merge를 실행하지 않았습니다.

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

AI 사전 코드 리뷰 (파일럿)

검토 SHA: e1471b9de178 · 방식: 증분
상태: 미해결 0 · 해결 0 · 오탐 0 · 위험 수용 0
AI 호출: 2/20

불필요한 `@EnvironmentObject(store)` 의존성 주입을 제거하고, 주요 타입 문서화 주석 추가 및 `domain.md` 도메인 용어(자가 채점)를 정립한 리팩터링 PR입니다.

ID 심각도 확신·구분 위치 문제 상태
— — — — 수정할 가치가 높은 문제를 찾지 못했습니다. —

사람의 판정: /ai-review false-positive AX-... 이유(10자 이상), /ai-review accepted-risk AX-... 이유(10자 이상), /ai-review reopen AX-...
AI 결과는 승인이나 머지 조건을 대체하지 않습니다.

@LATE-BL00MER
LATE-BL00MER merged commit 31ed190 into develop Oct 8, 2026
7 checks passed
@LATE-BL00MER
LATE-BL00MER deleted the feat/solve-history-glass-ui branch October 8, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: 풀이 기록 검색·자가 채점과 반응형 홈 화면 개선

1 participant