## TASK A (proposto, NON ancora avviato) — Migliorare il messaggio "WILL EXPIRED" **Origine:** osservato dall'utente negli screenshot del 23/06/2026 (will scaduto -> percorso invalidate + re-sign). La LOGICA è corretta; si migliora solo la UX/chiarezza del messaggio. **3 miglioramenti approvati dall'utente (da implementare poi, in inglese, regole R1-R4 + zip-first):** 1. Tradurre il timestamp Unix grezzo (es. 1782118800) in data leggibile. Esempio: invece di "Will Expired 9f1b0a75...: 1782118800" mostrare "Will expired (locktime 2026-06-22 11:00 UTC) - too late to anticipate, will invalidate and re-sign". 2. Rendere il messaggio INFORMATIVO e non un ERRORE: il rosso sembra un errore, ma e' un flusso normale. Usare colore di avviso (arancione) o aggiungere frase tipo "This is expected: the will is past its locktime, switching to invalidate + re-sign." 3. Accorciare l'hash del will per leggibilita' (es. primi 8 + ultimi 4 caratteri). **Note tecniche da fare in DISCOVER quando si avvia:** - Trovare il punto del codice che genera la stringa "Will Expired ... " (probabilmente nel wizard "Building Will"). - Verificare se il colore rosso e' impostato li' (rich text / stylesheet). - Seguire METHOD: DISCOVER -> PLAN (attendere OK) -> EXECUTE -> VERIFY -> ZIP-first -> commit/PR/release solo dopo conferma. ## TASK B (proposto, NON ancora avviato) — Etichette descrizione transazioni in Cronologia **Origine:** osservato dall'utente nello screenshot Cronologia del 23/06/2026. Nella tab "Cronologia" di Electrum (transazioni on-chain), il plugin BAL scrive una descrizione colorata nella colonna "Descrizione". **Stato attuale:** - La transazione di EREDITA' e' etichettata "BAL Transaction" (colore rosso). - La transazione di INVALIDATE NON ha alcuna descrizione. **Modifiche richieste (approvate dall'utente):** 1. RINOMINARE l'etichetta dell'eredita': "BAL Transaction" -> "BAL Inheritance transaction". 2. CAMBIARE il colore dell'etichetta eredita' da ROSSO a VERDE. 3. AGGIUNGERE una nuova etichetta per le transazioni di invalidate: "BAL Invalidate transaction" in colore ARANCIONE (oggi compaiono senza descrizione). **Riepilogo finale desiderato:** | Transazione | Etichetta desiderata | Colore | |-------------|-----------------------------|-----------| | Eredita' | BAL Inheritance transaction | VERDE | | Invalidate | BAL Invalidate transaction | ARANCIONE | **Note tecniche da fare in DISCOVER quando si avvia:** - Trovare nel codice dove viene impostata l'etichetta "BAL Transaction" (probabilmente wallet.set_label(txid, ...) o simile) e dove/come e' impostato il colore. - Capire come il plugin distingue una tx di eredita' da una di invalidate, per applicare l'etichetta corretta a ciascuna. La tx di invalidate oggi NON riceve label -> trovare il punto dove viene creata/broadcastata e aggiungere lì set_label. - Verificare se il colore (rosso) e' gestito da Electrum o dal plugin, e come impostare il verde per l'eredita'. - Seguire METHOD: DISCOVER -> PLAN (attendere OK) -> EXECUTE -> VERIFY -> ZIP-first -> commit/PR/release solo dopo conferma. ## TASK C (proposto, NON ancora avviato) — Checkbox "no will-executor" anche in Plugin Settings **Origine:** richiesta utore del 23/06/2026. Nel wizard "Create your WILL", finestra di download will-executor, esiste il checkbox "Add transactions without willexecutor". L'utente vuole lo STESSO checkbox anche nella finestra "Plugin settings" (stesso stile delle altre righe), default ON, con un HelpButton che spiega la funzione. **Testo del tastino di aiuto (fornito dall'utente, da usare verbatim):** "Create a will that does not require a Will-executor; it can be saved, for example, on a USB stick, and a copy can be given to the heirs." **SCOPERTA IMPORTANTE (DISCOVER gia' fatto):** - La config ESISTE GIA': `self.NO_WILLEXECUTOR = BalConfig(config, "bal_no_willexecutor", True)` in `bal/core/plugin_base.py:193` (default True = ON). Quindi NON va creata. - Il checkbox del wizard e' in `bal/gui/qt/lists.py:916-918`: hbox.addWidget(QLabel(_("Add transactions without willexecutor"))) heir_no_willexecutor = BalCheckBox(self.bal_plugin.NO_WILLEXECUTOR) -> usa BalCheckBox legato alla stessa config. Aggiungendo lo stesso checkbox nelle settings, i due rimangono sincronizzati automaticamente (stessa BalConfig). - La finestra Settings e' `settings_dialog()` in `bal/gui/qt/plugin.py:372`. Usa una griglia con la helper `add_widget(grid, label, widget, row, help_)` (definita in `bal/gui/qt/common.py:98`) che mette: QLabel(col0), widget(col1), HelpButton(col2). Le righe attuali vanno 1..8 (8 = bottone Rebroadcast). - Esiste gia' codice COMMENTATO che faceva esattamente questo (plugin.py:382 e 536-542): `# heir_no_willexecutor = BalCheckBox(self.NO_WILLEXECUTOR)` e un add_widget "Backup Transaction" -> si puo' riattivare/adattare. - C'e' anche un blocco "Reset setting" (on_reset_defaults, plugin.py:560-596) con una lista `resets = [...]`: per coerenza la nuova checkbox va AGGIUNTA a quella lista cosi' il Reset la riporta al default (ON). **PLAN bozza (da rifinire e far approvare quando si avvia):** 1. In `settings_dialog()`: creare `heir_no_willexecutor = BalCheckBox(self.NO_WILLEXECUTOR)`. 2. Aggiungere una riga con `add_widget(grid, "