No description
  • Dart 96.3%
  • Python 2.6%
  • Ruby 0.5%
  • Swift 0.4%
  • Shell 0.1%
Find a file
Max Fiedler 5f6e49c9c3 Fix F-Droid ABI-split recipe: three per-ABI build blocks
The F-Droid build failed with "Multiple apks match app-*-release.apk": a
single Builds block with a glob output can't resolve to one APK
(fdroidserver globs the output and errors on >1 match).

Replace the single glob block with three explicit per-ABI blocks, each
building just its ABI via `--split-per-abi --target-platform=android-<abi>`
(so build.gradle.kts's versionCodeOverride still applies) and naming that
ABI's file:
- 61  app-armeabi-v7a-release.apk  --target-platform=android-arm
- 62  app-arm64-v8a-release.apk    --target-platform=android-arm64
- 63  app-x86_64-release.apk       --target-platform=android-x64

Verified locally: --target-platform=android-arm64 builds exactly
app-arm64-v8a-release.apk at versionCode 62. Same seed commit (d1db3b2,
v0.2.1) — no app change, no new tag. VercodeOperation kept so checkupdates
computes CurrentVersionCode 63.

Reference copy only (not used by app/CI); validated with real `fdroid lint`.

Pre-commit gate: code-reviewer PASS, security-auditor SECURE.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-27 14:12:54 +02:00
.claude Bootstrap Cairn: Flutter scaffold, architecture, docs, licensing 2026-06-14 23:19:01 +02:00
.forgejo/workflows Rebrand to LuminaApps; bundle id com.luminaapps.cairn 2026-06-23 13:01:25 +02:00
.githooks Fix Android workout/sleep reads; add secret-guard pre-commit hook 2026-06-15 16:08:12 +02:00
android Release 0.2.1: F-Droid ABI-split packaging 2026-07-27 13:12:51 +02:00
assets/icon Add Cairn app icon and capitalize the app name 2026-06-17 13:09:24 +02:00
docs Compact re-reported cumulative totals on ingest 2026-07-01 15:19:48 +02:00
fastlane/metadata Release 0.1.3: fix F-Droid build (rm globs, signing scrub) 2026-06-23 14:46:01 +02:00
fdroid Fix F-Droid ABI-split recipe: three per-ABI build blocks 2026-07-27 14:12:54 +02:00
ios Fix iOS HealthKit entitlement; pin iOS deployment target 14.0 2026-06-24 08:36:22 +02:00
lib Compact re-reported cumulative totals on ingest 2026-07-01 15:19:48 +02:00
test Compact re-reported cumulative totals on ingest 2026-07-01 15:19:48 +02:00
tool Rebrand to LuminaApps; bundle id com.luminaapps.cairn 2026-06-23 13:01:25 +02:00
.fvmrc Bootstrap Cairn: Flutter scaffold, architecture, docs, licensing 2026-06-14 23:19:01 +02:00
.gitattributes Bootstrap Cairn: Flutter scaffold, architecture, docs, licensing 2026-06-14 23:19:01 +02:00
.gitignore Add internationalization (English + German) 2026-06-17 11:56:46 +02:00
.metadata Bootstrap Cairn: Flutter scaffold, architecture, docs, licensing 2026-06-14 23:19:01 +02:00
analysis_options.yaml Add internationalization (English + German) 2026-06-17 11:56:46 +02:00
CHANGELOG.md Release 0.2.1: F-Droid ABI-split packaging 2026-07-27 13:12:51 +02:00
CLAUDE.md Compact re-reported cumulative totals on ingest 2026-07-01 15:19:48 +02:00
flutter_launcher_icons.yaml Add Cairn app icon and capitalize the app name 2026-06-17 13:09:24 +02:00
l10n.yaml Add internationalization (English + German) 2026-06-17 11:56:46 +02:00
LICENSE Bootstrap Cairn: Flutter scaffold, architecture, docs, licensing 2026-06-14 23:19:01 +02:00
pubspec.lock Add opportunistic background sync (Phase 5) 2026-06-17 13:57:31 +02:00
pubspec.yaml Release 0.2.1: F-Droid ABI-split packaging 2026-07-27 13:12:51 +02:00
README.md Bootstrap Cairn: Flutter scaffold, architecture, docs, licensing 2026-06-14 23:19:01 +02:00

Cairn

A personal health-data aggregator that you own end to end.

Cairn reads your wearable and phone health data from the platform's own health store (Apple HealthKit / Android Health Connect), normalizes it into an open, documented file format (Open mHealth / IEEE 1752.1, as sharded JSON Lines), and syncs it into a Nextcloud you control. No central server, no proprietary database, no vendor lock-in — the files in your Nextcloud are the single source of truth.

It is deliberately aimed at privacy-conscious people and self-hosters who run (or will happily run) their own Nextcloud. "Bring your own Nextcloud" is the feature, not a barrier.

Components

  • Mobile app (Flutter, iOS + Android) — reads the health store, writes OMH files, syncs over WebDAV. The only writer. (MIT)
  • Nextcloud web app (PHP + Vue, planned) — an optional, read-only second frontend over the same files. (AGPL-3.0-or-later — Nextcloud app store)

Status

Early development. The repository currently contains the project foundation: Flutter scaffold, architecture skeleton, and documentation. See the phased plan in docs/DESIGN.md §15.

Documentation

License

The mobile app and the OMH file format are released under the MIT License. The future Nextcloud web app will ship from its own subtree under AGPL-3.0-or-later (it links AGPL Nextcloud server code); see docs/DEVELOPMENT.md §5.

Not a medical device

Cairn aggregates and visualizes data. It makes no diagnostic, treatment, or clinical claims.