refactor: saasMode 분기 제거 — 항상 SaaS(OAuth only)로 동작
Mac/Windows 환경 불일치 해소. BUILD_TIME 상수, CONFIGURE 채널, 개발자 모드 UI 전부 제거. Supabase 설정은 supabase-config.ts SSOT.
This commit is contained in:
parent
feb82abbf7
commit
541f04d02b
12 changed files with 566 additions and 9587 deletions
|
|
@ -542,21 +542,19 @@ V2 6차 고도화 (2026-04-11):
|
|||
> 사용자가 Settings에서 Supabase URL/Key를 직접 입력해야 하는 UX였음.
|
||||
> Notion/Linear/Slack 데스크톱 패턴으로 정정.
|
||||
|
||||
### SaaS [1] 빌드 타임 Supabase env 주입
|
||||
- `electron.vite.config.ts`: `defineConfig(({ mode }) => ...)`로 변경, `loadEnv(mode, cwd, 'D3RO_')`
|
||||
로 `.env.local` 자동 로드 → main 번들에 `define`으로 inline 박음
|
||||
- `apps/desktop/.env.local` 생성 (gitignored): `D3RO_SUPABASE_URL`, `D3RO_SUPABASE_ANON_KEY`
|
||||
- `apps/desktop/env.example` 템플릿 (committed)
|
||||
- `ConfigService`:
|
||||
- `BUILD_TIME_SUPABASE_URL` / `BUILD_TIME_SUPABASE_ANON_KEY` 상수 (process.env에서 읽음)
|
||||
- `isSupabaseBuildTimeConfigured()` 헬퍼 export
|
||||
- `configGet('supabaseUrl'/'supabaseAnonKey')`은 빌드 타임 값 절대 우선
|
||||
- `configSet`는 빌드 타임 모드일 때 supabaseUrl/AnonKey 변경 거부
|
||||
### SaaS [1] Supabase 연결 — 소스 하드코딩 (2026-04-13 리팩토링)
|
||||
- **이전**: `.env.local` + `BUILD_TIME_SUPABASE_*` + `saasMode` 분기 → Mac/Windows UI 불일치
|
||||
- **현재**: `packages/core/src/supabase-config.ts`에 URL/Anon Key 하드코딩 (SSOT)
|
||||
- Anon key는 클라이언트용 공개 키(RLS 보호)이므로 소스 포함 안전
|
||||
- `saasMode` 분기 전체 제거, 항상 OAuth(Google/GitHub) only
|
||||
- `env.example` 삭제, `loadSupabaseEnv()` 삭제, `isSupabaseBuildTimeConfigured()` 삭제
|
||||
- `CLOUD_SYNC.CONFIGURE` IPC 채널 삭제
|
||||
- `CloudSyncSection`: 개발자 모드 UI(URL/Key 입력) 완전 제거
|
||||
|
||||
### SaaS [2] OAuth 첫 실행 강제 게이트 → **철회 (Phase 1.5에서 로컬 모드 entry point로 변경)**
|
||||
- `CloudSyncState`에 `saasMode: boolean` 필드 추가 (유지)
|
||||
- `CloudSyncSection`: saasMode에서 OAuth 버튼만, legacy에서는 URL/Key 입력 UI (유지)
|
||||
- ~~`LoginScreen.tsx` 강제 게이트~~ → 제거 (App.tsx에서 사용 안 함, 파일 자체는 유지)
|
||||
### SaaS [2] OAuth 로그인 전략
|
||||
- 로그인 없으면 로컬 Ollama로 동작 (무료)
|
||||
- 로그인은 Google/GitHub OAuth only (Supabase Auth)
|
||||
- ~~`LoginScreen.tsx` 강제 게이트~~ → 제거
|
||||
- ~~`App.tsx` AuthGate 상태머신~~ → 제거 (항상 메인 UI 렌더)
|
||||
|
||||
**철회 이유** (2026-04-11 빅뱅 Phase 1.5):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue