Skip to content

Use canonical no-op span context for Expo compatibility - #1452

Merged
schickling-assistant merged 1 commit into
mainfrom
schickling-assistant/fix/nooptracer-relative-import
Jul 25, 2026
Merged

Use canonical no-op span context for Expo compatibility#1452
schickling-assistant merged 1 commit into
mainfrom
schickling-assistant/fix/nooptracer-relative-import

Conversation

@schickling-assistant

@schickling-assistant schickling-assistant commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator

Why

Expo Metro cannot resolve NoopTracer's package self-import while bundling LiveStore workspace source. The imported CUID also fabricated trace/span identifiers that are invalid under OpenTelemetry's identifier contract.

What

  • Return OpenTelemetry's canonical INVALID_SPAN_CONTEXT from no-op spans.
  • Remove the CUID import from NoopTracer instead of changing the browser CUID implementation.
  • Cover canonical context identity/invalidity and all startActiveSpan overloads.
  • Align the observability requirement and spec with the actual no-op behavior.

Rationale

OpenTelemetry's own NonRecordingSpan defaults to INVALID_SPAN_CONTEXT. A no-op span should not synthesize trace identity, and removing that dependency resolves the Metro source-link failure at its source without broadening the change into CUID runtime behavior.

Verification

  • pnpm --filter @livestore/utils exec vitest run src/NoopTracer.test.ts
  • pnpm --filter @livestore/utils exec tsc --noEmit -p tsconfig.json
Posted on behalf of @schickling
field value
agent_name ☁️ co3-billow
agent_session_id 7f3b9666-034f-4e9e-890b-491957f7f75b
agent_tool Codex CLI
agent_tool_version 0.144.1
agent_runtime Codex CLI 0.144.1
agent_model unknown
runtime_profile /nix/store/1n76sy6i9y3ki3k4w04jksqvygw67sj0-coding-agent-runtime-profile/share/coding-agents/profile.json
skills_manifest /nix/store/jn6r0r7r59x3a525jch4pwzwykszqp60-agent-skills-corpus/share/agent-skills/manifest.json
worktree livestore-pr1452-noop-audit
machine dev3
tooling_profile dotfiles@4eac376

@github-actions

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

PR preview

Subject Status Report Details Updated
LiveStore docs preview success Docs preview deployed (livestore-docs-dev) PR aliases: pr-1452-2675770, pr-1452 2026-07-25 22:25 UTC
web-linearlite success web-linearlite deployed (preview) Worker: example-web-linearlite-preview.livestore.workers.dev 2026-07-25 21:58 UTC
web-todomvc success web-todomvc deployed (preview) Worker: example-web-todomvc-preview.livestore.workers.dev 2026-07-25 21:58 UTC
web-todomvc-script success web-todomvc-script deployed (preview) Worker: example-web-todomvc-script-preview.livestore.workers.dev 2026-07-25 21:58 UTC
web-todomvc-sync-cf success web-todomvc-sync-cf deployed (preview) Worker: example-web-todomvc-sync-cf-preview.livestore.workers.dev 2026-07-25 21:58 UTC
Report history

PR 1452 · 2026-07-25 22:31 UTC

Subject Status Report Details Updated
LiveStore docs preview success Docs preview deployed (livestore-docs-dev) PR aliases: pr-1452-2675770, pr-1452 2026-07-25 22:25 UTC
web-linearlite success web-linearlite deployed (preview) Worker: example-web-linearlite-preview.livestore.workers.dev 2026-07-25 21:58 UTC
web-todomvc success web-todomvc deployed (preview) Worker: example-web-todomvc-preview.livestore.workers.dev 2026-07-25 21:58 UTC
web-todomvc-script success web-todomvc-script deployed (preview) Worker: example-web-todomvc-script-preview.livestore.workers.dev 2026-07-25 21:58 UTC
web-todomvc-sync-cf success web-todomvc-sync-cf deployed (preview) Worker: example-web-todomvc-sync-cf-preview.livestore.workers.dev 2026-07-25 21:58 UTC

PR 1452 · 2026-07-19 18:43 UTC

Subject Status Report Details Updated
LiveStore docs preview success Docs preview deployed (livestore-docs-dev) PR aliases: pr-1452-a356019, pr-1452 2026-07-19 18:36 UTC
web-linearlite success web-linearlite deployed (preview) Worker: example-web-linearlite-preview.livestore.workers.dev 2026-07-19 18:27 UTC
web-todomvc success web-todomvc deployed (preview) Worker: example-web-todomvc-preview.livestore.workers.dev 2026-07-19 18:27 UTC
web-todomvc-script success web-todomvc-script deployed (preview) Worker: example-web-todomvc-script-preview.livestore.workers.dev 2026-07-19 18:27 UTC
web-todomvc-sync-cf success web-todomvc-sync-cf deployed (preview) Worker: example-web-todomvc-sync-cf-preview.livestore.workers.dev 2026-07-19 18:27 UTC

PR 1452 · 2026-07-18 12:53 UTC

Subject Status Report Details Updated
LiveStore docs preview success Docs preview deployed (livestore-docs-dev) PR aliases: pr-1452-221eeb8, pr-1452 2026-07-18 12:47 UTC
web-linearlite success web-linearlite deployed (preview) Worker: example-web-linearlite-preview.livestore.workers.dev 2026-07-18 12:32 UTC
web-todomvc success web-todomvc deployed (preview) Worker: example-web-todomvc-preview.livestore.workers.dev 2026-07-18 12:32 UTC
web-todomvc-script success web-todomvc-script deployed (preview) Worker: example-web-todomvc-script-preview.livestore.workers.dev 2026-07-18 12:32 UTC
web-todomvc-sync-cf success web-todomvc-sync-cf deployed (preview) Worker: example-web-todomvc-sync-cf-preview.livestore.workers.dev 2026-07-18 12:32 UTC

@schickling-assistant
schickling-assistant force-pushed the schickling-assistant/fix/nooptracer-relative-import branch from 7715185 to d52c6db Compare July 19, 2026 18:18
@schickling-assistant schickling-assistant changed the title Fix NoopTracer source import for Expo Metro Use canonical no-op span context for Expo compatibility Jul 19, 2026
@schickling-assistant
schickling-assistant marked this pull request as ready for review July 25, 2026 21:49
@schickling-assistant
schickling-assistant force-pushed the schickling-assistant/fix/nooptracer-relative-import branch from d52c6db to 73a6b66 Compare July 25, 2026 21:49
@schickling-assistant
schickling-assistant merged commit c61228a into main Jul 25, 2026
42 of 43 checks passed
@schickling-assistant
schickling-assistant deleted the schickling-assistant/fix/nooptracer-relative-import branch July 25, 2026 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant