Yun Chan
fd46ac7b14
fix(voice): 받아쓰기 파이프라인 4버그 수정 + 실시간 부분 전사
...
- press가 STT 초기화를 await하며 action queue 점유 → release 수십 초 지연·
유령 세션 반복 버그 수정 (initSTT fire-and-forget)
- 프리플라이트: STT 모델 미설치 시 즉시 에러 + 메인 UI 경고 + 온보딩 오픈
- 사이드카: 기동 중 프로세스 사망 시 30초 대기 없이 즉시 실패,
restartCount 리셋, error 리스너 부재 미처리 예외 방지
- 실시간 부분 전사: 1.5s 간격 interim → RecordingTip에 말하는 내용 미리보기
- Ollama 미가용 후처리 스킵 시 warning 배너, voice:error 브로드캐스트 신설
2026-07-21 20:56:40 +09:00
Yun Chan
e0a1864e60
feat(ui): 카드 그라디언트 헤어라인 + 앰비언트 글로우 (레퍼런스 #5 )
...
- glass.borderGradient: 좌상단 발광→우하단 소멸 1px 링 (mask exclude 기법 —
반투명 글래스 표면에서도 정확)
- glow.card/cardHover: 블루 앰비언트 상단 글로우 + 깊이 그림자 결합
- sheen 재정의: 좌상단 라디얼 앰비언트 + 수직 시인 레이어
- 6개 테마 전부 액센트색 파생, MetalCard/InstrumentPanel/MuiCard 적용
2026-07-21 20:36:25 +09:00
Yun Chan
082ed2ef02
feat(ui): Midnight Glass v2 마감 — lucide 아이콘 통일 + 몰입 패널 웨이브 + 팝업 정합
...
- @mui/icons-material → lucide-react 전환 (23파일, 잔여 0)
- VoiceRecordingPanel: 9바 DOM 웨이브 → GradientWave (canvas)
- Vanilla 팝업 5종 style.css v2 정합 (글래스 네이비/헤어라인/블루,
CSS 변수 주입 구조 유지 — 테마 반응형 보존)
2026-07-21 20:20:32 +09:00
Yun Chan
a8a1d6e546
feat(ui): Midnight Glass v2 전면 리디자인 — 기반+셸+대시보드
...
- theme.ts 재작성: glass/gradient/glow 토큰군, 기본 dark=Midnight(블루),
6종 테마 변형 전부 파생 토큰 유지 (테마 시스템 보존)
- DS 리스킨(API 호환): 글래스 카드/버튼, Pretendard 타이포, 소프트 LED
- 신규: GradientWave(canvas 스펙트럼 음파), StatRing(컬러 링 타일)
- 보더리스: frame:false + 커스텀 TitleBar, 네이티브 스크롤바 제거(폭 불변)
+ OverlayScrollbars 오버레이 스크롤
- AppLayout 와이드 사이드바(lucide, 그라디언트 액티브 필), 대시보드 재구축,
StatusBar(브랜드/로컬시간), Pretendard 번들, i18n +20키(ko/en)
2026-07-21 20:14:15 +09:00
Yun Chan
f3ca0eafd4
docs: v0.1.5-alpha 릴리스 + 설치 앱 전달 확인
2026-07-21 19:12:39 +09:00
Yun Chan
cbed451209
feat(icon)+fix(audio): 앱 아이콘 적용 + 트레이 아이콘 + 마이크 테스트 조기 종료 수정
...
Build macOS / Build & Package (macOS) (push) Failing after 5s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
- 앱 아이콘: icon.svg 마스터(d3ro 브랜드 — 메탈 섀시+오렌지 웨이브) → png/ico
생성 스크립트(generate-icons.mjs, sharp) + electron-builder win/mac 연결
- 트레이: createEmpty() 빈 아이콘 → 실제 앱 아이콘 (getAppIconPath)
- 마이크 테스트: 초기 무음 level:0을 종료로 오인하던 조기 종료 버그 —
AUDIO.TEST_LEVEL에 done 플래그 신설(SSOT), STOP 버튼이 실제 캡처 중지,
testDevice 실패 시 상태 롤백
2026-07-21 19:00:23 +09:00
Yun Chan
26b3fd1f63
docs: v0.1.4-alpha 릴리스 + 자동 업데이트 전달 확인
2026-07-21 18:14:09 +09:00
Yun Chan
0b9e67afe9
fix(onboarding): 무진행 구간 UX + 중복 실행 가드
...
Build macOS / Build & Package (macOS) (push) Failing after 3s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
- verifying/manifest 상태(바이트 진행률 없음)에서 인디터미넌트 바 + 친화적 문구
— 9.6GB 검증 ~2분간 멈춘 것처럼 보이던 문제 해소
- OnboardingModal 중복 실행 가드 (runningRef)
- LocalLLMService.pullModel: 동일 모델 동시 pull은 기존 promise 합류
- LocalSTTService.downloadModel: /download 409는 실패가 아닌 기존 진행 합류
2026-07-21 18:02:26 +09:00
Yun Chan
64c1d3709b
docs: v0.1.3-alpha 릴리스 완료 — Ollama 119MB, 설치파일 225MB, 차등 업데이트 27MB 검증
2026-07-21 16:45:27 +09:00
Yun Chan
4fb1738160
fix(bundle): Ollama v0.5.7 → v0.32.1 — gemma4:e4b pull 412 해소
...
Build macOS / Build & Package (macOS) (push) Failing after 5s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
- 번들 v0.5.7이 gemma4 요구(0.20+) 미달 → 온보딩 다운로드 412 실패
- 다운로드 스크립트: .ollama-version 스탬프로 runner 캐시 무효화
- cuda*/rocm* 재귀 가지치기 (신구 zip 레이아웃 모두 대응) + 1.5GB 경고
- darwin: v0.6+ tgz 자산 복귀 (bin/ollama·루트 바이너리 모두 지원)
2026-07-21 16:32:58 +09:00
Yun Chan
b73317d584
docs: v0.1.2-alpha Mac 포함 멀티플랫폼 릴리스 + 자동 업데이트 라이브 검증 기록
2026-07-21 16:26:37 +09:00
Yun Chan
8aadae38dd
fix(ci): Ollama darwin 자산명 수정 — v0.5.x는 tgz가 아닌 단일 바이너리
Build macOS / Build & Package (macOS) (push) Failing after 5s
Build macOS / Build & Package (macOS)-1 (push) Failing after 4s
2026-07-21 16:09:14 +09:00
Yun Chan
830c0281a8
docs: v0.1.1-alpha 실배포 성공 기록 — 파이프라인/E2E 검증 결과
2026-07-21 16:06:11 +09:00
Yun Chan
36be3a349a
ci(mac): brew/volta PATH 명시 — CI 셸은 로그인 셸이 아님
2026-07-21 16:03:00 +09:00
Yun Chan
3e6e392920
ci: 첫 파이프라인 실패 2건 수정 — alpha 채널 감지 차단 + mac sox 자동 설치
...
Build macOS / Build & Package (macOS) (push) Failing after 5s
Build macOS / Build & Package (macOS)-1 (push) Failing after 3s
- detectUpdateChannel:false — prerelease 버전이 alpha.yml을 만들어 latest.yml
글롭/가드에 안 걸리던 문제 (electron-updater 기본 채널 latest와 정렬)
- artifacts 글롭 *.yml로 방어적 확장, publish 스크립트 메타데이터 regex 확장
- package-macos: sox 미설치 시 brew install sox 폴백
2026-07-21 15:48:21 +09:00
Yun Chan
c6fd8c9a9a
ci: runner 인프라 정렬 + 자동 업데이트 feed 활성화 (프로젝트 1172)
...
- CI 태그를 실제 사내 runner에 맞게 교체: build-win-x64(TW-VIVEN-BUILD) /
build-mac-arm64(TW-BUILD-MAC-ARM64) / build-linux-x64(TW-BUILD01, release+검증 잡)
- package-macos: volta 부트스트랩 폴백 추가
- update-feed.ts + electron-builder.yml publish.url에 프로젝트 ID 1172 기입
- release-guide: 완료된 설정 반영 (D3RO_MAC_RUNNER, registry public pull)
2026-07-21 15:33:30 +09:00
Yun Chan
3beba99668
feat(release): switchboard 릴리스 체계 이식 — Mac 배포 + Registry 게시 + 자동 업데이트
...
- package-macos CI job: arm64 무서명(ad-hoc) dmg+zip, D3RO_MAC_RUNNER 변수 게이트
- sync-version.mjs: 태그 → package.json 버전 동기화
- publish-gitlab-release.mjs: Generic Package Registry(버전별+latest) 업로드 + Release 생성
- electron-builder: publish generic(latest.yml 생성), 공백 없는 artifactName, mac arm64 단일화
- UpdateService: electron-updater 4h 주기 체크 + 재시작 다이얼로그 (update-feed.ts SSOT)
- @rollup/rollup-win32-x64-msvc → optionalDependencies (mac npm ci EBADPLATFORM 해소)
- docs/deployment/release-guide.md: runner 등록·feed 설정·파일명 규칙 가이드
리뷰 워크플로(3관점 적대적 검증)로 확정된 결함 8건 반영:
publish 부재로 latest.yml 미생성, 파일명 공백 vs 레지스트리 404,
mac EBADPLATFORM, needs optional의 실패 미커버, DELETE 권한 의존,
CHANGELOG regex 경계, --arm64 무시, 다이얼로그 parent 부재
2026-07-21 12:43:16 +09:00
Yun Chan
8f7d300b89
feat(conversation): OpenAI gpt-realtime-2.1 라이브 음성 대화 Premium 백엔드
...
- realtime-token Edge Function: 티어 검증 + realtime_session 쿼터 + ephemeral key 발급
- useRealtimeConversation 훅: WebRTC 직결 (마이크 → OpenAI, 오디오 자동 재생)
- VoiceConversationPage: conversationBackend 분기 + 연결 실패 시 로컬 fallback
- AppConfig.conversationBackend + SettingsModal 음성 대화 엔진 선택
- ErrorCode 799 ConversationRealtimeTokenFailed, i18n ko/en
2026-07-21 12:10:13 +09:00
Yun Chan
983c60cda2
feat(bootstrap): Whisper large-v3-turbo 기본 전환 + 온보딩 2단계 다운로드 진행률
...
- 기본 STT 모델 base → large-v3-turbo (6배 빠름, 1.6GB)
- 사이드카: /download, /download/status, /download/cancel + --models-dir
- LocalSTTService: downloadModel/cancelDownload + download-progress 이벤트
- IPC: 설계서 02의 stt:downloadModel/cancelDownload/downloadProgress 구현
- OnboardingModal: LLM(gemma4:e4b) → STT(turbo) 2단계 순차 다운로드 UI
- SettingsModal turbo 선택지 + settings.model.largeTurbo 12 locale
- 테스트: 모노레포 잔재 import 수정 (src/shared → @d3ro/core), 41/41 통과
2026-07-21 11:59:49 +09:00
yunchan8804
9dc8b26c11
ci: lint/typecheck/unit-test를 manual 트리거로 — Docker runner 부재로 stuck 방지
...
main 푸시마다 자동으로 도는 구조였는데 사내 GitLab에 Docker runner 없어서 계속
pending으로 남음. 필요할 때 UI에서 수동 트리거. Docker runner 붙이면 rules 복원.
2026-04-15 23:11:38 +09:00
yunchan8804
e947d90644
docs: 세션 래핑 — v0.1.0-alpha 배포 성공 + 설치 성공 기록 + 다음 작업
2026-04-15 23:06:51 +09:00
yunchan8804
d48146438e
fix(i18n): 온보딩 모달 플레이스홀더 {{var}} 포맷으로 수정 — 단일 중괄호는 치환 안됨
2026-04-15 23:04:03 +09:00
yunchan8804
72144a4c2e
fix(installer): 대용량 NSIS 크래시 해소 — Ollama GPU 런타임 가지치기 + oneClick 전환
...
Build macOS / Build & Package (macOS) (push) Failing after 5s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
- download-ollama.ps1: cuda_v11, cuda_v12, rocm_avx 런타임 삭제 (~1GB 절감)
첫 실행 시 gemma4:e4b는 CPU로 충분. GPU 가속 필요 시 별도 Ollama 설치 또는 차기 빌드.
- electron-builder.yml nsis: oneClick=true로 전환 — oneClick=false+perMachine=false가
System.dll 0xc0000005 유발하는 electron-builder 알려진 이슈(#7921 ) 회피.
2026-04-15 22:57:39 +09:00
yunchan8804
8e31b36337
fix(installer): custom NSIS include 비활성화 — System.dll 0xc0000005 크래시 해소
...
- 이전 installer.nsh의 ReadRegDWORD + MessageBox 조합이 설치 중 System.dll에서
access violation 유발 (WER로 확인)
- electron-builder 기본 installer UX만 사용 → 안정화 후 단계적으로 커스텀 재추가
- installer.nsh는 최소 버전으로 보존(향후 참고)
2026-04-15 22:30:10 +09:00
yunchan8804
eba5f7c540
fix(ci): artifacts expose_as 제거 — 와일드카드 paths와 병행 불가
2026-04-15 22:05:05 +09:00
yunchan8804
62a1390903
fix(ci): artifacts 경로 좁힘 — .exe + 메타만 업로드 (win-unpacked 제외)
...
- apps/desktop/release/ 전체(1490 파일)는 GitLab 아티팩트 용량 한도 초과
- 최종 산출물인 NSIS 설치파일(*.exe) + latest.yml + blockmap만 업로드
2026-04-15 22:03:51 +09:00
yunchan8804
5e74272aef
fix(build): buildResources → build/ — resources/icons/ 빈폴더 자동 스캔 우회
2026-04-15 21:50:46 +09:00
yunchan8804
a18666dd6a
fix(build): 아이콘 의존 제거 + NSISdl 비의존화
...
- electron-builder.yml: win/mac/linux icon 경로 제거 (resources/icons/가 비어있어 아이콘 수집 실패)
Electron 기본 아이콘 사용. 추후 resources/icons/icon.ico 준비되면 win.icon 복원.
- extraResources의 resources/icons/ 복사 엔트리 삭제
- installer.nsh: NSISdl::download 제거 → 번들 플러그인 의존 제거
VC++ 재배포 미설치 시 수동 설치 링크 안내만 표시
2026-04-15 21:43:39 +09:00
yunchan8804
adc88853fa
fix(build): electronVersion 33.3.0 명시 — 모노레포 hoisting 자동감지 실패 우회
2026-04-15 21:29:08 +09:00
yunchan8804
02f88585d0
fix(build): electron-builder v26 호환 — package.json의 configFile 제거, --config 플래그 명시
2026-04-15 21:20:07 +09:00
yunchan8804
07c3c3873c
fix(ci): Ollama 다운로드를 curl.exe로 전환 — IWR 대용량 파일 hang 해소
2026-04-15 21:13:23 +09:00
yunchan8804
8a8fb63636
fix(ci): download-ollama.ps1 메시지 영문화 — 한글 인코딩으로 PowerShell 파싱 실패 해소
2026-04-15 20:49:00 +09:00
yunchan8804
31902513bd
build: SoX Windows 바이너리 직접 번들 (SourceForge 다운로드 차단 우회)
...
- apps/desktop/resources/sox/sox.exe + 의존 DLL 직접 커밋
- .gitignore 화이트리스트 조정
- download-sox.ps1는 파일 존재 시 자동 스킵하므로 CI에서 그대로 통과
2026-04-15 20:44:12 +09:00
yunchan8804
77114029a8
ci: Windows self-hosted runner 단독 배포 흐름 — Docker 의존 제거
...
- lint/typecheck/unit-test는 태그 푸시에서 제외(allow_failure 추가)
- release-create 잡을 release-cli 도커 이미지 대신 shell+curl(Invoke-RestMethod)로 전환
- 태그 파이프라인은 package-windows → release-create 2단계, 둘 다 Windows runner에서 실행
2026-04-15 20:07:05 +09:00
yunchan8804
aa65e710ec
feat: 배포 파이프라인 — Ollama/sidecar 번들 + NSIS 자동 VC++ + GitLab CI + 온보딩 모달
...
- sidecar 슬림화: torch/pyannote 제거, ctranslate2 GPU 감지, /diarize 삭제
- Ollama 번들: resources/ollama/에 포터블 바이너리 배치, LocalLLMService 1순위 탐색
- installer.nsh: VC++ 재배포 x64 자동 다운로드(aka.ms 경유) + 사일런트 설치
- electron-builder: extraResources에 ollama 추가, nsis.include로 installer.nsh 연결
- scripts: download-ollama.ps1/sh 신규
- LLM.PULL_MODEL IPC 핸들러 + LocalLLMService.pullModel() 구현 (api/pull 스트리밍)
- 온보딩 모달: gemma4:e4b 미설치 감지 시 자동 표시, 진행률 UI, i18n(ko/en) 키 추가
- .gitlab-ci.yml: Windows 러너에서 sidecar/sox/ollama 준비 후 NSIS 패키징, 태그 시 Release 자동 생성
2026-04-15 19:47:27 +09:00
yunchan8804
d1edad6727
chore: 세션 핸드오프 — RN CLI 전환 빌드 정보 + 다음 작업 목록
2026-04-13 21:15:33 +09:00
yunchan8804
bf36a9d97d
feat(mobile): Expo → RN CLI 전환 + Android 빌드 성공
...
RN 0.85 + React 19 기반 apps/mobile-rn 프로젝트 생성.
6개 화면 이식 (Login, Dash, History, Record, Talk, Settings).
@react-navigation/native + bottom-tabs 네비게이션 구성.
Windows NDK CMake libc++_shared 링크 버그 워크아라운드 포함.
Galaxy Fold (SM_F956N) 무선 디버깅 APK 설치 확인.
2026-04-13 21:13:40 +09:00
yunchan8804
55eb62189a
feat(mobile): Phase M-2 D3RO 디자인 시스템 모바일 적용
...
DS 컴포넌트 9개 (ScreenPanel, WaveBars, AppStatusBar, Header, FilterChip 신규),
5개 탭 + 로그인 화면 D3RO 인스트루먼트 미학 적용,
i18n 연결 (I18nProvider + 모바일 전용 키 80+개),
모노레포 workspaces에 apps/mobile 추가.
2026-04-13 17:32:31 +09:00
yunchan8804
541f04d02b
refactor: saasMode 분기 제거 — 항상 SaaS(OAuth only)로 동작
...
Mac/Windows 환경 불일치 해소. BUILD_TIME 상수, CONFIGURE 채널,
개발자 모드 UI 전부 제거. Supabase 설정은 supabase-config.ts SSOT.
2026-04-13 17:20:55 +09:00
윤찬
feb82abbf7
번역
2026-04-13 14:53:17 +09:00
윤찬
9f7ea1d729
chore: 세션 핸드오프 — V3 모바일 Phase M-1 완료
2026-04-13 03:23:24 +09:00
윤찬
211673bc6c
feat(mobile): Phase M-1 모바일 프로젝트 기반 + V3 마스터 플랜
...
- V3 모바일 마스터 플랜 작성 (docs/v3/00-mobile-master-plan.md)
11개 Phase, 5주 로드맵, 전략 결정사항 확정
- 7개 디자인 HTML 레퍼런스 저장 (docs/v3/designs/)
- app.json → app.config.ts 전환 + 환경변수 체계
- 5탭 네비게이션 (DASH/HIST/REC FAB/TALK/SET)
- metro.config.js monorepo 격리 (root RN 0.84 충돌 해결)
- ui-native 테마 디자인 목업 색상 동기화
- SafeArea 적용 (useSafeAreaInsets)
- DEV 로그인 우회 (__DEV__ 전용)
- Supabase .env 연동
- iOS 시뮬레이터 검증 완료
2026-04-13 03:22:15 +09:00
윤찬
ffca07d120
chore: 세션 핸드오프 — V2-7 완료
2026-04-13 01:28:55 +09:00
윤찬
8af75a0a1e
feat: V2-7 Admin 콘솔 리디자인 + 3단계 권한 + SaaS 전환 + 코드 정리
...
- Admin CRM: D3RO Console 스타일 전체 적용 (panelSx/tableSx/filterBtnSx)
- 3단계 권한: manager/admin/super_admin (DB + Edge Functions + Frontend)
- 랜딩 페이지: 1회 결제 → 월간/연간 구독 SaaS 모델 (10개 언어)
- SSE 스트리밍: VoiceConversation Premium LLM 라우팅 + fallback
- Supabase 클라이언트: packages/api-client 공통 추출 (browser+server)
- RPC 함수 타입: 9개 정의 (admin_usage_by_feature 등)
- callAdminApi 401 버그 수정 (getUser() 선행 토큰 갱신)
2026-04-13 01:28:10 +09:00
윤찬
d0e854c255
chore: 세션 핸드오프 — Phase V2-6 완료 + 배포
2026-04-12 21:35:11 +09:00
윤찬
8467ecbdb5
chore: project_status 갱신 — Phase V2-6 Admin CRM 고도화 완료
2026-04-12 21:33:17 +09:00
윤찬
dca1b90faa
feat(admin): Phase V2-6 Admin CRM 고도화 — CRUD + 차트 + 결제 + 감사
...
- DB: audit_log 테이블(diff 포함) + subscriptions.admin_note + super_admin role
- Edge Functions 4개: admin-users, admin-subscriptions, admin-payments, admin-audit-log
- 공유 유틸: admin-auth.ts(권한 검증), audit.ts(감사로그 기록)
- Swagger UI: 독립 정적 페이지 + OpenAPI 3.0 spec
- CRUD 페이지: 구독 생성/수정/삭제, role 변경, 감사로그 목록/상세
- recharts: feature별 StackedBar + DAU Line + Top Users HorizontalBar
- 결제 이력: DB + Payple API 병행 조회
- 권한: super_admin만 위험 작업, admin은 조회 전용
- RLS: admin/super_admin IN 정책 + super_admin 쓰기 정책
- SQL RPC: admin_usage_by_feature, admin_top_users, admin_dau
2026-04-12 21:32:47 +09:00
윤찬
f7c50eb2ed
docs: Phase V2-6 Admin CRM 고도화 설계서
...
Admin API(Edge Function) + Swagger UI + CRUD 웹페이지 +
recharts 차트 + 결제 이력 + 감사로그 설계.
2026-04-12 21:18:19 +09:00
윤찬
1439ed3c7a
chore: Phase 3.3 세션 핸드오프 — SaaS 인프라 완결
2026-04-12 20:57:34 +09:00
윤찬
3ef971e0fd
chore: project_status 갱신 — Admin CRM 독립 프로젝트 완료
2026-04-12 20:55:58 +09:00