Skip to content

feat: instrument desktop shell with cooperative AEM RUM#14

Open
davidnuescheler wants to merge 2 commits into
mainfrom
feat/desktop-rum-instrumentation
Open

feat: instrument desktop shell with cooperative AEM RUM#14
davidnuescheler wants to merge 2 commits into
mainfrom
feat/desktop-rum-instrumentation

Conversation

@davidnuescheler

Copy link
Copy Markdown
Contributor

Summary

  • Add a localhost /.rum proxy in the main process that forwards to rum.hlx.page and normalizes beacon referers to https://desktop.aem.live
  • Load stock helix-rum-js (with enhancer) in the app shell so sampled sessions get OOTB top and click collection
  • Fire cooperative virtual top pageviews on shell navigation (home, site browse, file open, review) via sampleRUM, not direct sendPing calls

Test plan

  • npm test && npm run lint
  • Launch app with ?rum=on (or wait for a sampled session) and confirm /.rum script + beacon requests in DevTools
  • Navigate home → site → file → review and verify cooperative top pings carry https://desktop.aem.live/... referers
  • Click UI elements in a sampled session and confirm click pings inherit the last virtual page referer via the proxy

Made with Cursor

davidnuescheler and others added 2 commits July 8, 2026 11:35
Add a local /.rum proxy to rum.hlx.page, load helix-rum-js in the
renderer for stock top/click collection, and fire virtual pageview tops
on shell navigation with https://desktop.aem.live referers.

Co-authored-by: Cursor <cursoragent@cursor.com>
Chromium net.fetch blocks cross-origin Referer values, causing 502s on
beacon POSTs. Keep site identity in the JSON body only. Also force RUM
sampling in dev since the file:// shell has no ?rum=on query string.

Co-authored-by: Cursor <cursoragent@cursor.com>
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