Koder Hub SDK

  • Area: Developer Platform
  • Path: engines/sdk/store
  • Kind: Flutter SDK — in-app update checking and download for Koder apps

Role in the stack

engines/sdk/store is the Flutter client library that gives any Koder app automatic self-update awareness. Apps embed it, call KoderHubUpdater.check(slug, currentVersion), and get back an UpdateInfo object if a newer version is available on the Koder Hub. The SDK also ships an optional UpdateDialog widget for a standardized update prompt UI.

The API backend is apps/store at hub.koder.dev/api/v1/apps/{slug}. The SDK caches dismissed version numbers in shared_preferences so users are not re-prompted for updates they already skipped.

Primary couplings

Module Relationship
apps/store Provides the catalog REST API the SDK queries
Any Koder Flutter app Consumer — call KoderHubUpdater.check() at startup

Interfaces

  • KoderHubUpdater.check(slug, currentVersion)Future<UpdateInfo?>
  • KoderHubUpdater.checkResult(slug, currentVersion, {ignoreDismissed})Future<CheckResult>CheckResult.ok separates a completed check from a failed one so callers don't arm an update-check throttle on a transient failure (dek#141)
  • UpdateInfo.hasUpdate — bool comparison via semver
  • UpdateDialog widget — standard in-app update prompt; on Android it downloads, SHA-256-verifies, and installs via the native PackageInstaller Session API, showing a pre-install Play Protect / device-PIN guidance step (dek#139/#140)
  • KoderHubUpdateStrings — localizable labels for the dialog (en-US defaults; consumers like dek pass pt-BR/en-US via KoderL10n)