diff --git a/tracker/tracker-assist/.yarn/install-state.gz b/tracker/tracker-assist/.yarn/install-state.gz index a0476242b..e85478710 100644 Binary files a/tracker/tracker-assist/.yarn/install-state.gz and b/tracker/tracker-assist/.yarn/install-state.gz differ diff --git a/tracker/tracker/.yarn/install-state.gz b/tracker/tracker/.yarn/install-state.gz index c1f9dd9b8..1cbdfcab7 100644 Binary files a/tracker/tracker/.yarn/install-state.gz and b/tracker/tracker/.yarn/install-state.gz differ diff --git a/tracker/tracker/CHANGELOG.md b/tracker/tracker/CHANGELOG.md index 50166be88..80f804cdc 100644 --- a/tracker/tracker/CHANGELOG.md +++ b/tracker/tracker/CHANGELOG.md @@ -1,3 +1,7 @@ +## 16.0.3 + +- better handling for local svg spritemaps + ## 16.0.2 - fix attributeSender key generation to prevent calling native methods on objects diff --git a/tracker/tracker/package.json b/tracker/tracker/package.json index 13eab0724..f40314129 100644 --- a/tracker/tracker/package.json +++ b/tracker/tracker/package.json @@ -1,7 +1,7 @@ { "name": "@openreplay/tracker", "description": "The OpenReplay tracker main package", - "version": "16.0.2", + "version": "16.0.3", "keywords": [ "logging", "replay" diff --git a/tracker/tracker/src/main/app/observer/observer.ts b/tracker/tracker/src/main/app/observer/observer.ts index d2c47e13f..664c6edc7 100644 --- a/tracker/tracker/src/main/app/observer/observer.ts +++ b/tracker/tracker/src/main/app/observer/observer.ts @@ -37,9 +37,29 @@ async function parseUseEl( return } - const [url, symbolId] = href.split('#') - if (!url || !symbolId) { - console.debug('Openreplay: Invalid xlink:href or href found on .') + let [url, symbolId] = href.split('#') + + // happens if svg spritemap is local, fastest case for us + if (!url && symbolId) { + const symbol = document.querySelector(href) + if (symbol) { + const inlineSvg = ` + + ${symbol.innerHTML} + + `.trim() + + iconCache[symbolId] = inlineSvg + + return inlineSvg + } else { + console.warn('Openreplay: Sprite symbol not found in the document.') + return + } + } + + if (!url && !symbolId) { + console.warn('Openreplay: Invalid xlink:href or href found on .') return }