Skip to content

Aide v1.0.3 (103)

Choose a tag to compare

@github-actions github-actions released this 04 Oct 18:55
· 18 commits to master since this release
cfda9dc

Aide v1.0.3

First Android build this project has been able to actually produce. assembleDebug,
assembleRelease and the unit tests all failed before this release.

⚠️ This is a new app, not an update

The application ID changed from ke.co.aide to com.omix.aide. Android matches
updates by package name, so this APK installs alongside v1.0.2 rather than
replacing it.

  • If you have Aide v1.0.2 installed, uninstall it after exporting your data
    (Settings → export), then import into this version.
  • Existing sales history does not carry over — the local database lives inside
    the old app's private storage.
  • Fresh installs on a new device are unaffected.

Fixed

  • The Android build was broken. A half-finished package rename left 22 source
    files missing, and the replacement files referenced packages and APIs that did
    not exist. MainActivity called setContent twice; the splash painted a
    detached copy of its own layout; ThemePickerScreen mixed View and Compose APIs.
  • The new-release check never ran. ReleaseReceiver was registered
    exported="false" with no BOOT_COMPLETED filter and no
    RECEIVE_BOOT_COMPLETED permission, and the hand-written BuildConfig read the
    system resource table, so it could never see an injected value.
  • Release versions came from the wrong place. They were grepped out of
    build.gradle.kts, which is how v1.0.1 shipped an APK that reported itself as
    1.0.0. The tag is now the source of truth — this build is 1.0.3 / code 103
    because the tag says v1.0.3.
  • Signing now fails closed. The keystore step silently did nothing when its
    secret was missing, which shipped unsigned APKs. assembleRelease now aborts
    rather than produce one, and the finished APK is verified with apksigner
    before it is published.

UI

  • The accent theme picker actually works now. It was a near no-op — the brand
    colour was hardcoded in 11 places, so choosing Plum, Teal or Amber changed
    almost nothing on screen.
  • Muted text uses the proper onSurfaceVariant token instead of hand-rolled
    onSurface.copy(alpha = …) workarounds.
  • Dashboard and inventory show a loading state on first launch instead of
    briefly displaying zeroed stats and "No sales recorded today yet".
  • Payment-method chips and the product "+ Add" button raised to the 48dp
    minimum tap target.
  • Cards use a hairline border instead of a drop shadow, which stays legible in
    dark mode.

Built with

Kotlin 2.1.20 · AGP 8.13.2 · Compose BOM 2025.09.00 · Room 2.7.2 · WorkManager
2.10.5 · compileSdk 36 / targetSdk 35 · JDK 17

Verify this download

SHA-256 (aide-1.0.3.apk)
343d03276dfd11d340e5285e7dc0fa21104ff64959e7763d320d567edb183e87

The same hash is listed on https://aide.omixsystems.store/downloads.

Full changelog: v1.0.2...v1.0.3