Skip to content

feat: wire up Datadog RUM for client-side monitoring - #1764

Merged
magic-peach merged 3 commits into
mainfrom
feat/datadog-rum
Sep 2, 2026
Merged

feat: wire up Datadog RUM for client-side monitoring#1764
magic-peach merged 3 commits into
mainfrom
feat/datadog-rum

Conversation

@magic-peach

Copy link
Copy Markdown
Collaborator

Summary

  • Adds @datadog/browser-rum + @datadog/browser-rum-react, initialized via a client-only DatadogInit component mounted in the root layout.
  • sessionReplaySampleRate: 0 — deliberately off. Session replay would visually record the editor UI, which cuts against Reframe's "100% private" positioning; metrics/errors only (sessionSampleRate: 100).
  • applicationId / clientToken are read from NEXT_PUBLIC_DATADOG_APPLICATION_ID / NEXT_PUBLIC_DATADOG_CLIENT_TOKEN (documented in .env.example), never hardcoded. These need to be set in Vercel/Netlify's build environment (NEXT_PUBLIC_* vars are inlined at build time for this static export) for RUM to actually activate — with them unset, DatadogInit no-ops.

Draft — blocking issue, not ready to merge

src/app/privacy/page.tsx currently states, in its own words:

  • §1: "Reframe does not embed analytics SDKs, advertising scripts, or background data collection mechanisms of any kind."
  • §3 "Telemetry & Diagnostics": "Reframe does not collect analytics, telemetry, crash reports, or usage tracking of any kind. No diagnostic data is transmitted to developers or third parties."

Both are directly contradicted by this change. This needs a wording pass on the privacy policy before merge — left as a draft until that's resolved.

Test plan

  • bunx tsc --noEmit clean
  • bun run lint clean
  • bun run build succeeds (static export)
  • Set NEXT_PUBLIC_DATADOG_* env vars in a preview deploy and confirm events land in the Datadog RUM dashboard
  • Privacy policy wording resolved

🤖 Generated with Claude Code

https://claude.ai/code/session_01L5gqyU5QKQtLAza6hL6dXv

Adds @datadog/browser-rum + @datadog/browser-rum-react, initialized via a
client-only DatadogInit component mounted in the root layout. Session
replay is explicitly disabled (sessionReplaySampleRate: 0) since it would
visually record the editor UI, which cuts against Reframe's "100% private"
positioning — metrics/errors only. applicationId/clientToken are read from
NEXT_PUBLIC_* env vars (documented in .env.example), never hardcoded.

Not pushed: src/app/privacy/page.tsx currently states Reframe "does not
embed analytics SDKs" and collects "no analytics, telemetry ... of any
kind" — directly contradicted by this change. Needs a wording pass before
this goes near main.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L5gqyU5QKQtLAza6hL6dXv
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @magic-peach!

Welcome to Reframe — a browser-based video editor built for everyone 🎬

What happens next

  1. 🤖 Automated checks — build & TypeScript typecheck will run automatically
  2. Vercel preview — a preview deployment will be created (requires maintainer authorization for fork PRs)
  3. 👀 Code review — a maintainer will review your changes
  4. 🚀 Merge — once approved, your PR will be merged!

Quick checklist

  • PR title follows Conventional Commits (e.g. feat: add dark mode)
  • Linked the issue this PR closes (e.g. Closes #123)
  • Tested the changes locally (bun run dev)
  • Build passes (bun run build)

Useful links

Happy coding! 🎉

@github-actions github-actions Bot added level:intermediate Intermediate level - 35 pts type:bug Bug fix labels Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

⚠️ PR Format Issues — @magic-peach

Please fix the following before your PR can be reviewed:

  • ⚠️ No linked issue found. Add Closes #<issue-number> to your PR description.

Push new commits after fixing — this comment will update automatically.

📖 CONTRIBUTING.md

@github-actions github-actions Bot added type:design UI/UX design type:testing Testing labels Sep 2, 2026
magic-peach and others added 2 commits September 2, 2026 14:57
Sections 1 and 3 previously stated Reframe embeds no analytics SDKs and
collects no telemetry of any kind — false as of the Datadog RUM
integration. Rewrites both to accurately describe what's actually
collected (anonymous page views, load performance, JS errors), explicitly
states session replay is off, and clarifies telemetry can never include
video/audio content since that data never leaves the browser regardless.
Section 8's "absence of telemetry" claim updated to match.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L5gqyU5QKQtLAza6hL6dXv
main picked up the org rename (#1756) and the phantom-submodule fix
(#1765) since this branch was created; both landed cleanly. bun.lock had
a real conflict (main gained Snyk's dependency, this branch gained the
Datadog RUM packages) — resolved by regenerating the lockfile via
`bun install` against the merged package.json rather than hand-editing
conflict markers. tsc --noEmit, lint, and build all verified clean
post-merge.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L5gqyU5QKQtLAza6hL6dXv
@netlify

netlify Bot commented Sep 2, 2026

Copy link
Copy Markdown

Deploy Preview for reframe-os ready!

Name Link
🔨 Latest commit d191351
🔍 Latest deploy log https://app.netlify.com/projects/reframe-os/deploys/6a98105cc378e10008fdfafe
😎 Deploy Preview https://deploy-preview-1764--reframe-os.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions github-actions Bot added the level:advanced Advanced level - 55 pts label Sep 2, 2026
@magic-peach
magic-peach marked this pull request as ready for review September 2, 2026 12:03
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

@magic-peach
magic-peach merged commit f98b4c5 into main Sep 2, 2026
17 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

level:advanced Advanced level - 55 pts level:intermediate Intermediate level - 35 pts type:bug Bug fix type:design UI/UX design type:testing Testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant