Skip to content

Releases: Chachigo/butineur

1.0.0

Choose a tag to compare

@github-actions github-actions released this 27 Aug 19:54

First stable release. Butineur leaves beta: the repository is public under the
AGPL-3.0, and the APKs are now signed with a real release key.

Lire en français

What's new

  • Subtasks, one level deep. A bunch arrives once: the parent is never
    completed by hand, its subtasks are what pay it, and its own reward is the
    bonus for the whole bunch. (c0f6927, d65af8c)
  • English and French interface, following the phone on first launch, or
    forced in the settings. (5e88edb, d07651a)
  • Reorder tasks by hand — a handle appears under a long press. (7339f45)
  • A chosen time for reminders set days in advance. (1b5b954)
  • A "Report a bug" button in the settings. (8b30b6e)
  • An install guide in both languages, and an Obtainium link that fills in
    the form for you. (a384642)
  • AGPL-3.0 license, a NOTICE for the dependencies, contribution rules and
    issue templates. (a1e6e71, bad11f4)
  • Release signing and CI: a v* tag builds the APK, checks its signing
    fingerprint and attaches it to the release. (83ae054)

Fixes

  • The streak tolerance is one day rather than one cycle, reminders are set as
    exact alarms, and the free-form amount clears after a purchase. (3e06cf2)
  • A counter reaching its target is read from a flag, no longer from a string
    comparison. (89a9c7b)
  • A parent cannot be a counter task. (b9479ec)
  • The counter checkbox of a subtask says what it is. (749ebfe)
  • A quick task puts its subtasks to rest too. (1fdbf44)
  • The page's lang attribute follows the interface language. (dec6c4f)
  • The error for an unreadable backup is translated. (d89b41c)

⚠️ Coming from a beta

Every version up to 0.6.0-beta was signed with a development key. Android
refuses an update signed with a different key, so you have to save your data
(Settings → Backup), uninstall, install 1.0.0, then restore. This is the last
time — the release key will not change again (SHA-1
AB:C3:E5:2C:C7:C9:65:F9:CB:90:42:AB:B7:67:D3:0F:E4:F3:B1:0D).

Install: guide — Android 7.0 or newer.


Français

Première version stable. Butineur sort de la bêta : le dépôt est public, sous
licence AGPL-3.0, et les APK sont désormais signés avec une vraie clé de release.

Nouveautés

  • Sous-tâches, sur un seul niveau. Un bouquet arrive une fois : le parent ne
    se valide pas à la main, ce sont ses sous-tâches qui le paient, et sa propre
    récompense est le bonus du bouquet complet. (c0f6927, d65af8c)
  • Interface en anglais et en français, selon le téléphone au premier
    lancement, ou forcée dans les réglages. (5e88edb, d07651a)
  • Ranger les tâches à la main : une poignée apparaît sous un appui long. (7339f45)
  • Une heure choisie pour les rappels posés des jours à l'avance. (1b5b954)
  • Bouton « Signaler un bug » dans les réglages. (8b30b6e)
  • Guide d'installation en deux langues, et un lien Obtainium qui remplit le
    formulaire tout seul. (a384642)
  • Licence AGPL-3.0, NOTICE des dépendances, règles de contribution et
    gabarits d'issue. (a1e6e71, bad11f4)
  • Signature de release et CI : un tag v* fabrique l'APK, vérifie son
    empreinte de signature et l'attache à la release. (83ae054)

Corrections

  • La tolérance de série est d'un jour et non d'un cycle, les rappels sont posés
    en alarme exacte, et la dépense libre se vide après un achat. (3e06cf2)
  • Un objectif de compteur atteint se lit sur un drapeau, plus sur une
    comparaison de texte. (89a9c7b)
  • Un parent ne peut pas être une tâche à compteur. (b9479ec)
  • La case compteur d'une sous-tâche dit ce qu'elle est. (749ebfe)
  • Une tâche rapide repose aussi ses sous-tâches. (1fdbf44)
  • L'attribut lang de la page suit la langue de l'interface. (dec6c4f)
  • Le message d'une sauvegarde illisible se traduit. (d89b41c)

⚠️ En venant d'une bêta

Les versions jusqu'à la 0.6.0-beta étaient signées avec une clé de
développement. Android refuse une mise à jour signée d'une autre clé : il faut
sauvegarder ses données (Réglages → Sauvegarde), désinstaller, installer la
1.0.0, puis restaurer. C'est la dernière fois — la clé de release ne changera
plus (SHA-1 AB:C3:E5:2C:C7:C9:65:F9:CB:90:42:AB:B7:67:D3:0F:E4:F3:B1:0D).

Installation : guide — Android 7.0 ou plus récent.

Butineur 0.6.0-beta

Butineur 0.6.0-beta Pre-release
Pre-release

Choose a tag to compare

@Chachigo Chachigo released this 14 Aug 21:48

Sixième beta. APK signé en debug — Android affichera un avertissement
« source inconnue », c'est normal pour une beta interne. S'installe par-dessus
la précédente sans perdre de données.

Une beta de corrections : rien de neuf à l'écran, mais deux bugs qui touchaient
au solde et trois retours du terrain.

Éditer une tâche ne réécrit plus son historique

C'est la correction qui compte. Changer la récompense d'un compteur multipliait
d'un coup tout ce qu'il avait déjà rapporté, et relever un multiplicateur
revalorisait des validations vieilles d'un mois : le rejeu lisait la tâche
d'aujourd'hui pour recalculer le passé.

L'événement fige désormais tout ce dont le solde dépend — bonus de série sur une
validation, récompense, objectif, paliers et rythme sur un compteur. Le
remboursement d'un objectif reprend exactement le montant versé au lieu de le
recalculer, sinon un aller-retour autour d'une édition ne se soldait plus à zéro.

L'historique existant est protégé lui aussi : un rattrapage au chargement
pose ces champs sur les anciens événements, avec la définition actuelle de la
tâche — c'est déjà celle que le rejeu leur appliquait, le solde ne bouge donc
pas d'un centime au passage.

Le cycle en cours, lui, profite bien du nouveau réglage : il n'est pas encore
validé, donc rien n'y est figé.

Commit caaf6c5.

Valider une tâche en retard ne la laisse plus à faire le jour même

Chaîne cassée, on valide, et la tâche restait dans la liste : il fallait la
valider deux fois. Le tap soldait le cycle manqué au lieu du cycle en cours —
pour une quotidienne validée à midi, l'échéance retenue était celle du soir même,
encore ouverte.

Le cycle rempli est maintenant celui dont la fenêtre contient le tap. Un tap
tombé entre une échéance ratée et l'ouverture du cycle suivant continue, lui, de
solder le cycle raté : c'est une tâche faite en retard, pas en avance. Une
quotidienne due à 20 h et validée à 21 h reste donc due demain 20 h, comme avant.

Commit 8c35818.

Trois finitions

La barre d'état sur un téléphone en thème clair. Les icônes système
s'affichaient en noir sur le bandeau sombre de l'appli — invisibles. Le thème
Android portait pourtant déjà le bon réglage, sans effet : Capacitor rappelle
setTheme après la création de la fenêtre, et son plugin SystemBars repeint
ensuite les barres selon le thème du système. C'est donc à lui qu'il faut le
dire. Commit 57f5e8d.

Deux boutons côte à côte font la même hauteur. Dans « Rappel », un libellé
qui passait à la ligne rendait son bouton plus grand que ses voisins. Vaut aussi
pour les pieds de panneau et les boutons de l'atelier.
Commit 0b78a8f.

Un tap sur une tâche rapide se voit. La tâche posée atterrit plus bas dans la
liste, parfois hors écran : rien ne disait que le tap avait pris. Le bouton fait
maintenant le même à-coup qu'une validation.
Commit 218e981.

Le widget compteur ne déborde plus

Sur une grille d'écran d'accueil dense, ou avec une unité longue, la ligne
« 3/10 unité » repartait à la ligne et sortait de la tuile. Le nom et le compte
tiennent désormais sur une ligne, en rétrécissant d'abord et en coupant ensuite —
plutôt que de plafonner la longueur de l'unité, qui sert aussi ailleurs.

Commit 2923081.


Dix tests de plus sur le moteur, 86 au total. Tout a été vérifié sur le
téléphone, la correction du solde sur les vraies données : récompense d'un
compteur multipliée par dix, solde immobile.

Butineur 0.5.0-beta

