gcx/frontend/genex-mobile/lib/core/telemetry
hailin 918489e4e5 fix(mobile/telemetry): buffer pre-init events instead of dropping them
Root cause: TelemetryService.initialize() is async (device info collection,
SharedPreferences I/O, remote config sync), taking several hundred ms to
complete. RouteObserver page_view events and auth events fire synchronously
during the initial navigation before initialization finishes, causing the
"TelemetryService not initialized, event ignored" drops seen in logs.

Fix: add _preInitBuffer (max 50 events). logEvent() now enqueues events
instead of dropping when _isInitialized=false. After initialization
completes, all buffered events are replayed in order via logEvent(),
ensuring no startup events are lost.

The network errors ("Failed host lookup: api.gogenex.com") are unrelated —
they are expected in offline test environments and handled gracefully.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-07 10:42:53 -08:00
..
collectors feat(mobile/telemetry): collect real network type via connectivity_plus 2026-03-07 09:43:04 -08:00
models feat(telemetry): 完整实现 presence-service 迁移 + Flutter 遥测接入 2026-03-05 23:33:13 -08:00
presence feat(telemetry): 完整实现 presence-service 迁移 + Flutter 遥测接入 2026-03-05 23:33:13 -08:00
session feat(telemetry): 完整实现 presence-service 迁移 + Flutter 遥测接入 2026-03-05 23:33:13 -08:00
storage feat(telemetry): 完整实现 presence-service 迁移 + Flutter 遥测接入 2026-03-05 23:33:13 -08:00
uploader feat(telemetry): 完整实现 presence-service 迁移 + Flutter 遥测接入 2026-03-05 23:33:13 -08:00
telemetry_route_observer.dart feat(mobile/telemetry): add comprehensive event tracking for DAU, real-time presence & funnels 2026-03-07 09:39:48 -08:00
telemetry_service.dart fix(mobile/telemetry): buffer pre-init events instead of dropping them 2026-03-07 10:42:53 -08:00