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.
bvandeusen 4da36aa31d Initial commit: Fabled Android app
Flutter Android client for FabledAssistant with:
- Session-cookie auth via persistent cookie jar (Dio + cookie_jar)
- OAuth/SSO login via in-app WebView (flutter_inappwebview)
- Notes: list, detail (markdown render), create/edit
- Tasks: list with status tabs, create/edit with priority
- Chat: SSE streaming bubbles, conversation management
- Quick Capture FAB for rapid note/task creation
- Settings screen (change server URL, logout)
- Android home screen widget → opens chat
- Riverpod state management, go_router navigation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 21:28:53 -05:00
2026-02-28 21:28:53 -05:00
2026-02-28 21:28:53 -05:00
2026-02-28 21:28:53 -05:00
2026-02-28 21:28:53 -05:00
2026-02-28 21:28:53 -05:00

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

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.

S
Description
mobile app to connect to the fabled assistant
Readme 2.6 MiB
Languages
Dart 87.9%
C++ 5.7%
CMake 4.2%
Swift 0.7%
Shell 0.5%
Other 1%