This repository has been archived on 2026-06-02 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
868cb0e49ede64fd7e4caad0e9f99c51bd9fb2a0
Milestone data layer: - lib/data/models/milestone.dart: Milestone model with progress fields (total, completed, pct) from backend progress endpoint - lib/data/api/milestones_api.dart: CRUD client for /api/projects/:id/milestones - lib/data/repositories/milestones_repository.dart: thin repository wrapper - lib/providers/milestones_provider.dart: FutureProvider.family keyed by project ID — lazily fetched per project when expanded - api_client_provider.dart: registers milestonesApiProvider and milestonesRepositoryProvider Projects tab redesign (project_list_screen.dart): - Each project is now an ExpansionTile showing open task count in subtitle - Expanding a project fetches its milestones and groups tasks under milestone headers with inline progress bar (completed/total count) - Tasks show status icon, due date with overdue highlighting, priority dot - 'No milestone' section at bottom for unassigned tasks - Tapping a task navigates to the task editor - Long-press on project title opens archive/complete/delete bottom sheet - 'New task' button at bottom of each expanded project section Bump version to 26.03.02+1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fabled — Android App
Native Android client for FabledAssistant, a self-hosted AI productivity assistant.
Features
- Notes — create, edit, and browse markdown notes
- Tasks — manage tasks with status (To Do / In Progress / Done) and priority
- Chat — streaming AI conversations with real-time SSE response display
- Quick Capture — FAB shortcut to create a note or task from anywhere
- OAuth / SSO — authenticates via your server's configured OIDC provider; local username/password login also supported if enabled on the server
- Session persistence — stays logged in across app restarts via a persistent cookie jar
- Home screen widget — tap to open the chat screen directly from the Android launcher
Requirements
- A running FabledAssistant server (self-hosted)
- Android 5.0+ (API 21)
Getting Started
Prerequisites
- Flutter 3.x SDK
- Android Studio (for Android SDK and emulator)
- JDK 17
Setup
flutter pub get
flutter run
On first launch, enter your FabledAssistant server URL (e.g. https://fabled.example.com) and sign in.
Architecture
lib/
├── main.dart # Entry point; resolves async deps before runApp
├── app.dart # GoRouter + auth redirect guards + shell nav
├── core/
│ ├── constants.dart # Route name constants
│ └── exceptions.dart # AppException hierarchy
├── data/
│ ├── api/ # Dio HTTP layer (one class per resource)
│ ├── models/ # Plain Dart models with fromJson/toJson
│ └── repositories/ # Thin wrappers over API classes
└── providers/ # Riverpod providers (state + dependency wiring)
screens/ # Flutter UI screens
Key packages: flutter_riverpod, go_router, dio + cookie_jar, flutter_inappwebview, flutter_markdown
Building a Release APK
flutter build apk --release
The signed APK will be at build/app/outputs/flutter-apk/app-release.apk.
Description
Releases
32
Languages
Dart
87.9%
C++
5.7%
CMake
4.2%
Swift
0.7%
Shell
0.5%
Other
1%