F∆I Studio — desktop GUI for the F∆I hub
Find a file
flemming-it 9bd5ddf8d2
Some checks failed
Security / Security check (push) Failing after 1s
feat(studio): live audit feed via streamEvents (poll stays as safety net)
The Audit page subscribes to streamEvents and nudges an immediate
(debounced) refresh on each new event, so the feed updates instantly
instead of waiting up to 2 s. Reuses the proven _refresh() path, so
list management + filtering + hash-chain ordering are unchanged. The
2 s poll remains the safety net: on a persistent stream error the page
is still fresh within the interval; a clean stream close re-subscribes
once after 3 s. Subscription + debounce cancelled on dispose.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
2026-06-19 10:07:08 +02:00
.forgejo/workflows ci(security): add self-test harness (mirror of fai/platform) 2026-05-10 21:41:23 +02:00
.githooks docs: old product name F∆I Platform -> Ch∆In + contact chain@flemming.ai 2026-06-16 10:14:30 +02:00
assets refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
docs refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
lib feat(studio): live audit feed via streamEvents (poll stays as safety net) 2026-06-19 10:07:08 +02:00
linux fix(ui): window title Ch∆In Studio (was F∆I); de-dup federation add-satellite 2026-06-18 12:53:35 +02:00
macos fix(ui): window title Ch∆In Studio (was F∆I); de-dup federation add-satellite 2026-06-18 12:53:35 +02:00
test refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
tools refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
windows refactor: rename app fai_studio -> chain_studio 2026-06-16 17:48:11 +02:00
.gitignore feat: F∆I Studio MVP scaffold (Tier-2 desktop GUI) 2026-05-05 14:19:39 +02:00
.metadata feat: F∆I Studio MVP scaffold (Tier-2 desktop GUI) 2026-05-05 14:19:39 +02:00
.security-allow ci(hooks): pre-commit security check (mirror of fai/platform) 2026-05-09 13:32:26 +02:00
analysis_options.yaml feat: F∆I Studio MVP scaffold (Tier-2 desktop GUI) 2026-05-05 14:19:39 +02:00
CHANGELOG.md docs: changelog Unreleased section for tonight's Studio work 2026-06-19 02:57:37 +02:00
l10n.yaml feat(studio): app-wide i18n via flutter_localizations (v0.24.0) 2026-05-08 01:19:32 +02:00
pubspec.lock refactor: rename app fai_studio -> chain_studio 2026-06-16 17:48:11 +02:00
pubspec.yaml refactor: rename app fai_studio -> chain_studio 2026-06-16 17:48:11 +02:00
README.md refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00

Ch∆In Studio

Desktop GUI client for the Ch∆In Platform hub. Tier-2 generic platform client per docs/architecture/client.md. Connects to a local or remote chain serve over gRPC.

Status (2026-05-05): MVP scaffold. Three pages with mock data, no live gRPC connection yet. Validates the visual direction before the Dart SDK is wired in.

Pages (MVP scope)

  1. Modules — installed modules, capabilities, declared permissions. Click → manifest detail.
  2. Audit — live stream of hub events (when wired). Filter by event type and flow.
  3. Approvals — pending system.approval@^0 reviews with approve / reject buttons.

These three cover the platform's central properties: composition (modules), audit (events), human-in-the-loop (approvals).

Stack

  • Flutter 3.40+ (Desktop: macOS, Linux, Windows)
  • gRPC client via chain_client_sdk (sibling repo; pinned by relative path during development)
  • No external runtime dependencies; bundles its own Dart VM

Run locally

flutter run -d macos

Repo placement

Will be published as fai/studio on Forgejo (git.flemming.ws). The local directory chain_studio/ follows the established fai_chain/ layout convention.

Why "Studio" and not "Stage"

"Stage" collided too easily with "staging environment" in developer English. "Studio" is the established industry pattern for creator-tools (Visual Studio, Android Studio, RStudio) and matches the GUI's audience of module developers, operators, and power users. The rename was applied across all docs/ in the platform repo on 2026-05-05.