KoderSignInButton
RatifiedAuth koder-app/behaviors.kmd §1
Branded sign-in entry point that delegates to Koder ID via OIDC. Handles redirect, callback parsing, and emits a typed user object on success.
Reusable widgets shipped by koder_kit (Flutter) and koder_web_kit (web). Each tile points at the spec that defines its behavior; ratified components also have a live demo page.
Auth koder-app/behaviors.kmd §1
Branded sign-in entry point that delegates to Koder ID via OIDC. Handles redirect, callback parsing, and emits a typed user object on success.
Auth koder-app/behaviors.kmd §1
Compact avatar + name display, opens the account menu. Reads from the same auth context that KoderSignInButton populates.
Auth koder-app/behaviors.kmd §1
Wraps a screen so it only renders when the user is signed in; otherwise routes to the sign-in flow with a return-to URL.
Desktop desktop-apps/title-bar-double-click.kmd
Custom desktop title bar with drag-to-move on non-interactive areas and a free-area subwidget for double-tap maximize. Replaces ad-hoc GestureDetector wrappers that hijack the gesture arena.
Layout app-layout/safe-area.kmd
Drop-in Scaffold replacement that respects window insets on every surface (mobile notches, gesture bars, desktop chrome, web safe-area-inset).
Navigation navigation/back-behavior.kmd
Pops one route per back/Esc press; exits the app only at the root. Centralizes back behavior so each screen does not re-implement it.
Errors errors/user-facing-messages.kmd
User-facing error surface with humanized message, error ID, and a "see details" expander. Speaks the canonical <PRODUCT>-<CAT>-<CODE>-<SEQ> error vocabulary.
Errors errors/reporting.kmd
Opt-in telemetry pipeline + KoderReportButton for one-tap problem reports. Default OFF; never collects without consent.
Auth koder-app/behaviors.kmd §4
Non-blocking banner that announces a fresh release, downloads it silently, and prompts to restart. Toggle lives in Settings, default ON.
i18n i18n/contract.kmd §R3
Locale autodetect from the device, persistence per surface, and a switcher widget. Backed by ICU keys with en-US baseline + pt-BR mandatory.
Theme themes/ui-style.kmd
Grid of preset cards with live previews for the 19 ratified UI styles. Selection persists under koder.ui_style.
Theme themes/light-dark.kmd
Two-state light/dark toggle with anti-flash inline script and matchMedia listener. Mirrors the spec on this site verbatim.
Navigation (proposta — koder_kit#029)
Ctrl+K command palette with fuzzy match across in-app actions. Proposed in koder_kit#029.
Settings cache-purge/contract.kmd
Settings tile + service that clears local caches (HTTP, image, IndexedDB) with a confirmation dialog and a per-surface progress indicator.
Hub landing-pages/download-button.kmd
Drop-in download button for product landing pages; resolves the latest release per platform from hub.koder.dev/apps/<slug>.
Voice voice/wake-word.kmd
Settings tile for the 6 voice toggles (enabled, talkMode, hotWord, backend, bargeIn, debugRecord). All OFF by default except bargeIn.
Settings settings/patterns.kmd
Composable Settings tile + group + page primitive shared by every Koder app. Powers ui_style, theme, language, voice, and reporter tiles.