--- ui_doc_type: view view_id: settings status: 구현됨 frame: null source_evidence: - type: code path: lib/src/features/settings/settings_page.dart notes: "SettingsPage, _WebLoginSection, _AdbDiagnosticsSection" - type: docs path: README.md notes: "사용자별 Jenkins API token 저장과 ADB 설정 scope" - type: docs path: agent-roadmap/phase/security-distribution/milestones/auth-broker-evaluation.md notes: "WebView token 자동 발급과 credential 정책 검토 맥락" - type: user path: null notes: "agent-ui 생성 요청" regions: - settings.jenkins-card - settings.web-login-controls - settings.adb-card - settings.adb-diagnostics --- # Settings View ID: `settings` Frame: - 없음 Status: `구현됨` ## Source Evidence | Type | Path | Notes | |------|------|-------| | code | `lib/src/features/settings/settings_page.dart` | `SettingsPage`, `_WebLoginSection`, `_AdbDiagnosticsSection` | | docs | `README.md` | 사용자별 Jenkins API token 저장과 ADB 설정 scope | | docs | `agent-roadmap/phase/security-distribution/milestones/auth-broker-evaluation.md` | WebView token 자동 발급과 credential 정책 검토 맥락 | | user | 없음 | agent-ui 생성 요청 | ## Purpose Jenkins base URL과 credential 흐름, ADB path/update option, ADB runtime diagnostics를 관리한다. ## Primary Users - Jenkins credential과 ADB runtime 상태를 준비하는 개발자 또는 QA 담당자 ## Primary Tasks - Jenkins base URL을 입력하고 Web Login을 시작한다. - token 저장/credential 삭제 결과를 확인한다. - ADB path와 설치 전 update option을 확인한다. - ADB runtime source/path/version/hash diagnostics를 새로고침한다. ## Information Priority 1. Jenkins URL validation과 Web Login/Credential 삭제 actions 2. token 저장/삭제 결과와 오류 feedback 3. ADB path/update option과 diagnostics rows ## Regions | Region ID | Purpose | Component | Priority | Notes | |-----------|---------|-----------|----------|-------| | `settings.jenkins-card` | Jenkins base URL, default job, auth mode selector 표시 | `jenkins-credential-panel` | high | Base URL validation 포함 | | `settings.web-login-controls` | Web Login, Credential 삭제, 저장/삭제 결과 feedback | `jenkins-credential-panel` | high | `_WebLoginSection` | | `settings.adb-card` | adb path field, 찾기 button, install update switch | 없음 | medium | 현재 일부 control은 placeholder action | | `settings.adb-diagnostics` | ADB runtime diagnostics row와 refresh action | `adb-diagnostics` | medium | diagnostics loader가 있을 때 표시 | ## Actions | Action ID | Trigger | Result | Guard | |-----------|---------|--------|-------| | `settings.edit-base-url` | Base URL 입력 | URL validation error 표시 여부 갱신 | 없음 | | `settings.open-web-login` | Web Login button | Jenkins Web Login dialog 시작 | base URL이 유효하고 busy 아님 | | `settings.clear-credential` | Credential 삭제 button | 저장된 session 삭제 시도 | clearer 있음, busy 아님 | | `settings.refresh-adb-diagnostics` | diagnostics refresh icon | ADB runtime diagnostics reload | diagnostics loader 있음 | | `settings.pick-adb-path` | 찾기 button | 현재 구현은 placeholder | 없음 | ## States - loading: Web Login, token 저장, session 삭제, diagnostics loading 상태를 indicator로 표시한다. - empty: diagnostics 없음 또는 optional diagnostics loader 없음. - error: URL validation error, 로그인 오류, token 저장 실패, credential 삭제 실패, diagnostics load 실패. - permission-denied: Jenkins 재인증 필요 상태는 `builds`에서 사용자를 설정으로 유도한다. ## Open Questions - 없음 ## Decision History - 2026-06-25: Jenkins credential과 ADB diagnostics UI를 `settings` view로 기록했다.