Skip to content

Investigate rrweb integration for DOM snapshots at annotation timestamps #22

@BraedenBDev

Description

@BraedenBDev

rrweb (https://github.com/rrweb-io/rrweb, MIT) is the industry standard for session replay, used by Sentry, PostHog, and DataDog. It records DOM mutations incrementally and can produce full snapshots at any point.

Value for PointDev:

  • DOM snapshot at each annotation timestamp (supports Screenshot at each annotation timestamp #19)
  • Console error capture via @rrweb/rrweb-plugin-console-record (supports M3)
  • Session replay as a future output format for the bridge server (M6)

Blocker: rrweb inlines a base64-encoded Web Worker. Chrome Web Store rejects this as obfuscated code (rrweb issue #1699, open 2+ years). Options:

  1. Fork and patch to load worker from separate file via chrome.runtime.getURL()
  2. Use rrweb in sidepanel context and proxy events via messaging
  3. Wait for upstream fix

Performance: ~29 KB gzipped (tree-shaken), +60 MB memory when enabled. Needs sampling config to be practical.

Action: Monitor upstream issue. If not resolved by M1, evaluate fork/patch effort.

See docs/design/library-research.md for full analysis.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3-nice-to-haveValuable but not urgentarchitectureArchitectural changes or decisionsenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions