fix(inventory): recover from a stuck loading spinner

The inventory stream subscription had no onError handler, so a transient
failure at startup (e.g. the encrypted DB not yet ready) went unhandled
and left loading=true forever — the spinner that only a restart cleared.

Handle stream errors: drop out of loading, surface an error state, and
offer a retry that re-opens the stream. Add a _LoadError view (i18n en/
es/ast/pt) and cover both the failure and the retry-recovers paths.
This commit is contained in:
vjrj 2026-07-10 22:12:24 +02:00
parent bb4ee2fd89
commit f45c452615
12 changed files with 158 additions and 17 deletions

View file

@ -268,6 +268,8 @@ class _Translations$inventory$es extends Translations$inventory$en {
@override String get clearFilters => 'Quitar filtros';
@override String get uncategorized => 'Sin categoría';
@override String get needsReproductionFilter => 'Por reproducir';
@override String get loadError => 'No se pudo abrir tu banco de semillas. Quizá estaba ocupado: inténtalo de nuevo.';
@override String get retry => 'Reintentar';
}
// Path: draft
@ -1250,6 +1252,8 @@ extension on TranslationsEs {
'inventory.clearFilters' => 'Quitar filtros',
'inventory.uncategorized' => 'Sin categoría',
'inventory.needsReproductionFilter' => 'Por reproducir',
'inventory.loadError' => 'No se pudo abrir tu banco de semillas. Quizá estaba ocupado: inténtalo de nuevo.',
'inventory.retry' => 'Reintentar',
'draft.capture' => 'Capturar fotos',
'draft.captured' => ({required Object n}) => '${n} capturadas por catalogar',
'draft.triageTitle' => 'Por catalogar',