Skip to main content

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 en src/core/config/sentry.ts:
ParámetroValor
SDK@sentry/react-native v7.x
InicializaciónCondicional (requiere DSN configurado)
Entorno de testDeshabilitado
Source maps uploadDeshabilitado por defecto

Plugin de Expo

En app.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.
javascript app.config.js (ejemplo) plugins: [ [ '@sentry/react-native', { organization: sentryOrg, project: sentryProject, setCommits: false, disableSourceMapUpload: true, }, ], ];
El authToken no se pasa inline al plugin (es un secreto). Sentry lo lee automáticamente del env var SENTRY_AUTH_TOKEN.
El upload de source maps está deshabilitado por defecto. Para habilitarlo en builds de producción, configura las credenciales de Sentry en el pipeline de CI/CD.

Integración en la app

Root layout

El root layout de la aplicación está envuelto con Sentry.wrap(), lo que permite a Sentry capturar errores no manejados y monitorear la navegación automáticamente.
export default Sentry.wrap(RootLayout);

Error Handler centralizado

El error handler en src/shared/services/api/errorHandler.ts proporciona una capa de manejo de errores que se integra directamente con Sentry.

Clasificación de errores de red

El handler clasifica los errores de red en las siguientes categorías:
TipoDescripción
timeoutLa solicitud excedió el tiempo límite
dnsError de resolución DNS
tlsError en el handshake TLS
cancelledSolicitud cancelada por el usuario o el sistema
unknownError de red no clasificado
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:
  1. El API client detecta un error de red
  2. El error handler clasifica el tipo de error
  3. Se agregan breadcrumbs con contexto de la solicitud
  4. El error se reporta a Sentry
  5. Se muestra un mensaje amigable al usuario

Archivos clave

ArchivoResponsabilidad
src/core/config/sentry.tsConfiguración e inicialización de Sentry
src/shared/services/api/errorHandler.tsError handler centralizado
app.config.jsPlugin de Expo para Sentry