apptracer_flutter_http 0.2.0
apptracer_flutter_http: ^0.2.0 copied to clipboard
Pure-Dart transport to the HTTP ingest of Tracer (apptracer.ru). Delivers Dart errors from Flutter web, desktop and Aurora OS, where no native Tracer SDK is reachable. Part of apptracer_flutter.
Changelog #
All notable changes to this package are documented here.
The format follows Keep a Changelog,
and this package adheres to Semantic Versioning.
While the version is below 1.0.0, a breaking change bumps the minor version,
as pub.dev expects.
Unreleased #
0.2.0 - 2026-10-03 #
Added #
- Support explicit start and stop-with-cleanup for HTTP/Web. Discard logs, keys, user ID and token at stop; reject diagnostics while off. Recreate an owned HTTP client at the next start so re-consent can send events again.
Changed #
- Normalize symbolic Dart debug/VM frames to JavaScript V8 syntax for the Tracer stack parser, retaining the original event trace.
- Require platform interface
^0.2.0for the lifecycle contract. Native deferred lifecycle operations remain unsupported by this HTTP transport.
Fixed #
- Preserve anonymous release web frame coordinates in
JS_STACKTRACEpayloads. - Log only the type of an upload failure to avoid exposing tokens in request URLs.
Removed #
- Direct dependency on
meta; use Flutter's annotation exports.
0.1.0 - 2026-08-28 #
Added #
-
The transport reads
resolvedEnvironment, and takesversionCodefromdistwhen it is set, so a real build number is reported rather than one derived from the version name —1.2.3and1.2.3+7were otherwise the same build. -
The transport reads
TracerOptions.resolvedAppToken, sowebAppTokenis honoured where it is set. -
Initial release.
-
TracerHttpTracer, a pure-DartTracerPlatformthat posts to Tracer's own ingest —POST /api/crash/uploadBatch, authenticated by the project'sappToken. Used by web, and registered by hand on desktop and Aurora OS. -
TracerClientFactswith a browser implementation inapptracer_flutter_webandPlatformClientFactselsewhere. -
A network failure never propagates into the host application.
-
Breadcrumbs, custom keys and
userId. Breadcrumbs travel inlogsFileas base64 of#<index> <epoch millis> | <text>rows, capped at 64 000 bytes with the oldest dropped first — the formatLogsDatain@apptracer/sdk2.6.9 uses, and the one the console's log table insists on. -
TracerLogBuffer, holding that log, with the row format pinned by tests.
Changed #
- Custom keys are sent both as
uploadBean.propertiesand asuploadBean.tags. The vendor's SDK sends only tags, but the console's data tab reads only properties; measured 2026-08-27 by sending one event each way.
Note on the name #
Released as apptracer_flutter_http. It was written as
apptracer_flutter_sentry and spoke the Sentry protocol, on the belief that
Tracer ingests that way on platforms without a native SDK. Measured against a
live project on 2026-08-26, no project is issued a DSN and the vendor's own SDKs
post to their own API, so both the name and the protocol were replaced before
the first release.