Documentation Index
Fetch the complete documentation index at: https://wiki.vivla.com/llms.txt
Use this file to discover all available pages before exploring further.
Visión general
La app utiliza Sentry React Native SDK (v7.x) junto con el plugin de Expo para el monitoreo de errores en producción.Sentry solo se inicializa si el DSN está configurado. En entorno de test, la integración se
deshabilita completamente.
Configuración
SDK de Sentry
La configuración principal se encuentra ensrc/core/config/sentry.ts:
| Parámetro | Valor |
|---|---|
| SDK | @sentry/react-native v7.x |
| Inicialización | Condicional (requiere DSN configurado) |
| Entorno de test | Deshabilitado |
| Source maps upload | Deshabilitado por defecto |
Plugin de Expo
Enapp.config.js, el plugin @sentry/react-native se integra con el sistema de build de Expo. Sentry v7 cambió el nombre del plugin — antes era @sentry/react-native/expo, ahora es @sentry/react-native.
El
authToken no se pasa inline al plugin (es un secreto). Sentry lo lee automáticamente del env
var SENTRY_AUTH_TOKEN.Integración en la app
Root layout
El root layout de la aplicación está envuelto conSentry.wrap(), lo que permite a Sentry capturar errores no manejados y monitorear la navegación automáticamente.
Error Handler centralizado
El error handler ensrc/shared/services/api/errorHandler.ts proporciona una capa de manejo de errores que se integra directamente con Sentry.
Clasificación de errores de red
- Tipos de error
- Mensajes amigables
El handler clasifica los errores de red en las siguientes categorías:
| Tipo | Descripción |
|---|---|
timeout | La solicitud excedió el tiempo límite |
dns | Error de resolución DNS |
tls | Error en el handshake TLS |
cancelled | Solicitud cancelada por el usuario o el sistema |
unknown | Error de red no clasificado |
Breadcrumbs en stores
Los stores de Zustand registran breadcrumbs en Sentry durante operaciones clave, proporcionando una traza de las acciones del usuario previas a un error.Los breadcrumbs se agregan automáticamente en operaciones como login, logout, cambios de estado de
conexión y acciones críticas de negocio.
Integración con el API client
Los errores de red capturados por el API client se reportan automáticamente a Sentry. El flujo es:- El API client detecta un error de red
- El error handler clasifica el tipo de error
- Se agregan breadcrumbs con contexto de la solicitud
- El error se reporta a Sentry
- Se muestra un mensaje amigable al usuario
Archivos clave
| Archivo | Responsabilidad |
|---|---|
src/core/config/sentry.ts | Configuración e inicialización de Sentry |
src/shared/services/api/errorHandler.ts | Error handler centralizado |
app.config.js | Plugin de Expo para Sentry |