github yazinsai/OpenOats v1.22.0
OpenOats 1.22.0 — Architecture rewrite

latest releases: v1.75.0, v1.74.12, v1.74.11...
one month ago

Architecture Rewrite (Container/Controller/Repository)

Complete structural rewrite across 11 phases — no feature changes, no behavior changes.

What changed

  • AppContainer replaces AppRuntime as the single composition root
  • LiveSessionController owns all recording side effects (utterance ingestion, settings reactions, batch polling, finalization pipeline)
  • NotesController owns all notes/history logic (NotesView is now a pure state projection)
  • MeetingDetectionController with AsyncStream for one-shot detection events
  • SessionRepository replaces SessionStore + TranscriptLogger with canonical directory layout (sessions/<id>/session.json, transcript.live.jsonl, notes.md, etc.)
  • SettingsStore replaces monolithic AppSettings with typed property groups
  • Domain/ layer for pure types (no framework imports)
  • Legacy sessions remain fully readable and are lazily migrated on mutation

Why

The previous coordinator-plus-view architecture had business logic scattered across ContentView (700 lines) and AppCoordinator (695 lines). This made it difficult to test, debug, and extend. The rewrite isolates concerns into focused controllers with clear ownership boundaries.

Testing

292 unit tests, all passing. Full UI smoke test suite green.

Don't miss a new OpenOats release

NewReleases is sending notifications on new releases.