Help
Replay or symbols are not working
Diagnose missing browser recordings and unreadable JavaScript, Android, or iOS stack frames.
Replay does not appear
Confirm that:
- the browser-only replay entry point is running;
- the project-scoped replay key has
replay:write; - input masking or application policy did not disable recording;
- chunks are not failing with
401,403,413, or429; - the selected project, environment, and time range are correct; and
- the customer ID and session ID match the surrounding browser telemetry.
Use browser network tools to inspect the replay chunk request without exposing the key or captured payload.
Replay has no backend evidence
Check that browser request tracing is enabled, the API origin is allowed for header propagation, and
the backend extracts traceparent and trusted baggage. The replay can exist even when cross-tier
correlation is broken.
JavaScript frames are not symbolicated
The Issue Story keeps the raw bundled frames inspectable and reports the server-derived artifact state next to the stack:
- JavaScript source map missing means the organisation has no uploaded JavaScript source-map artifact. Upload the map produced by this exact build.
- JavaScript source map does not match means at least one source map exists, but none resolved
the occurrence. The release,
dist, or normalized minified filename may differ, the map may be invalid, or it may not contain the captured line and column. - No warning is shown only after at least one candidate frame resolves to an original source location. The raw bundled location remains visible beneath each resolved frame.
The warning lists the occurrence release, distribution/build, and normalized minified filenames.
An empty distribution is a real exact-match key and differs from every named distribution. Use
those values in sourcemap-upload.json, then upload it with an API key that has errors:write:
anectico symbols upload-sourcemap --file sourcemap-upload.json
Select the affected project in the CLI profile or pass --project; Anectico records that project and
the authenticated user/API key in a durable body-free artifact audit entry.
The SDK release and dist must exactly match the source-map upload. Confirm that the uploaded
filename names the minified bundle, not an original source file; Anectico normalizes URLs and build
paths to the bundle basename. Also confirm that CI did not rewrite the bundle or map after upload.
Uploading the exact key invalidates a prior missing-map lookup, so the next Issue read can use the
new artifact without restarting a service.
Android frames are obfuscated
The Issue Story keeps the raw R8 frames visible and reports the artifact state next to the stack:
When R8 inlines several calls into one obfuscated line range, Anectico shows every recovered frame in mapping order (the innermost call followed by its callers). Each entry has an Original source line for the recovered call and a Raw frame line that repeats the captured obfuscated filename, line/column, and function. Retracing therefore does not discard the captured evidence, even when several recovered entries came from one raw frame.
- ProGuard mapping missing means no mapping artifact is available yet.
- ProGuard mapping does not match means an uploaded artifact has a different release, distribution/build, or contents than the installed application.
- No warning is shown after the exact artifact retraces the occurrence.
Use the release and distribution/build shown in the warning. Upload the exact mapping.txt
produced by that release build with an API key that has errors:write:
anectico symbols upload-proguard mapping.txt --release "$RELEASE" --dist "$DIST"
The keys are exact. An empty distribution is valid and is different from every named build; preserve
it explicitly as --dist ''. Do not upload a mapping regenerated from the same source: R8 output can
differ between builds.
iOS frames show addresses
The Issue Story keeps raw UUID/address frames visible and reports exact application-image coverage:
- dSYM missing means at least one required in-app image UUID has no exact uploaded dSYM.
- dSYM does not match means every required UUID exists, but none of the addresses resolved.
- No warning is shown when every required UUID exists and at least one native frame resolves.
The warning lists the required UUIDs. Upload the dSYM bundle from the archive that produced the installed application:
anectico symbols upload-dsym MyApp.dSYM
You may instead pass the exact Mach-O file under MyApp.dSYM/Contents/Resources/DWARF/. Matching is
by organisation plus Mach-O UUID only; release and distribution do not select a dSYM. The CLI
locates the Xcode-named executable inside a bundle and sends a fat/universal binary intact so every
architecture slice can be indexed. Rebuilding the same source can produce a different UUID, so use
the original archive artifact.
Verify with a release build
Development stacks often bypass minification or obfuscation. Trigger a safe test error from the same kind of release build used in production and confirm its release, distribution, and readable frames inside the Issue.