cid_app/memory-bank/attempted-solutions.md
2026-05-02 03:00:02 +02:00

16 lines
1.3 KiB
Markdown

# Attempted Solutions
In questo documento si tengono tracce delle soluzioni scartate o fallite, per non ripeterle in futuro.
## Deserializzazione Firebase (Circostanze)
- **Problema**: Firebase trasforma dizionari con chiavi numeriche sequenziali (es. la lista di checkbox delle 17 circostanze) in liste dinamiche, portando l'app a crashare in caso di cast diretto a Map.
- **Soluzione adottata**: Uso della funzione statica `fixCircostanze` in `cid_data_manager.dart` per garantire la lettura unificata in Mappa. *Non tentare parsing diretti `as Map<String, dynamic>` sulle circostanze.*
## Monetizzazione (Modello Abbonamento)
- **Tentativo**: Inizialmente configurato con RevenueCat come abbonamento ricorrente (rinnovo automatico).
- **Esito**: Modello scartato (29 Aprile 2026) a favore di un "passaggio Una-Tantum" di 1 mese.
- **Motivo**: Il modulo CAI si compila raramente. Un abbonamento ricorrente causava attrito e scarsa conversione. *Non reinserire logiche di recurring billing sul paywall.*
## Interfaccia Paywall iOS (Overflow)
- **Problema**: Crash visivo "bottom overflow" su schermi iOS piccoli a causa della rigidezza del widget del paywall.
- **Soluzione adottata**: Inserimento del blocco in un `SingleChildScrollView`. *Evitare `Column` statiche per schermate lunghe di checkout.*