Butineur 0.5.0-beta Pre-release
Pre-release

Choose a tag to compare

@Chachigo Chachigo released this 05 Aug 17:35

Cinquième beta. APK signé en debug — Android affichera un avertissement
« source inconnue », c'est normal pour une beta interne. S'installe par-dessus
la précédente sans perdre de données.

Un onglet Stats, pour l'ensemble

Le graphe façon GitHub quittait chaque fiche de tâche : il vit maintenant dans
son propre onglet, toutes tâches confondues sur l'année, avec les mois
au-dessus et les jours de la semaine à gauche. Les jours où un palier tombe
portent un liseré.

Cinq chiffres l'accompagnent : gagné en tout, moyenne par mois, tâches faites,
cycles manqués et plus longue série. Le compte des cycles manqués est une
règle neuve — l'écart entre deux validations d'une tâche répétitive au-delà
d'un cycle, ou depuis la dernière si elle traîne.

La semaine commence le lundi, ou le dimanche si tu préfères. Et l'onglet se
masque entièrement depuis les réglages, pour qui n'en a pas l'usage.

Commits 5648ec5 et
3cd09ab.

Les icônes passent au duotone

Une icône n'est plus d'un seul trait : son fond prend la couleur
d'accentuation
, son détail garde celle du texte. Widgets compris.

La banque passe de 97 à 186 icônes, rangées en treize catégories — six
sont nées de cette sélection, parce que les sept anciennes ne rangeaient plus
rien de juste : Santé, Informatique, Transport, Vêtements, Animaux, Nature.
La banque d'emoji reprend exactement les mêmes catégories, enrichie des
équivalents : on cherche au même endroit dans les deux.

Les icônes déjà choisies sont rattrapées au chargement — sans quoi elles
n'auraient plus montré que leur silhouette.

Et malgré deux fois plus d'icônes, la police pèse cinq fois moins : elle
n'embarque plus que les glyphes utilisés. 160 → 32 ko côté web, 554 → 75 ko
côté Android.

Commits 00d097a,
307fff9 et
aa608f2.

Les rappels tiennent sans ouvrir l'appli

Rien ne tourne en arrière-plan : une notification n'existe que si elle a été
posée pendant que l'appli était ouverte. Comme on n'en posait qu'une par
tâche, un rappel cessait dès qu'il avait sonné, jusqu'à la prochaine
ouverture.

On en pose désormais quatre cycles d'avance — quatre jours pour une
quotidienne, quatre mois pour une mensuelle.

Commit 2a3e753.

Le reste

  • Le gain d'une tâche compteur se voit dans la liste. Les autres
    l'affichaient sur leur bouton ; les compteurs n'affichaient rien.
    (0df4e5a)
  • Une tâche rapide s'édite par appui long, comme les autres se
    sélectionnent.
    (5648ec5)
  • Le graphe de régularité ne surchargeait plus chaque fiche de tâche.
    (5648ec5)
  • Les captures du README se refabriquent en une commande, sur des données de
    démo — plus de vieilles images qui traînent.
    (00c138c)

Ce qui n'a pas changé, après vérification

Le « jour de répit » avant qu'une série ne gèle n'est pas un bug : c'est le
cycle du jour, encore ouvert. Le gel ne tombe qu'une fois ce cycle-là passé
sans validation. Un test fixe désormais ce comportement.


Tous les commits de la 0.5.0-beta

Butineur 0.4.0-beta

Butineur 0.4.0-beta Pre-release
Pre-release

Choose a tag to compare

@Chachigo Chachigo released this 04 Aug 19:22

Quatrième beta. APK signé en debug — Android affichera un avertissement
« source inconnue », c'est normal pour une beta interne. S'installe par-dessus
la précédente sans perdre de données.

Chaque tâche a maintenant une fiche

Taper une tâche qui revient ouvre son bilan au lieu de l'éditeur : série en
cours ou en gel, record, total gagné, prochain palier et ce qu'il rapporte,
prochaine échéance, et dix semaines de cases à la GitHub pour voir la
régularité d'un coup d'œil. Un bouton mène à l'éditeur.

La série pardonne une fois

Un cycle manqué ne casse plus la série : il la gèle 🧊. Elle est conservée,
figée, et le cycle suivant la dégèle — ou la rompt s'il est manqué aussi.

