97 lines
3.8 KiB
Markdown
97 lines
3.8 KiB
Markdown
---
|
|
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로 기록했다.
|