No description
Find a file
toki 56422bc063 feat(artifact-browser): download staging - progress, temp file, verify
- JenkinsClient: streaming download API (DownloadTask/DownloadProgressEvent)
  with cancel support via subscription teardown
- ArtifactStagingService: temp-dir staging, partial file cleanup on error/cancel,
  APK existence/extension/size verification, and post-install cleanup hook
- BuildsPage: _InstallCta upgraded to StatefulWidget with idle→downloading→
  verified/failed/cancelled state machine; LinearProgressIndicator and cancel button

Closes download-progress, temp-download, artifact-verify tasks.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 04:34:06 +09:00
.claude feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
agent-ops feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
agent-roadmap feat(artifact-browser): 빌드 브라우저 변경사항을 반영한다 2026-06-09 21:54:46 +09:00
agent-task feat(artifact-browser): 빌드 브라우저 변경사항을 반영한다 2026-06-09 21:54:46 +09:00
lib feat(artifact-browser): download staging - progress, temp file, verify 2026-06-10 04:34:06 +09:00
macos feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
test feat(artifact-browser): download staging - progress, temp file, verify 2026-06-10 04:34:06 +09:00
.aiexclude feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
.clineignore feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
.clinerules feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
.cursorignore feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
.cursorrules feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
.geminiignore feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
.gitignore feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
.metadata feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
AGENTS.md feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
analysis_options.yaml feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
CLAUDE.md feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
GEMINI.md feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
opencode.json feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
pubspec.lock feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
pubspec.yaml feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00
README.md feat: scaffold AppSok app and roadmap/test baseline 2026-06-08 19:04:08 +09:00

AppSok

Jenkins Android artifact를 Mac에서 내려받고, USB로 연결된 Android 기기에 ADB로 설치하기 위한 Flutter macOS 앱입니다.

Scope

  • Jenkins job/build/artifact 조회
  • 사용자별 Jenkins API token 저장
  • Android device 목록 조회
  • APK 다운로드 및 adb install -r
  • adb logcat 콘솔 뷰어
  • appsok:// 딥링크 기반 설치 진입점

Current Scaffold

  • lib/src/features/builds: build/artifact 목록 화면
  • lib/src/features/devices: ADB device 화면
  • lib/src/features/console: logcat 콘솔 화면
  • lib/src/features/settings: Jenkins/ADB 설정 화면
  • lib/src/services: Jenkins, Keychain, ADB 서비스 골격
  • lib/src/models: Jenkins build와 ADB device 모델

Development

flutter pub get
flutter run -d macos

macOS Notes

  • Jenkins 호출에는 macOS network client entitlement가 필요합니다.
  • ADB 실행과 USB device 접근은 배포 방식에 따라 sandbox 정책 검토가 필요합니다.
  • Jenkins token은 앱 번들에 넣지 않고 macOS Keychain에 사용자별로 저장하는 방향을 기본값으로 둡니다.