Avant, la tolérance d'un jour valait un cycle entier sur une tâche
quotidienne : la faire un jour sur deux montait une série « quotidienne » à
l'infini, et deux jours d'absence ne cassaient rien.

Un compteur tient enfin une série. Elle ne montait que sur une validation,
or un compteur n'en produit jamais — trois jours à 3/3 laissaient la série à
zéro. Atteindre l'objectif vaut désormais validation.

Le passé ne se recalcule plus

Passer une tâche de 60 à 31 jours recalculait ses échéances passées et pouvait
réparer, ou casser, une série d'il y a trois semaines. Chaque validation emporte
désormais le rythme qu'elle a connu.

Tâches rapides

Une tâche peut devenir un modèle : rangée hors de la liste, elle attend en
raccourci au-dessus. Taper dessus en crée une copie à faire aujourd'hui. Pour ce
qui revient souvent sans être régulier — les courses, la lessive.

Aussi

  • La liste attend deux secondes avant de retrier après un tap : la ligne
    suivante ne remonte plus sous le doigt
  • Rappel « le jour même », à l'heure choisie
  • Les dépenses hors catalogue se corrigent depuis l'historique (crayon ✏️)
  • Les Réglages proposent d'épingler chaque widget sur l'écran d'accueil
  • Le widget compteur fête l'objectif : accent et 🎉
  • Une présentation au premier lancement, rejouable depuis les Réglages
  • Les montants s'affichent au centime — un multiplicateur à +5 % ne tombe plus
    deux fois sur le même nombre affiché
  • Un compteur sans rythme garde son avancement au lieu de repartir de zéro
    chaque nuit ; avec un rythme, il se vide à la fin de son cycle et pas sur une
    grille indépendante
  • Plus de « hier » sur une échéance lue après minuit quand la journée commence
    plus tard

Installation

Autoriser l'installation depuis le navigateur ou le gestionnaire de fichiers,
puis ouvrir l'APK.

