Oihana Next UI - 0.48.0

Application logo

File d’envoi

Écrire sans réseau : une file d’intentions dans IndexedDB, rejouée dans l’ordre quand le serveur répond, sans jamais créer deux fois la même chose.

Le banc d’essai de la file

La file du lab, montée sur toutes ses pages : une file d’intentions gardée dans IndexedDB (la base « lab »), envoyée dans l’ordre vers une route d’essai qui retient les clés d’idempotence. Remplissez-la, coupez le réseau, changez de page — la bannière vous suit —, changez de compte : rien ne se perd (outils de développement → Application → IndexedDB → lab).

Toutes vos actions sont envoyées.

Mettre en file

Chaque bouton met une intention en file ; en ligne, elle part aussitôt. Les refus viennent de la route d’essai (?fail=…).

Elle recule de 5 s, puis de 10 s, puis passe.
Deux fois « réessayez dans 3 s » : toute la file attend 3 s, sans compter de tentative, puis la réception passe.
Les lignes attendent le devis, puis reçoivent son numéro.
Hors ligne, cliquez deux fois : une seule reste en file.
La première part et met 3 s à répondre ; la correction, mise en file pendant ce temps, l’attend (after) puis part.

Le réseau et le compte

Serveur joignableAucun envoi réussi
Rien ne part, tout part dans l’ordre au retour. Pour une vraie coupure : outils de développement → Réseau → Offline.
Compte
Les envois d’un autre compte sont gardés et jamais envoyés.
Le compteur sur l’icône de la barre : useOutbox().counts dans un Indicator.

0 en attente · 0 refusé(s) · 0 en conflit · 0 bloqué(s) · 0 livré(s) · 0 d’un autre compte

Ce que l’application montre

OutboxList : chaque action nommée par son type, son statut, la raison d’un refus, Réessayer, Abandonner (deux appuis).

Aucune action en attente.

La file en base, de la plus ancienne à la plus récente
IdTypeCompteStatutEssaisProchain essaiErreurRéponse
La file est vide.

Journal (onSettle)

Chaque élément qui arrive à un état final : c’est là qu’une application affiche un toast.

Rien encore.