flog_flow 0.4.4
flog_flow: ^0.4.4 copied to clipboard
Graba el flujo de navegación real del usuario (pantallas, taps, red, logs y errores) y lo exporta en un archivo cifrado .flowx que se reproduce en un visor web.
Changelog #
0.4.4 #
- Actualizacion de la documentacion con imagenes
0.4.3 #
- Domain: Change domain
0.4.2 #
- README: la captura de red ahora está resaltada en el quickstart (Camino
B) — es el tropiezo más común: requiere
FlogDioInterceptor()en el cliente Dio yCaptureConfig(captureNetwork: true)a la vez; con solo una de las dos no se graba nada. Incluye la alternativa para apps que usanhttpen vez de Dio (recordEvent(type: 'network', …)). - README: nueva regla 6 — el vínculo logs ↔ sesión es automático cuando
FlogLogsyFlogCloud.startcorren juntos en la misma app.
0.4.1 #
- Vínculo logs ↔ sesión restaurado: cada log de
FlogLogsvuelve a llevar elsessionIdde la grabación en curso (nuevoFlogFlow.instance.currentSessionId), y los logs encolados antes de que arrancara la grabación se completan al enviarse. Con esto el dashboard enlaza "Ver sesión" desde un log y "Ver logs" desde una sesión. - Aviso si la red no se está grabando:
FlogDioInterceptorconcaptureNetwork: false(el default) descartaba el tráfico en silencio; ahora lo avisa en consola (debug) la primera vez.
0.4.0 #
Correcciones de integración a partir del feedback de los primeros usuarios.
- Varios Navigators: nuevo
FlogFlow.instance.newNavigatorObserver()— crea un observer por cadaNavigator(GetMaterialApp + MaterialApp anidado, Navigators propios). ReutilizarnavigatorObserveren dos Navigators dispara un assert del framework difícil de rastrear; ahora está documentado y tiene salida. FlogCloud.startya no bloquea el arranque: la grabación se arma primero (barato) y las subidas pendientes se drenan en segundo plano. Antes, una subida lenta o sin red retrasaba el primer frame y se perdía el inicio de la sesión.awaitPendingUploads: truerecupera el comportamiento anterior.- Timeouts en todas las subidas (
FlogCloud,FlogHttpUpload,FlogLogs): connect 15 s / send 1–2 min / receive 30 s. Sin ellos, una red móvil intermitente colgaba la petición indefinidamente. - Los fallos de subida ya no son silenciosos:
debugPrintcon el status en debug y hooks opcionalesFlogCloud.onUploadError/FlogHttpUpload(onError:)para distinguir 401 (token), 402 (cuota), 413 (tamaño) o caída de red. - Aviso al montar dos
FlogFlogScope: cada scope pisa al anterior y los screenshots salen delRepaintBoundaryequivocado sin ningún error; ahora se avisa fuerte en consola (debug). El scope además se desregistra al desmontarse. - Aviso de eventos previos a
start()(debug, una sola vez): antes se descartaban en silencio y la sesión salía vacía sin pista alguna. FlogCloud.startaceptainitialRouteName: la grabación arranca después del primer frame, así que eldidPushinicial ya pasó; sin esto la primera pantalla salía sin nombre.FlogFlow.instance.screenNameResolver: hook para nombrar rutas anónimas (MaterialPageRoute/PageRouteBuildersinsettings.name), p. ej. porruntimeType.archiveacepta 3.x y 4.x (>=3.3.0 <5.0.0): el rango estrecho^4.0.2chocaba con apps que fijanarchive ^3.xe impedía instalar el paquete.- Vínculo logs ↔ sesión restaurado: cada log de
FlogLogsvuelve a llevar elsessionIdde la grabación en curso (nuevoFlogFlow.instance.currentSessionId), y los logs encolados antes de que arrancara la grabación se completan al enviarse. Con esto el dashboard enlaza "Ver sesión" desde un log y "Ver logs" desde una sesión. - Aviso si la red no se está grabando:
FlogDioInterceptorconcaptureNetwork: false(el default) descartaba el tráfico en silencio; ahora lo avisa en consola (debug) la primera vez.
0.1.0 #
Versión inicial.
- Grabación de pantallas (screenshots JPEG de baja calidad), taps, scrolls y navegaciones (
FlogFlow+FlogFlowScope+ observer de navegación). - Captura opcional de red (
FlogDioInterceptor), logs (FlogLogCapture) y errores con stack trace y screenshot. - Breadcrumbs, metadata de sesión y línea de tiempo unificada.
- Redacción de datos sensibles en screenshots (
RedactedZone). - Export siempre cifrado en contenedor
.flowx(PBKDF2 + AES-256-GCM, empaquetado en isolate). - Visor web autocontenido (
viewer/viewer.html). - Subida automática a la plataforma FlogFlow (
FlogCloud) con recuperación de subidas pendientes. - Borrado automático de datos (
cleanupOnStart,deleteAfterExport) y modo grabar-solo-si-hay-error.