Limites connues

  • Interface en français uniquement
  • Pas encore de synchronisation PC (le journal d'événements est prêt pour)
  • Les rappels ne sont reprogrammés qu'à l'ouverture de l'appli
  • La série d'un compteur ne verse pas encore ses paliers ni son multiplicateur

Butineur 0.3.0-beta

Butineur 0.3.0-beta Pre-release
Pre-release

Choose a tag to compare

@Chachigo Chachigo released this 04 Aug 17:01

Troisième beta. APK signé en debug — Android affichera un avertissement
« source inconnue », c'est normal pour une beta interne. S'installe par-dessus
la précédente sans perdre de données.

Deux bugs de calendrier

  • Un compteur ne se vide plus tout seul. Sa période se découpait sur une
    grille de jours indépendante de la tâche : une liste de courses sans rythme
    repartait de zéro chaque nuit, et un compteur hebdomadaire pouvait se vider
    un jeudi au milieu de sa semaine. La remise à zéro suit maintenant le cycle
    — et sans rythme, il n'y en a plus du tout : l'avancement tient jusqu'à ce
    que l'objectif tombe.
  • Plus de « hier » après minuit. Avec une journée qui commence à 1 h, une
    échéance de 23 h 59 lue à 0 h 30 s'affichait « hier » alors que la journée
    n'était pas finie.

Un atelier caché

Sept tapes sur le numéro de version, en bas des Réglages, ouvrent de quoi
décaler l'horloge (+1 h, +1 j, +7 j) et fabriquer des séries. De quoi
voir en dix secondes ce qui demandait d'attendre des jours : échéances,
séries rompues, remise à zéro des compteurs.

Ce qu'il ajoute au journal est repris par des annulations, jamais effacé — le
solde revient au centime près. Un décalage actif s'affiche en permanence, pour
qu'on ne le confonde jamais avec un bug.

Finitions

  • Les emoji passent avant les icônes tracées dans le sélecteur
  • Les icônes tracées prennent la couleur d'accentuation
  • Le bouton d'achat passe au vert de l'accent — le jaune ne servait plus qu'à lui
  • Barre d'état sombre, lien GitHub et numéro de version en bas des Réglages
  • La virgule est acceptée dans tous les champs de nombre
  • Le bouton « + » s'efface quand le clavier est ouvert
  • La dépense hors catalogue passe derrière un bouton au lieu d'un formulaire
    toujours ouvert
  • Un panneau ouvert fige la page en dessous, et le bouton d'annulation atteint
    enfin la taille d'une vraie cible tactile

Installation

Autoriser l'installation depuis le navigateur ou le gestionnaire de fichiers,
puis ouvrir l'APK.

Limites connues

  • Interface en français uniquement
  • Pas encore de synchronisation PC (le journal d'événements est prêt pour)
  • Les rappels ne sont reprogrammés qu'à l'ouverture de l'appli

Butineur 0.2.0-beta

Butineur 0.2.0-beta Pre-release
Pre-release

Choose a tag to compare

@Chachigo Chachigo released this 28 Jul 21:10

Deuxième beta. APK signé en debug — Android affichera un avertissement
« source inconnue », c'est normal pour une beta interne. S'installe par-dessus
la 0.1.0-beta sans perdre de données.

Le gros changement : un seul rythme par tâche

L'échéance d'une tâche répétitive se réglait à deux endroits qui pouvaient se
contredire — « tous les N jours » d'un côté, un jour de la semaine de l'autre —
et deux calculs séparés décidaient de « disponible » et « en retard ». Un menu
unique décide maintenant du rythme, et un seul cycle porte les deux bouts.

  • Chaque jour / Chaque semaine / Chaque mois / Tous les N jours, au choix
    dans l'éditeur, avec le jour ou le quantième quand il s'applique.
  • Faire en avance ne rapproche plus l'échéance suivante. Les poubelles du
    dimanche sorties samedi sont dues le dimanche d'après, pas le lendemain.
  • Rattraper un retard ne saute plus un cycle.
  • L'heure limite ne dérive plus d'une validation à l'autre.
  • « Disponible » et « en retard » sortent du même cycle : une tâche ne peut plus
    être annoncée en retard tout en étant impossible à valider.
  • L'heure appartient au rythme (« chaque dimanche à 23 h 59 »), et la pénalité
    est devenue une section à part, décochée par défaut.
  • Les tâches existantes gardent leur réglage : celles calées sur un jour de la
    semaine sont converties au chargement.

Aussi dans cette version

  • Sauvegarde et restauration : un fichier JSON écrit dans Documents, avec
    le partage proposé ensuite. Un fichier étranger est refusé sans rien écraser.
  • Annuler une validation, et compteurs symétriques : redescendre sous
    l'objectif reprend la récompense.
  • Rappel « x avant l'échéance », en minutes, heures ou jours.
  • Le bouton retour ferme les panneaux et quitte la sélection au lieu de fermer
    l'appli.
  • Sélection multiple en boutique, nouvelles icônes (fête, corvées).

Installation

Autoriser l'installation depuis le navigateur ou le gestionnaire de fichiers,
puis ouvrir l'APK.

Limites connues

  • Interface en français uniquement
  • Pas encore de synchronisation PC (le journal d'événements est prêt pour)
  • Les rappels ne sont reprogrammés qu'à l'ouverture de l'appli

Butineur 0.1.0-beta

Butineur 0.1.0-beta Pre-release
Pre-release

Choose a tag to compare

@Chachigo Chachigo released this 27 Jul 16:42

Première beta installable. APK signé en debug — Android affichera un
avertissement « source inconnue », c'est normal pour une beta interne.

Ce qui marche

  • Tâches ponctuelles, répétitives et à compteur, récompenses libres
  • Dates limites avec pénalité au choix, simulée dans l'éditeur
  • Bonus de série : paliers et multiplicateur plafonné, simulés eux aussi
  • Boutique de loisirs + dépense libre, refus du négatif par défaut
  • Trois widgets d'écran d'accueil : solde, compteur paramétrable, liste de
    tâches validables sans ouvrir l'appli
  • Rappels par tâche, couleur d'accentuation, heure de bascule de journée

Installation

Autoriser l'installation depuis le navigateur ou le gestionnaire de fichiers,
puis ouvrir l'APK.

Limites connues

  • Interface en français uniquement
  • Pas encore de synchronisation PC (le journal d'événements est prêt pour)
  • Les rappels ne sont reprogrammés qu'à l'ouverture de l'appli