v1.2.8 : « Fréquence d'injection » renommé « Posologie » ; script : renommage d'asset après upload (quirk Gitea)
- strings EN « Dosage » / FR « Posologie » ; hint « dernière prise » (au lieu
de « dernière injection ») — adapté aux voies non injectables
- quirk Gitea découvert : le nom d'asset passé à l'upload peut être normalisé
(observé : -release.apk → .apk générique) → le script renomme l'asset via
l'API d'édition (PATCH …/assets/{id}) après chaque upload
- release v1.2.8 publiée avec les 2 APK (release 2,5 Mo + debug 21 Mo)
- docs : §16.bis quirk, §8 (64 tests), historique, footer, README
- versionCode 11, versionName 1.2.8
This commit is contained in:
parent
8468bcbd65
commit
139f818172
@ -9,7 +9,7 @@ sauvegarde JSON. **100 % local, aucun compte, aucun serveur.**
|
||||
> à titre informatif — ce ne sont pas des mesures. Fie-toi toujours à tes analyses de
|
||||
> sang et aux consignes de ton endocrinologue.
|
||||
|
||||
- **Statut** : v1.2.7 — build Android ✅, **64 tests unitaires** ✅ (44 sans les données de test locales ; 3 régressions épinglées sur données réelles **non versionnées**), intégration montre = notifications ✅, **dépôt Gitea privé + releases avec APK** ✅
|
||||
- **Statut** : v1.2.8 — build Android ✅, **64 tests unitaires** ✅ (44 sans les données de test locales ; 3 régressions épinglées sur données réelles **non versionnées**), intégration montre = notifications ✅, **dépôt Gitea privé + releases avec APK** ✅
|
||||
- **Journal des versions** : [docs/CHANGELOG.md](docs/CHANGELOG.md)
|
||||
- **Guide utilisateur** : [docs/GUIDE_INSTALLATION.md](docs/GUIDE_INSTALLATION.md)
|
||||
- **Doc de développement** (architecture, maths, décisions, bugs) : [docs/DEVELOPPEMENT.md](docs/DEVELOPPEMENT.md)
|
||||
|
||||
@ -71,6 +71,7 @@ Fonctionnalités v1 :
|
||||
| 5 sept. 2026 (session v1.2.1) | Remontées UX/utilisateur : calibration **par période d'ester** (labs EV → doses EV, labs EEn → doses EEn — corrige les courbes gonflées), lab T "pg/mL" neutralisé, **édition des labs**, tap accueil → Graphiques + mini-légende, auto-cal fusionnée (E2+T, un seul switch) ; 2ᵉ régression épinglée sur le nouvel export ; **44 tests verts**, APK v1.2.1. |
|
||||
| 5 sept. 2026 (session v1.2.2) | Toggle T masque aussi les labs T ; **prise de sang E2 + T en une entrée** (chacune optionnelle) affichée **côte à côte** ; sélecteur d'édition par marqueur ; suppression par prise ; 4 tests de regroupement ; **48 tests verts**, APK v1.2.2. |
|
||||
| 5 sept. 2026 (session v1.2.6) | Valeurs estimées affichées sur les pics/creux (drawExtremum) ; **import JSON en mode écrasement** (bug : conflit d'IDs si données existantes) avec restauration du tConfig et reprogrammation des rappels ; docs ; 62 tests verts, APK v1.2.6 + releases. |
|
||||
| 5 sept. 2026 (session v1.2.8) | « Fréquence d'injection » → **« Posologie »** (terme adapté à toutes les voies) ; quirk Gitea découvert (noms d'assets normalisés à l'upload) → renommage PATCH dans le script ; releases avec les 2 APK ; 64 tests verts. |
|
||||
| 5 sept. 2026 (session v1.2.7) | Prévision : les créneaux passés ne sont plus simulés (bug oubli → faux pic historique) ; retard = décalage voulu ; mismatch doc-code §7.3b corrigé ; 2 tests ; **64 tests verts**, APK v1.2.7 + releases. |
|
||||
|
||||
Leçon importante de la session build : **les erreurs de compilation et les bugs sémantiques
|
||||
@ -338,7 +339,7 @@ Type de retour : `LevelPoint(timestamp, e2, t)`.
|
||||
|
||||
## 8. Tests unitaires
|
||||
|
||||
**62 tests JVM, tous verts** (`./gradlew testDebugUnitTest`) — 44 sans les
|
||||
**64 tests JVM, tous verts** (`./gradlew testDebugUnitTest`) — 44 sans les
|
||||
données de test locales (cf §8.bis). Dépendance : JUnit 4.13.2.
|
||||
Emplacement : `app/src/test/java/com/hormonetrack/`. Répertoire de travail d'exécution =
|
||||
`app/` → l'asset est lu via `src/main/assets/pk_profiles.json` (fallback `app/src/…`).
|
||||
@ -763,7 +764,10 @@ Le script :
|
||||
le fallback « Voir docs/CHANGELOG.md » ;
|
||||
- crée la release si absente, sinon **met à jour le corps** (PATCH) ;
|
||||
- attache l'APK (remplace l'asset du même nom si présent) — appeler le script
|
||||
DEUX FOIS pour publier les deux APK (noms distincts) :
|
||||
DEUX FOIS pour publier les deux APK (noms distincts) ;
|
||||
⚠️ quirk Gitea : le nom passé à l'upload peut être normalisé (observé :
|
||||
`-release.apk` → `.apk` générique) → le script RENOMME l'asset via l'API
|
||||
d'édition (`PATCH …/assets/{id}`) après chaque upload — ne pas retirer ;
|
||||
`HormoneTrack-vX.Y.Z-release.apk` (**recommandé**, R8) et
|
||||
`HormoneTrack-vX.Y.Z-debug.apk` ;
|
||||
- lit le token Gitea dans le trousseau macOS (`security find-internet-password`) ;
|
||||
@ -923,4 +927,4 @@ Sur le téléphone de test (à compléter par l'utilisatrice) :
|
||||
sur le graphique** et la calibration couvre toujours ses périodes
|
||||
|
||||
---
|
||||
*Doc mise à jour le 5 sept. 2026 (v1.2.7) — build OK, 62/62 tests verts (44 sans les données locales), dépôts Gitea (cloudyfy + farewell) avec releases APK, aucune donnée de santé dans le dépôt ni l'historique.*
|
||||
*Doc mise à jour le 5 sept. 2026 (v1.2.8) — build OK, 62/62 tests verts (44 sans les données locales), dépôts Gitea (cloudyfy + farewell) avec releases APK, aucune donnée de santé dans le dépôt ni l'historique.*
|
||||
|
||||
@ -134,6 +134,11 @@ def main():
|
||||
"POST", token=token,
|
||||
files={"name": asset_name, "data": f.read()},
|
||||
)
|
||||
# ⚠️ Quirk Gitea : le nom passé à l'upload peut être normalisé/écrasé
|
||||
# (observé : "-release.apk"/"-debug.apk" → ".apk" générique) → renommage
|
||||
# explicite via l'API d'édition d'asset, TOUJOURS.
|
||||
request(f"{base}/releases/{release_id}/assets/{asset['id']}",
|
||||
"PATCH", token=token, data={"name": asset_name})
|
||||
link = asset.get("browser_download_url", "?")
|
||||
else:
|
||||
link = "—"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user