Usar la aplicación sin conexión y volver a conectarse
Customer App puede mostrar estados de carga, conexión, no disponible, obsoleto o reconexión. Describen partes distintas de la experiencia; una señal de conexión no demuestra que se hayan actualizado el servicio, los datos, la transmisión en tiempo real ni una acción anterior.
Customer App no establece una recuperación automática, reintento seguro, acción exactamente una vez ni contrato de datos actuales único para todas las pantallas. Que se reconecte, recargue o reinicie la aplicación, vuelva a aparecer una pantalla o indique que hay conexión en tiempo real no demuestra que una acción anterior de cuenta, carrito, pedido, pago o mensaje haya fallado o terminado.
Separar las capas de conexión
| Capa | Qué te puede indicar | Qué no demuestra |
|---|---|---|
| Señal de conexión del dispositivo | El dispositivo informa que una interfaz de red está conectada o desconectada | Que se pueda acceder a Internet o a un servicio de Ordering.co |
| Accesibilidad de Internet y servicios | Un servicio requerido puede responder en ese momento | Que la respuesta corresponda al último estado de cliente/cuenta/proyecto |
| Datos de pantalla | La pantalla actual está cargando, disponible, vacía, no disponible, con error o con información conservada | Que la información conservada esté actualizada ni que se haya completado una escritura |
| Conexión en tiempo real | Un canal en tiempo real informa que se está conectando, conectado o desconectado | Que se hayan reproducido todos los eventos perdidos ni que los datos mostrados estén actualizados |
| Actualización de una operación | Ordering.co devuelve el resultado autorizado para una operación y contexto exactos | Que un error de conexión signifique que no hubo efectos del servidor o proveedor |
Trata cada capa por separado. Que diga “Conectado” no sustituye datos actuales ni el resultado autorizado de una operación.
Estados que puedes ver
| Estado observable | Interpretación segura |
|---|---|
| Carga antes de que aparezca una pantalla para clientes | No se han resuelto el inicio, configuración, sesión, contexto del pedido u otra dependencia; no se confirma ninguna acción del cliente |
| Pantalla sin conexión | El estado de navegación actual recibió una señal de desconexión; el resultado exacto de servicio/datos sigue siendo independiente |
| Sigue visible la pantalla actual | La ruta puede seguir montada aunque cambie la conexión; la información puede estar obsoleta |
| Contenido vacío o no disponible | La lectura actual no produjo contenido utilizable; no identifica si se debe a conexión, autorización, configuración o estado del recurso |
| El estado en tiempo real indica conectando/desconectado | El canal de eventos no figura conectado en ese momento; no se han verificado los datos perdidos ni la limpieza de salas/listeners |
| El estado en tiempo real indica conectado | El canal se conectó en un momento dado; no demuestra el historial completo de eventos ni los datos actuales de la pantalla |
| Se perdió la respuesta de una acción | El resultado es desconocido hasta que se concilie la misma operación autorizada |
Una pantalla dedicada a la conexión es condicional. No es una superposición o barrera universal para todas las pantallas montadas de clientes.
Límites de reinicio y reintento
Algunos controles de conexión actuales solicitan reiniciar toda la aplicación. Reiniciarla no es reintentar una lectura o acción específica; tampoco demuestra que se haya cancelado, revertido o completado el trabajo en curso.
No uses reinicio, actualización, volver al primer plano, Atrás, cambio de cuenta/proyecto ni toques repetidos para probar un resultado incierto. Para un resultado incierto, solo son seguras estas distinciones:
- Actualización de solo lectura: puede solicitar datos autorizados actuales sin cambiar el estado del producto;
- Operación reanudable: continúa una operación idempotente existente usando su recibo autorizado; o
- No reintentar automáticamente: pago, realización de pedido, envío de mensaje, modificación de cuenta/sesión, paso a proveedor u otra acción con consecuencias sin un contrato de operación probado.
La aplicación no establece esta clasificación para todas las pantallas.
Una respuesta perdida significa resultado desconocido
Si cambia la conexión después de solicitar una acción, el error o respuesta ausente no demuestra que no haya ocurrido ningún efecto. Mientras la superficie responsable concilia el estado autorizado, conserva sin cambios el contexto exacto de cuenta, proyecto, carrito, pedido, importe, conversación u operación.
No repitas la acción hasta que la aplicación muestre un resultado final compatible. Para el pago, sigue Guía sobre el estado y los reintentos del pago.
Opciones persistidas y cambios de cuenta
Algunas opciones pueden existir en el almacenamiento local, estado de la aplicación, estado de Ordering.co o en más de una capa. Volver a conectarse puede revelar discrepancias entre las capas; no garantiza que prevalezca una copia ni que sea segura una escritura retrasada.
Cerrar sesión, iniciar sesión, cambiar de cuenta o proyecto, reinstalar la aplicación o borrar el almacenamiento local puede cambiar el propietario de los datos en caché y el trabajo pendiente. Las respuestas antiguas, eventos en tiempo real, salas, listeners, funciones de retorno de proveedores y opciones guardadas no deben actualizar el contexto nuevo. Customer App no establece esa limpieza para todos los recorridos actuales.
Límite de limpieza en tiempo real
Los clientes en tiempo real pueden poner en cola trabajo de salas, listeners, salida o reconexión mientras hay una desconexión. Reconectarse no demuestra que se haya vencido, eliminado duplicados o limpiado ese trabajo después de desmontar, cerrar sesión, cambiar de cuenta/proyecto o abrir una nueva conexión.
No interpretes reconectarse como prueba de que:
- todas las salas necesarias estén actualizadas y se haya salido correctamente de todas las antiguas;
- cada listener exista una sola vez;
- se hayan entregado todos los eventos perdidos;
- una cuenta anterior ya no pueda recibir actualizaciones; o
- la pantalla actual esté sincronizada.
Qué hacer
- Lee el mensaje actual exacto y mantén sin cambios la tarea actual.
- No supongas que la información conservada esté actualizada.
- Evita repetir cualquier acción que pueda cambiar una cuenta, carrito, pedido, pago, mensaje, reseña, favorito, dirección o estado del proveedor.
- Espera a que la pantalla responsable muestre un resultado disponible, no disponible, fallido, completado o aún desconocido.
- Usa navegación confiable dentro de la aplicación para revisar el estado actual; no reutilices un enlace, función de retorno, notificación o identificador privado.
Solucionar problemas de forma segura
La aplicación muestra una pantalla de conexión
No pulses Reiniciar/Actualizar solo para averiguar el resultado de la última acción. Si no hay una acción con consecuencias pendiente, usa únicamente el mecanismo de recuperación compatible visible y luego comprueba los datos del destino por separado.
La aplicación parece conectada, pero los datos no cambiaron
Un indicador de red o tiempo real no establece que los datos estén actualizados. Mantén el estado actual y usa la actualización de solo lectura o la ruta de estado de la pantalla cuando esté disponible explícitamente.
Cambió la conexión durante el pago, cobro o realización
Considera desconocido el resultado. No realices el pedido, pagues, confirmes, reabras un proveedor ni cambies de método para probar. Concilia la operación existente según sus instrucciones responsables.
No hubo respuesta al mensaje o cambio de cuenta
No vuelvas a enviar automáticamente. Revisa el hilo o estado actual de cuenta mediante navegación confiable sin copiar contenido privado en notas de soporte.
El tiempo real se conecta y desconecta repetidamente
No infieras que se hayan recuperado eventos perdidos. Registra solo la clase de pantalla/estado sin valores y la hora aproximada; mantén privados los identificadores de cuenta, pedido, mensaje, ubicación, socket y proveedor.
Cambia el estado después de cerrar sesión, iniciar sesión o cambiar de proyecto
Detente. Los datos en caché o funciones de retorno tardías pueden pertenecer a otro ciclo de vida. No continúes hasta que se establezcan claramente la cuenta/proyecto actuales y la pantalla responsable.
Accesibilidad
Los estados de conexión, carga, obsoleto, no disponible, tiempo real y operación desconocida deben comunicarse con texto y estado semántico, no solo con color o animación. Los lectores de pantalla necesitan un aviso conciso, un control de recuperación etiquetado y una ruta segura para volver. Reiniciar/actualizar no debe ser la única forma de salir de un error y el texto grande no debe ocultar el mensaje ni la acción.
Estos límites de accesibilidad no establecen que todos los estados actuales ya los cumplan.
Referencias relacionadas: Descripción general de Customer App · Inicio, conexión y estados de actualización · Comportamiento de navegación de Customer App · Configuración de la cuenta · Guía sobre el estado y los reintentos del pago