From 8bec7dcde28775e499d04d5d5e947a51bd73894f Mon Sep 17 00:00:00 2001 From: vjrj Date: Fri, 17 Jul 2026 17:36:18 +0200 Subject: [PATCH 1/2] feat(android): split release APK per ABI for F-Droid Adds a versionCodeOverride to build.gradle.kts (F-Droid requires distinct versionCodes per split APK; Google Play's App Bundle is unaffected since this only touches the application-variant/APK output). Bumps to 0.1.2+4. Verified locally: flutter build apk --release --split-per-abi produces app-{armeabi-v7a,arm64-v8a,x86_64}-release.apk with versionCode 31/32/33. --- CHANGELOG.md | 7 +++++++ apps/app_seeds/android/app/build.gradle.kts | 18 ++++++++++++++++++ .../metadata/android/en-US/changelogs/4.txt | 1 + .../metadata/android/es-ES/changelogs/4.txt | 1 + apps/app_seeds/pubspec.yaml | 2 +- 5 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 apps/app_seeds/fastlane/metadata/android/en-US/changelogs/4.txt create mode 100644 apps/app_seeds/fastlane/metadata/android/es-ES/changelogs/4.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ea06ac..005dcd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ All notable changes to Tane are recorded here. Human-readable, newest first. Dates are ISO (YYYY-MM-DD). +## [0.1.2] — 2026-07-17 + +### Changed +- Release builds now produce one split APK per CPU architecture (smaller + downloads) instead of a single universal APK, in addition to the App + Bundle Google Play already used. No user-visible change. + ## [0.1.1] — 2026-07-17 ### Changed diff --git a/apps/app_seeds/android/app/build.gradle.kts b/apps/app_seeds/android/app/build.gradle.kts index abe879a..b0e4713 100644 --- a/apps/app_seeds/android/app/build.gradle.kts +++ b/apps/app_seeds/android/app/build.gradle.kts @@ -85,3 +85,21 @@ dependencies { // Backport of Java 8+ APIs, required by flutter_local_notifications. coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4") } + +// F-Droid builds one split APK per ABI (smaller downloads than a universal +// APK) and needs each split to carry a distinct versionCode so its repo can +// tell them apart; `flutter build apk --split-per-abi` alone gives every +// split the same versionCode. This override only touches the APK +// (applicationVariants) output, not the App Bundle Google Play consumes, so +// Play's per-device delivery is unaffected. +val abiVersionCodes = mapOf("armeabi-v7a" to 1, "arm64-v8a" to 2, "x86_64" to 3) +android.applicationVariants.all { + val variant = this + variant.outputs.all { + val output = this as com.android.build.gradle.internal.api.ApkVariantOutputImpl + val abi = output.getFilter(com.android.build.OutputFile.ABI) + abiVersionCodes[abi]?.let { abiCode -> + output.versionCodeOverride = variant.versionCode * 10 + abiCode + } + } +} diff --git a/apps/app_seeds/fastlane/metadata/android/en-US/changelogs/4.txt b/apps/app_seeds/fastlane/metadata/android/en-US/changelogs/4.txt new file mode 100644 index 0000000..39770e7 --- /dev/null +++ b/apps/app_seeds/fastlane/metadata/android/en-US/changelogs/4.txt @@ -0,0 +1 @@ +Smaller downloads: release builds now ship one APK per phone architecture instead of one universal file. No other change. diff --git a/apps/app_seeds/fastlane/metadata/android/es-ES/changelogs/4.txt b/apps/app_seeds/fastlane/metadata/android/es-ES/changelogs/4.txt new file mode 100644 index 0000000..28e65a9 --- /dev/null +++ b/apps/app_seeds/fastlane/metadata/android/es-ES/changelogs/4.txt @@ -0,0 +1 @@ +Descargas más pequeñas: las versiones ahora reparten un APK por arquitectura de teléfono en vez de uno universal. Sin ningún otro cambio. diff --git a/apps/app_seeds/pubspec.yaml b/apps/app_seeds/pubspec.yaml index d88e309..c3195df 100644 --- a/apps/app_seeds/pubspec.yaml +++ b/apps/app_seeds/pubspec.yaml @@ -1,7 +1,7 @@ name: tane description: "Tane — local-first, encrypted, decentralized traditional-seed inventory and market." publish_to: 'none' -version: 0.1.1+3 +version: 0.1.2+4 environment: sdk: ^3.11.5 From 0aa8dd91ab9fa1897173b94e0b492227c5cad030 Mon Sep 17 00:00:00 2001 From: vjrj Date: Fri, 17 Jul 2026 17:36:32 +0200 Subject: [PATCH 2/2] feat(site): show discreet # permalinks on landing section titles The landing sections had ids but no visible anchor, unlike About/Legal. Add a hover-revealed # link on each section title (Status, Features, Screenshots, Values, FAQ, Collaborate, Get it) and widen the reveal rule beyond .doc so it applies to the home too. --- site/assets/css/main.css | 4 ++-- site/layouts/index.html | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/site/assets/css/main.css b/site/assets/css/main.css index 9564b1e..68effd2 100644 --- a/site/assets/css/main.css +++ b/site/assets/css/main.css @@ -277,7 +277,7 @@ h2 { font-size: clamp(1.4rem, 3vw, 1.9rem); color: var(--green-dark); } main > section[id], .doc :is(h2, h3)[id] { scroll-margin-top: 5.5rem; } -/* Discreet, hover-revealed heading permalinks (About + Legal) */ +/* Discreet, hover-revealed heading permalinks (landing sections + About/Legal) */ .heading-anchor { margin-inline-start: .35em; color: var(--green); @@ -286,5 +286,5 @@ main > section[id], opacity: 0; transition: opacity .15s; } -.doc :is(h2, h3):hover .heading-anchor, +:is(h2, h3):hover .heading-anchor, .heading-anchor:focus { opacity: .6; } diff --git a/site/layouts/index.html b/site/layouts/index.html index 74ae580..a7e1d66 100644 --- a/site/layouts/index.html +++ b/site/layouts/index.html @@ -22,7 +22,7 @@
{{ T "statusBadge" }}
-

{{ T "statusTitle" }}

+

{{ T "statusTitle" }} #

{{ T "statusBody" }}

@@ -39,7 +39,7 @@ {{ with .Params.features }}
-

{{ .title }}

+

{{ .title }} #

{{ with .intro }}

{{ . }}

{{ end }}
{{ range .groups }} @@ -57,7 +57,7 @@ {{ $screens := slice "home" "inventory" "market" "calendar" "detail" }}
-

{{ T "screenshotsTitle" }}

+

{{ T "screenshotsTitle" }} #

{{ range $s := $screens }} {{ $img := resources.Get (printf "screenshots/%s/%s.png" $lang $s) | fingerprint }} @@ -82,14 +82,14 @@
-

{{ .Params.values.title }}

+

{{ .Params.values.title }} #

    {{ range .Params.values.points }}
  • {{ . }}
  • {{ end }}
-

{{ T "faqTitle" }}

+

{{ T "faqTitle" }} #

{{ T "faqFreeQ" }}
{{ T "faqFreeA" }}
{{ T "faqAccountQ" }}
{{ T "faqAccountA" }}
@@ -100,7 +100,7 @@
-

{{ T "collabTitle" }}

+

{{ T "collabTitle" }} #

{{ T "collabIntro" }}

@@ -124,7 +124,7 @@
-

{{ T "getItTitle" }}

+

{{ T "getItTitle" }} #

{{ partial "store-badges.html" . }}
{{ end }}