다크모드 색상 호환성 개선: 하드코딩 색상을 CSS 변수로 교체
commitsMidWayDer · cd54653

다크모드 색상 호환성 개선: 하드코딩 색상을 CSS 변수로 교체

🤖 909 in / 599 out / 1508 total tokens ResultCard와 CompactCard 컴포넌트에 하드코딩된 색상값들이 다크모드에서 가독성 문제를 일으키고 있었다. 배경색이나 텍스트 색상이 고정되어 있어 다크 테마에서도 밝은 색상이 그대로 노출되는 문제다. 방문 뱃지, 메모 영역, 액션 버튼 등에서 dcfce7, 15803d

이더2026.03.071 min read
cssdark-moderefactoring
TypeScript 타입 에러 3개를 0개로: 테스트 Mock 타입 확장하기
commitsMidWayDer · 8080316

TypeScript 타입 에러 3개를 0개로: 테스트 Mock 타입 확장하기

🤖 771 in / 792 out / 1563 total tokens search-cache.test.ts에서 발생하던 TypeScript 타입 에러 3개를 모두 해결했다. 기존 MockPlace 타입이 실제 DetourResult 타입과 맞지 않아 에러가 발생했다. MockPlace를 MockDetourResult로 확장하고, Place와 Rout

이더2026.03.071 min read
TypeScript테스트Mock
MidWayDer v0.53.0 - 설정 페이지와 캐시 관리 기능 추가
commitsMidWayDer · 9a04929

MidWayDer v0.53.0 - 설정 페이지와 캐시 관리 기능 추가

🤖 1681 in / 615 out / 2296 total tokens 캐시 데이터를 사용자가 직접 관리할 수 있는 설정 페이지를 추가했다. /settings 라우트를 새로 만들고, CacheSettings 컴포넌트에서 IndexedDB 기반 캐시의 크기와 항목 수를 보여준다. 삭제 전 ConfirmDialog로 확인을 받고, useCacheStat

이더2026.03.071 min read
next.jssettingscache
ESLint any 타입 경고 21개를 모두 해결했다
commitsMidWayDer · b138e94

ESLint any 타입 경고 21개를 모두 해결했다

🤖 1442 in / 604 out / 2046 total tokens v0.52.0에서 @typescript-eslint/no-explicit-any 경고 21개를 전부 제거했다. 이제 코드베이스에 any 타입이 없다. 주요 변경은 명시적 타입 정의다. PersonalizedDetourResult는 개인화 점수가 포함된 결과를, CacheQuery

이더2026.03.071 min read
TypeScriptESLint리팩토링
TypeScript strictness 강화: any 타입 제거 및 v0.52.0 업데이트
commitsMidWayDer · b138e94

TypeScript strictness 강화: any 타입 제거 및 v0.52.0 업데이트

🤖 1442 in / 1790 out / 3232 total tokens 21개의 any 타입 경고를 해결하여 코드의 타입 안전성을 확보했습니다. PersonalizedDetourResult, CacheQuery, LegacyCacheKey 등 신규 인터페이스를 정의하여 캐시 및 개인화 로직을 명시적으로 타입화했습니다. 테스트 코드에 MockSearc

이더2026.03.071 min read
v0.51.0: 캐시 UI 통합 완료
commitsMidWayDer · 5d352c1

v0.51.0: 캐시 UI 통합 완료

🤖 1283 in / 678 out / 1961 total tokens 지난 버전에서 구현해둔 캐시 시스템을 이제야 사용자에게 보여주기 시작했다. 기능만 있고 표시가 없으면 무용지물이니까. CacheStatus 컴포넌트를 ResultList에 추가했다. 오프라인일 땐 "캐시 데이터 사용"을 표시하고, 온라인일 땐 현재 캐시 크기를 보여준다. 사용자가

이더2026.03.071 min read
cacheUIzustand
v0.51.0 캐시 UI 통합 및 오프라인 관리 기능 강화
commitsMidWayDer · 5d352c1

v0.51.0 캐시 UI 통합 및 오프라인 관리 기능 강화

🤖 1283 in / 1827 out / 3110 total tokens ResultList에 CacheStatus 컴포넌트를 배치해 캐시 사용 현황을 실시간으로 확인 가능하게 만들었다. 오프라인 상태에서는 캐시 사용 표시를, 온라인 상태에서는 캐시 크기를 표시하도록 로직을 수정했다. SearchOverlay에 캐시 삭제 버튼을 추가해 사용자가 직접

이더2026.03.071 min read
v0.51.0CacheUI
IndexedDB로 오프라인 검색 캐시 시스템 구축하기
commitsMidWayDer · 07ab1cc

IndexedDB로 오프라인 검색 캐시 시스템 구축하기

🤖 2680 in / 843 out / 3523 total tokens v0.50.0에서 오프라인 검색을 위한 캐시 시스템을 완전히 재설계했다. localStorage 기반의 기존 캐시를 IndexedDB로 마이그레이션하면서 Dexie.js를 도입했다. 가장 큰 변화는 캐시 TTL이다. 기존 30분에서 24시간으로 대폭 늘렸다. IndexedDB는

이더2026.03.072 min read
IndexedDBDexie.js캐시전략
오프라인 검색 캐시 시스템 구현 (v0.50.0)
commitsMidWayDer · 07ab1cc

오프라인 검색 캐시 시스템 구현 (v0.50.0)

🤖 2680 in / 1674 out / 4354 total tokens localStorage의 용량 한계를 넘어 24시간 TTL의 IndexedDB 캐시 저장소를 구축하여 오프라인에서도 검색이 가능하게 했습니다. 네트워크 우선(Cache-First) 전략을 적용하고 백그라운드 업데이트 기능을 추가했습니다. fake-indexeddb를 활용한 테스트

이더2026.03.071 min read
Dexie.jsIndexedDBCache-First
LocaleContext ESLint 에러 해결과 useState lazy initialization
commitsMidWayDer · 34189b8

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가

이더2026.03.072 min read
ReactESLint성능최적화