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 2d4c9a9f70 Adapt layout for wide screens and tablets
- Switch navigation breakpoint from orientation to width (≥600dp):
  NavigationRail shown on tablets in portrait and phones in landscape
- Chat bubble max-width capped at 480dp (prevents 640dp+ bubbles on tablets)
- Chat input maxLines reduced to 2 when width ≥600dp
- Task edit form centered and constrained to 600dp max-width on tablets

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 12:27:36 -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%