Commits
GitHub 커밋 기반으로 자동 생성된 개발 기록
다크모드 색상 호환성 개선: 하드코딩 색상을 CSS 변수로 교체
🤖 909 in / 599 out / 1508 total tokens ResultCard와 CompactCard 컴포넌트에 하드코딩된 색상값들이 다크모드에서 가독성 문제를 일으키고 있었다. 배경색이나 텍스트 색상이 고정되어 있어 다크 테마에서도 밝은 색상이 그대로 노출되는 문제다. 방문 뱃지, 메모 영역, 액션 버튼 등에서 dcfce7, 15803d
TypeScript 타입 에러 3개를 0개로: 테스트 Mock 타입 확장하기
🤖 771 in / 792 out / 1563 total tokens search-cache.test.ts에서 발생하던 TypeScript 타입 에러 3개를 모두 해결했다. 기존 MockPlace 타입이 실제 DetourResult 타입과 맞지 않아 에러가 발생했다. MockPlace를 MockDetourResult로 확장하고, Place와 Rout
MidWayDer v0.53.0 - 설정 페이지와 캐시 관리 기능 추가
🤖 1681 in / 615 out / 2296 total tokens 캐시 데이터를 사용자가 직접 관리할 수 있는 설정 페이지를 추가했다. /settings 라우트를 새로 만들고, CacheSettings 컴포넌트에서 IndexedDB 기반 캐시의 크기와 항목 수를 보여준다. 삭제 전 ConfirmDialog로 확인을 받고, useCacheStat
ESLint any 타입 경고 21개를 모두 해결했다
🤖 1442 in / 604 out / 2046 total tokens v0.52.0에서 @typescript-eslint/no-explicit-any 경고 21개를 전부 제거했다. 이제 코드베이스에 any 타입이 없다. 주요 변경은 명시적 타입 정의다. PersonalizedDetourResult는 개인화 점수가 포함된 결과를, CacheQuery
TypeScript strictness 강화: any 타입 제거 및 v0.52.0 업데이트
🤖 1442 in / 1790 out / 3232 total tokens 21개의 any 타입 경고를 해결하여 코드의 타입 안전성을 확보했습니다. PersonalizedDetourResult, CacheQuery, LegacyCacheKey 등 신규 인터페이스를 정의하여 캐시 및 개인화 로직을 명시적으로 타입화했습니다. 테스트 코드에 MockSearc
v0.51.0: 캐시 UI 통합 완료
🤖 1283 in / 678 out / 1961 total tokens 지난 버전에서 구현해둔 캐시 시스템을 이제야 사용자에게 보여주기 시작했다. 기능만 있고 표시가 없으면 무용지물이니까. CacheStatus 컴포넌트를 ResultList에 추가했다. 오프라인일 땐 "캐시 데이터 사용"을 표시하고, 온라인일 땐 현재 캐시 크기를 보여준다. 사용자가
v0.51.0 캐시 UI 통합 및 오프라인 관리 기능 강화
🤖 1283 in / 1827 out / 3110 total tokens ResultList에 CacheStatus 컴포넌트를 배치해 캐시 사용 현황을 실시간으로 확인 가능하게 만들었다. 오프라인 상태에서는 캐시 사용 표시를, 온라인 상태에서는 캐시 크기를 표시하도록 로직을 수정했다. SearchOverlay에 캐시 삭제 버튼을 추가해 사용자가 직접
IndexedDB로 오프라인 검색 캐시 시스템 구축하기
🤖 2680 in / 843 out / 3523 total tokens v0.50.0에서 오프라인 검색을 위한 캐시 시스템을 완전히 재설계했다. localStorage 기반의 기존 캐시를 IndexedDB로 마이그레이션하면서 Dexie.js를 도입했다. 가장 큰 변화는 캐시 TTL이다. 기존 30분에서 24시간으로 대폭 늘렸다. IndexedDB는
오프라인 검색 캐시 시스템 구현 (v0.50.0)
🤖 2680 in / 1674 out / 4354 total tokens localStorage의 용량 한계를 넘어 24시간 TTL의 IndexedDB 캐시 저장소를 구축하여 오프라인에서도 검색이 가능하게 했습니다. 네트워크 우선(Cache-First) 전략을 적용하고 백그라운드 업데이트 기능을 추가했습니다. fake-indexeddb를 활용한 테스트
LocaleContext ESLint 에러 해결과 useState lazy initialization
🤖 794 in / 722 out / 1516 total tokens v0.49.0에서 LocaleContext의 ESLint set-state-in-effect 경고를 해결했다. 기존에는 useEffect 내부에서 localStorage 값을 읽어 setState를 호출하는 패턴이었다. 이는 React 팀에서 권장하지 않는 방식이라 ESLint가