fix(sveltekit): Ensure trace meta tags are always injected - #13231

Merged
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp
Oct 8, 2024
Merged

fix(sveltekit): Ensure trace meta tags are always injected#13231
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp

Conversation

@Lms24

@Lms24Lms24 commented Aug 5, 2024

Copy link
Copy Markdown
Member

Based on #13201

Removes the incorrect root span check guarding the trace <meta> tag injection. With this fix, trace data is now also injected for Tracing Without Performance scenarios where there is no active span.

closes#13106

@Lms24
Lms24 changed the base branch from develop to lms/feat-core-metaTagsAugust 5, 2024 12:43
@Lms24Lms24 self-assigned this Aug 5, 2024
@Lms24Lms24 linked an issue Aug 5, 2024 that may be closed by this pull request
@github-actions

github-actionsBot commented Aug 5, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser22.73 KB--
@sentry/browser - with treeshaking flags21.53 KB--
@sentry/browser (incl. Tracing)34.97 KB--
@sentry/browser (incl. Tracing, Replay)71.54 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags61.94 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)75.87 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)88.64 KB--
@sentry/browser (incl. Tracing, Replay, Feedback, metrics)90.5 KB--
@sentry/browser (incl. metrics)27 KB--
@sentry/browser (incl. Feedback)39.87 KB--
@sentry/browser (incl. sendFeedback)27.38 KB--
@sentry/browser (incl. FeedbackAsync)32.17 KB--
@sentry/react25.49 KB--
@sentry/react (incl. Tracing)37.94 KB--
@sentry/vue26.9 KB--
@sentry/vue (incl. Tracing)36.86 KB--
@sentry/svelte22.87 KB--
CDN Bundle24.05 KB--
CDN Bundle (incl. Tracing)36.76 KB--
CDN Bundle (incl. Tracing, Replay)71.29 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.6 KB--
CDN Bundle - uncompressed70.53 KB--
CDN Bundle (incl. Tracing) - uncompressed109.04 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed221.13 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed234.34 KB--
@sentry/nextjs (client)37.91 KB--
@sentry/sveltekit (client)35.56 KB--
@sentry/node124.5 KB--
@sentry/node - without tracing93.63 KB--
@sentry/aws-serverless103.3 KB--

View base workflow run

Base automatically changed from lms/feat-core-metaTags to developAugust 6, 2024 12:38
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1b0510e to 1e3e0e7CompareAugust 6, 2024 12:42
@Lms24
Lms24 marked this pull request as ready for review August 6, 2024 12:42
@Lms24
Lms24 requested review from mydea and s1gr1dAugust 6, 2024 12:43
@Lms24

Lms24 commented Aug 7, 2024

Copy link
Copy Markdown
MemberAuthor

I'm gonna hold off from merging this for a bit because I discovered that we have a bug in the sentry-trace meta tag where we propagate a -0 sampling decision when it should actually be deferred (i.e. not set). Gonna add some e2e tests for TwP

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1e3e0e7 to 4a23c22CompareAugust 7, 2024 12:41
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 4a23c22 to fea1cb7CompareAugust 9, 2024 08:28
s1gr1d added a commit that referenced this pull request Aug 12, 2024
Making sure tracing without performance works.
ref (SvelteKit):
#13231
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 2526b01 to b0d22adCompareAugust 14, 2024 11:51
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from b0d22ad to 5e2e77aCompareSeptember 18, 2024 14:40
@mydea

Copy link
Copy Markdown
Member

hmm, it feels a bit excessive to have a separate E2E app for TWP, feels like a slippery slope to add this for every framework? 😅 no strong feelings but our list of E2E apps is ever growing 😬 is there not a way to test this (at least in some simplified way) without an E2E test app?

@codecov

codecovBot commented Sep 18, 2024

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completedFailedPassedSkipped
623162233
View the full list of 1 ❄️ flaky tests
errorboundary.test.ts captures an exception

Flake rate in main: 29.41% (Passed 12 times, Failed 5 times)

Stack Traces | 30s run time
errorboundary.test.ts:4:1 captures an exception

To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard

@Lms24

Lms24 commented Sep 18, 2024

Copy link
Copy Markdown
MemberAuthor

our list of E2E apps is ever growing

that we won't solve long-term if we remove this one 😅 I think we need to move the e2e tests out of this repo sooner or later but that's another story...

I'll remove the test app. We can do this now more easily because we're at least testing TwP now better in Node integration tests. Unfortunately, I don't think there's a way to realistically test TwP within a "tracing with performance" e2e test app.
The test app already served its purpose already, as otherwise, I never would have discovered the bug fixed in #13381.

@Lms24

Copy link
Copy Markdown
MemberAuthor

Actually, I do believe there's value to have one meta framework test app configured for TwP. It doesn't have to be sveltekit but there's value in ensuring that backend<->frontend errors are still connected by the same trace

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch 2 times, most recently from d7e3d01 to 1886c87CompareSeptember 27, 2024 13:34
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 24d5518 to 73eb9c4CompareOctober 7, 2024 13:28
Sign up for freeto 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.

[Sveltekit] Inject meta tags in Tracing-without-Performance-mode

3 participants

@Lms24@mydea@s1gr1d
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix(sveltekit): Ensure trace meta tags are always injected - #13231

Merged
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp
Oct 8, 2024
Merged

fix(sveltekit): Ensure trace meta tags are always injected#13231
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp

Conversation

@Lms24

@Lms24Lms24 commented Aug 5, 2024

Copy link
Copy Markdown
Member

Based on #13201

Removes the incorrect root span check guarding the trace <meta> tag injection. With this fix, trace data is now also injected for Tracing Without Performance scenarios where there is no active span.

closes#13106

@Lms24
Lms24 changed the base branch from develop to lms/feat-core-metaTagsAugust 5, 2024 12:43
@Lms24Lms24 self-assigned this Aug 5, 2024
@Lms24Lms24 linked an issue Aug 5, 2024 that may be closed by this pull request
@github-actions

github-actionsBot commented Aug 5, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser22.73 KB--
@sentry/browser - with treeshaking flags21.53 KB--
@sentry/browser (incl. Tracing)34.97 KB--
@sentry/browser (incl. Tracing, Replay)71.54 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags61.94 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)75.87 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)88.64 KB--
@sentry/browser (incl. Tracing, Replay, Feedback, metrics)90.5 KB--
@sentry/browser (incl. metrics)27 KB--
@sentry/browser (incl. Feedback)39.87 KB--
@sentry/browser (incl. sendFeedback)27.38 KB--
@sentry/browser (incl. FeedbackAsync)32.17 KB--
@sentry/react25.49 KB--
@sentry/react (incl. Tracing)37.94 KB--
@sentry/vue26.9 KB--
@sentry/vue (incl. Tracing)36.86 KB--
@sentry/svelte22.87 KB--
CDN Bundle24.05 KB--
CDN Bundle (incl. Tracing)36.76 KB--
CDN Bundle (incl. Tracing, Replay)71.29 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.6 KB--
CDN Bundle - uncompressed70.53 KB--
CDN Bundle (incl. Tracing) - uncompressed109.04 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed221.13 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed234.34 KB--
@sentry/nextjs (client)37.91 KB--
@sentry/sveltekit (client)35.56 KB--
@sentry/node124.5 KB--
@sentry/node - without tracing93.63 KB--
@sentry/aws-serverless103.3 KB--

View base workflow run

Base automatically changed from lms/feat-core-metaTags to developAugust 6, 2024 12:38
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1b0510e to 1e3e0e7CompareAugust 6, 2024 12:42
@Lms24
Lms24 marked this pull request as ready for review August 6, 2024 12:42
@Lms24
Lms24 requested review from mydea and s1gr1dAugust 6, 2024 12:43
@Lms24

Lms24 commented Aug 7, 2024

Copy link
Copy Markdown
MemberAuthor

I'm gonna hold off from merging this for a bit because I discovered that we have a bug in the sentry-trace meta tag where we propagate a -0 sampling decision when it should actually be deferred (i.e. not set). Gonna add some e2e tests for TwP

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1e3e0e7 to 4a23c22CompareAugust 7, 2024 12:41
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 4a23c22 to fea1cb7CompareAugust 9, 2024 08:28
s1gr1d added a commit that referenced this pull request Aug 12, 2024
Making sure tracing without performance works.
ref (SvelteKit):
#13231
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 2526b01 to b0d22adCompareAugust 14, 2024 11:51
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from b0d22ad to 5e2e77aCompareSeptember 18, 2024 14:40
@mydea

Copy link
Copy Markdown
Member

hmm, it feels a bit excessive to have a separate E2E app for TWP, feels like a slippery slope to add this for every framework? 😅 no strong feelings but our list of E2E apps is ever growing 😬 is there not a way to test this (at least in some simplified way) without an E2E test app?

@codecov

codecovBot commented Sep 18, 2024

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completedFailedPassedSkipped
623162233
View the full list of 1 ❄️ flaky tests
errorboundary.test.ts captures an exception

Flake rate in main: 29.41% (Passed 12 times, Failed 5 times)

Stack Traces | 30s run time
errorboundary.test.ts:4:1 captures an exception

To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard

@Lms24

Lms24 commented Sep 18, 2024

Copy link
Copy Markdown
MemberAuthor

our list of E2E apps is ever growing

that we won't solve long-term if we remove this one 😅 I think we need to move the e2e tests out of this repo sooner or later but that's another story...

I'll remove the test app. We can do this now more easily because we're at least testing TwP now better in Node integration tests. Unfortunately, I don't think there's a way to realistically test TwP within a "tracing with performance" e2e test app.
The test app already served its purpose already, as otherwise, I never would have discovered the bug fixed in #13381.

@Lms24

Copy link
Copy Markdown
MemberAuthor

Actually, I do believe there's value to have one meta framework test app configured for TwP. It doesn't have to be sveltekit but there's value in ensuring that backend<->frontend errors are still connected by the same trace

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch 2 times, most recently from d7e3d01 to 1886c87CompareSeptember 27, 2024 13:34
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 24d5518 to 73eb9c4CompareOctober 7, 2024 13:28
Sign up for freeto 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.

[Sveltekit] Inject meta tags in Tracing-without-Performance-mode

3 participants

@Lms24@mydea@s1gr1d
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(sveltekit): Ensure trace meta tags are always injected - #13231

Merged
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp
Oct 8, 2024
Merged

fix(sveltekit): Ensure trace meta tags are always injected#13231
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp

Conversation

@Lms24

@Lms24Lms24 commented Aug 5, 2024

Copy link
Copy Markdown
Member

Based on #13201

Removes the incorrect root span check guarding the trace <meta> tag injection. With this fix, trace data is now also injected for Tracing Without Performance scenarios where there is no active span.

closes#13106

@Lms24
Lms24 changed the base branch from develop to lms/feat-core-metaTagsAugust 5, 2024 12:43
@Lms24Lms24 self-assigned this Aug 5, 2024
@Lms24Lms24 linked an issue Aug 5, 2024 that may be closed by this pull request
@github-actions

github-actionsBot commented Aug 5, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser22.73 KB--
@sentry/browser - with treeshaking flags21.53 KB--
@sentry/browser (incl. Tracing)34.97 KB--
@sentry/browser (incl. Tracing, Replay)71.54 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags61.94 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)75.87 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)88.64 KB--
@sentry/browser (incl. Tracing, Replay, Feedback, metrics)90.5 KB--
@sentry/browser (incl. metrics)27 KB--
@sentry/browser (incl. Feedback)39.87 KB--
@sentry/browser (incl. sendFeedback)27.38 KB--
@sentry/browser (incl. FeedbackAsync)32.17 KB--
@sentry/react25.49 KB--
@sentry/react (incl. Tracing)37.94 KB--
@sentry/vue26.9 KB--
@sentry/vue (incl. Tracing)36.86 KB--
@sentry/svelte22.87 KB--
CDN Bundle24.05 KB--
CDN Bundle (incl. Tracing)36.76 KB--
CDN Bundle (incl. Tracing, Replay)71.29 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.6 KB--
CDN Bundle - uncompressed70.53 KB--
CDN Bundle (incl. Tracing) - uncompressed109.04 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed221.13 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed234.34 KB--
@sentry/nextjs (client)37.91 KB--
@sentry/sveltekit (client)35.56 KB--
@sentry/node124.5 KB--
@sentry/node - without tracing93.63 KB--
@sentry/aws-serverless103.3 KB--

View base workflow run

Base automatically changed from lms/feat-core-metaTags to developAugust 6, 2024 12:38
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1b0510e to 1e3e0e7CompareAugust 6, 2024 12:42
@Lms24
Lms24 marked this pull request as ready for review August 6, 2024 12:42
@Lms24
Lms24 requested review from mydea and s1gr1dAugust 6, 2024 12:43
@Lms24

Lms24 commented Aug 7, 2024

Copy link
Copy Markdown
MemberAuthor

I'm gonna hold off from merging this for a bit because I discovered that we have a bug in the sentry-trace meta tag where we propagate a -0 sampling decision when it should actually be deferred (i.e. not set). Gonna add some e2e tests for TwP

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1e3e0e7 to 4a23c22CompareAugust 7, 2024 12:41
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 4a23c22 to fea1cb7CompareAugust 9, 2024 08:28
s1gr1d added a commit that referenced this pull request Aug 12, 2024
Making sure tracing without performance works.
ref (SvelteKit):
#13231
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 2526b01 to b0d22adCompareAugust 14, 2024 11:51
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from b0d22ad to 5e2e77aCompareSeptember 18, 2024 14:40
@mydea

Copy link
Copy Markdown
Member

hmm, it feels a bit excessive to have a separate E2E app for TWP, feels like a slippery slope to add this for every framework? 😅 no strong feelings but our list of E2E apps is ever growing 😬 is there not a way to test this (at least in some simplified way) without an E2E test app?

@codecov

codecovBot commented Sep 18, 2024

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completedFailedPassedSkipped
623162233
View the full list of 1 ❄️ flaky tests
errorboundary.test.ts captures an exception

Flake rate in main: 29.41% (Passed 12 times, Failed 5 times)

Stack Traces | 30s run time
errorboundary.test.ts:4:1 captures an exception

To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard

@Lms24

Lms24 commented Sep 18, 2024

Copy link
Copy Markdown
MemberAuthor

our list of E2E apps is ever growing

that we won't solve long-term if we remove this one 😅 I think we need to move the e2e tests out of this repo sooner or later but that's another story...

I'll remove the test app. We can do this now more easily because we're at least testing TwP now better in Node integration tests. Unfortunately, I don't think there's a way to realistically test TwP within a "tracing with performance" e2e test app.
The test app already served its purpose already, as otherwise, I never would have discovered the bug fixed in #13381.

@Lms24

Copy link
Copy Markdown
MemberAuthor

Actually, I do believe there's value to have one meta framework test app configured for TwP. It doesn't have to be sveltekit but there's value in ensuring that backend<->frontend errors are still connected by the same trace

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch 2 times, most recently from d7e3d01 to 1886c87CompareSeptember 27, 2024 13:34
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 24d5518 to 73eb9c4CompareOctober 7, 2024 13:28
Sign up for freeto 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.

[Sveltekit] Inject meta tags in Tracing-without-Performance-mode

3 participants

@Lms24@mydea@s1gr1d
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(sveltekit): Ensure trace meta tags are always injected - #13231

Merged
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp
Oct 8, 2024
Merged

fix(sveltekit): Ensure trace meta tags are always injected#13231
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp

Conversation

@Lms24

@Lms24Lms24 commented Aug 5, 2024

Copy link
Copy Markdown
Member

Based on #13201

Removes the incorrect root span check guarding the trace <meta> tag injection. With this fix, trace data is now also injected for Tracing Without Performance scenarios where there is no active span.

closes#13106

@Lms24
Lms24 changed the base branch from develop to lms/feat-core-metaTagsAugust 5, 2024 12:43
@Lms24Lms24 self-assigned this Aug 5, 2024
@Lms24Lms24 linked an issue Aug 5, 2024 that may be closed by this pull request
@github-actions

github-actionsBot commented Aug 5, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser22.73 KB--
@sentry/browser - with treeshaking flags21.53 KB--
@sentry/browser (incl. Tracing)34.97 KB--
@sentry/browser (incl. Tracing, Replay)71.54 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags61.94 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)75.87 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)88.64 KB--
@sentry/browser (incl. Tracing, Replay, Feedback, metrics)90.5 KB--
@sentry/browser (incl. metrics)27 KB--
@sentry/browser (incl. Feedback)39.87 KB--
@sentry/browser (incl. sendFeedback)27.38 KB--
@sentry/browser (incl. FeedbackAsync)32.17 KB--
@sentry/react25.49 KB--
@sentry/react (incl. Tracing)37.94 KB--
@sentry/vue26.9 KB--
@sentry/vue (incl. Tracing)36.86 KB--
@sentry/svelte22.87 KB--
CDN Bundle24.05 KB--
CDN Bundle (incl. Tracing)36.76 KB--
CDN Bundle (incl. Tracing, Replay)71.29 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.6 KB--
CDN Bundle - uncompressed70.53 KB--
CDN Bundle (incl. Tracing) - uncompressed109.04 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed221.13 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed234.34 KB--
@sentry/nextjs (client)37.91 KB--
@sentry/sveltekit (client)35.56 KB--
@sentry/node124.5 KB--
@sentry/node - without tracing93.63 KB--
@sentry/aws-serverless103.3 KB--

View base workflow run

Base automatically changed from lms/feat-core-metaTags to developAugust 6, 2024 12:38
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1b0510e to 1e3e0e7CompareAugust 6, 2024 12:42
@Lms24
Lms24 marked this pull request as ready for review August 6, 2024 12:42
@Lms24
Lms24 requested review from mydea and s1gr1dAugust 6, 2024 12:43
@Lms24

Lms24 commented Aug 7, 2024

Copy link
Copy Markdown
MemberAuthor

I'm gonna hold off from merging this for a bit because I discovered that we have a bug in the sentry-trace meta tag where we propagate a -0 sampling decision when it should actually be deferred (i.e. not set). Gonna add some e2e tests for TwP

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1e3e0e7 to 4a23c22CompareAugust 7, 2024 12:41
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 4a23c22 to fea1cb7CompareAugust 9, 2024 08:28
s1gr1d added a commit that referenced this pull request Aug 12, 2024
Making sure tracing without performance works.
ref (SvelteKit):
#13231
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 2526b01 to b0d22adCompareAugust 14, 2024 11:51
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from b0d22ad to 5e2e77aCompareSeptember 18, 2024 14:40
@mydea

Copy link
Copy Markdown
Member

hmm, it feels a bit excessive to have a separate E2E app for TWP, feels like a slippery slope to add this for every framework? 😅 no strong feelings but our list of E2E apps is ever growing 😬 is there not a way to test this (at least in some simplified way) without an E2E test app?

@codecov

codecovBot commented Sep 18, 2024

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completedFailedPassedSkipped
623162233
View the full list of 1 ❄️ flaky tests
errorboundary.test.ts captures an exception

Flake rate in main: 29.41% (Passed 12 times, Failed 5 times)

Stack Traces | 30s run time
errorboundary.test.ts:4:1 captures an exception

To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard

@Lms24

Lms24 commented Sep 18, 2024

Copy link
Copy Markdown
MemberAuthor

our list of E2E apps is ever growing

that we won't solve long-term if we remove this one 😅 I think we need to move the e2e tests out of this repo sooner or later but that's another story...

I'll remove the test app. We can do this now more easily because we're at least testing TwP now better in Node integration tests. Unfortunately, I don't think there's a way to realistically test TwP within a "tracing with performance" e2e test app.
The test app already served its purpose already, as otherwise, I never would have discovered the bug fixed in #13381.

@Lms24

Copy link
Copy Markdown
MemberAuthor

Actually, I do believe there's value to have one meta framework test app configured for TwP. It doesn't have to be sveltekit but there's value in ensuring that backend<->frontend errors are still connected by the same trace

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch 2 times, most recently from d7e3d01 to 1886c87CompareSeptember 27, 2024 13:34
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 24d5518 to 73eb9c4CompareOctober 7, 2024 13:28
Sign up for freeto 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.

[Sveltekit] Inject meta tags in Tracing-without-Performance-mode

3 participants

@Lms24@mydea@s1gr1d
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix(sveltekit): Ensure trace meta tags are always injected - #13231

Merged
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp
Oct 8, 2024
Merged

fix(sveltekit): Ensure trace meta tags are always injected#13231
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp

Conversation

@Lms24

@Lms24Lms24 commented Aug 5, 2024

Copy link
Copy Markdown
Member

Based on #13201

Removes the incorrect root span check guarding the trace <meta> tag injection. With this fix, trace data is now also injected for Tracing Without Performance scenarios where there is no active span.

closes#13106

@Lms24
Lms24 changed the base branch from develop to lms/feat-core-metaTagsAugust 5, 2024 12:43
@Lms24Lms24 self-assigned this Aug 5, 2024
@Lms24Lms24 linked an issue Aug 5, 2024 that may be closed by this pull request
@github-actions

github-actionsBot commented Aug 5, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser22.73 KB--
@sentry/browser - with treeshaking flags21.53 KB--
@sentry/browser (incl. Tracing)34.97 KB--
@sentry/browser (incl. Tracing, Replay)71.54 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags61.94 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)75.87 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)88.64 KB--
@sentry/browser (incl. Tracing, Replay, Feedback, metrics)90.5 KB--
@sentry/browser (incl. metrics)27 KB--
@sentry/browser (incl. Feedback)39.87 KB--
@sentry/browser (incl. sendFeedback)27.38 KB--
@sentry/browser (incl. FeedbackAsync)32.17 KB--
@sentry/react25.49 KB--
@sentry/react (incl. Tracing)37.94 KB--
@sentry/vue26.9 KB--
@sentry/vue (incl. Tracing)36.86 KB--
@sentry/svelte22.87 KB--
CDN Bundle24.05 KB--
CDN Bundle (incl. Tracing)36.76 KB--
CDN Bundle (incl. Tracing, Replay)71.29 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.6 KB--
CDN Bundle - uncompressed70.53 KB--
CDN Bundle (incl. Tracing) - uncompressed109.04 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed221.13 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed234.34 KB--
@sentry/nextjs (client)37.91 KB--
@sentry/sveltekit (client)35.56 KB--
@sentry/node124.5 KB--
@sentry/node - without tracing93.63 KB--
@sentry/aws-serverless103.3 KB--

View base workflow run

Base automatically changed from lms/feat-core-metaTags to developAugust 6, 2024 12:38
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1b0510e to 1e3e0e7CompareAugust 6, 2024 12:42
@Lms24
Lms24 marked this pull request as ready for review August 6, 2024 12:42
@Lms24
Lms24 requested review from mydea and s1gr1dAugust 6, 2024 12:43
@Lms24

Lms24 commented Aug 7, 2024

Copy link
Copy Markdown
MemberAuthor

I'm gonna hold off from merging this for a bit because I discovered that we have a bug in the sentry-trace meta tag where we propagate a -0 sampling decision when it should actually be deferred (i.e. not set). Gonna add some e2e tests for TwP

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1e3e0e7 to 4a23c22CompareAugust 7, 2024 12:41
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 4a23c22 to fea1cb7CompareAugust 9, 2024 08:28
s1gr1d added a commit that referenced this pull request Aug 12, 2024
Making sure tracing without performance works.
ref (SvelteKit):
#13231
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 2526b01 to b0d22adCompareAugust 14, 2024 11:51
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from b0d22ad to 5e2e77aCompareSeptember 18, 2024 14:40
@mydea

Copy link
Copy Markdown
Member

hmm, it feels a bit excessive to have a separate E2E app for TWP, feels like a slippery slope to add this for every framework? 😅 no strong feelings but our list of E2E apps is ever growing 😬 is there not a way to test this (at least in some simplified way) without an E2E test app?

@codecov

codecovBot commented Sep 18, 2024

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completedFailedPassedSkipped
623162233
View the full list of 1 ❄️ flaky tests
errorboundary.test.ts captures an exception

Flake rate in main: 29.41% (Passed 12 times, Failed 5 times)

Stack Traces | 30s run time
errorboundary.test.ts:4:1 captures an exception

To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard

@Lms24

Lms24 commented Sep 18, 2024

Copy link
Copy Markdown
MemberAuthor

our list of E2E apps is ever growing

that we won't solve long-term if we remove this one 😅 I think we need to move the e2e tests out of this repo sooner or later but that's another story...

I'll remove the test app. We can do this now more easily because we're at least testing TwP now better in Node integration tests. Unfortunately, I don't think there's a way to realistically test TwP within a "tracing with performance" e2e test app.
The test app already served its purpose already, as otherwise, I never would have discovered the bug fixed in #13381.

@Lms24

Copy link
Copy Markdown
MemberAuthor

Actually, I do believe there's value to have one meta framework test app configured for TwP. It doesn't have to be sveltekit but there's value in ensuring that backend<->frontend errors are still connected by the same trace

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch 2 times, most recently from d7e3d01 to 1886c87CompareSeptember 27, 2024 13:34
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 24d5518 to 73eb9c4CompareOctober 7, 2024 13:28
Sign up for freeto 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.

[Sveltekit] Inject meta tags in Tracing-without-Performance-mode

3 participants

@Lms24@mydea@s1gr1d
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(sveltekit): Ensure trace meta tags are always injected - #13231

Merged
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp
Oct 8, 2024
Merged

fix(sveltekit): Ensure trace meta tags are always injected#13231
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp

Conversation

@Lms24

@Lms24Lms24 commented Aug 5, 2024

Copy link
Copy Markdown
Member

Based on #13201

Removes the incorrect root span check guarding the trace <meta> tag injection. With this fix, trace data is now also injected for Tracing Without Performance scenarios where there is no active span.

closes#13106

@Lms24
Lms24 changed the base branch from develop to lms/feat-core-metaTagsAugust 5, 2024 12:43
@Lms24Lms24 self-assigned this Aug 5, 2024
@Lms24Lms24 linked an issue Aug 5, 2024 that may be closed by this pull request
@github-actions

github-actionsBot commented Aug 5, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser22.73 KB--
@sentry/browser - with treeshaking flags21.53 KB--
@sentry/browser (incl. Tracing)34.97 KB--
@sentry/browser (incl. Tracing, Replay)71.54 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags61.94 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)75.87 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)88.64 KB--
@sentry/browser (incl. Tracing, Replay, Feedback, metrics)90.5 KB--
@sentry/browser (incl. metrics)27 KB--
@sentry/browser (incl. Feedback)39.87 KB--
@sentry/browser (incl. sendFeedback)27.38 KB--
@sentry/browser (incl. FeedbackAsync)32.17 KB--
@sentry/react25.49 KB--
@sentry/react (incl. Tracing)37.94 KB--
@sentry/vue26.9 KB--
@sentry/vue (incl. Tracing)36.86 KB--
@sentry/svelte22.87 KB--
CDN Bundle24.05 KB--
CDN Bundle (incl. Tracing)36.76 KB--
CDN Bundle (incl. Tracing, Replay)71.29 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.6 KB--
CDN Bundle - uncompressed70.53 KB--
CDN Bundle (incl. Tracing) - uncompressed109.04 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed221.13 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed234.34 KB--
@sentry/nextjs (client)37.91 KB--
@sentry/sveltekit (client)35.56 KB--
@sentry/node124.5 KB--
@sentry/node - without tracing93.63 KB--
@sentry/aws-serverless103.3 KB--

View base workflow run

Base automatically changed from lms/feat-core-metaTags to developAugust 6, 2024 12:38
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1b0510e to 1e3e0e7CompareAugust 6, 2024 12:42
@Lms24
Lms24 marked this pull request as ready for review August 6, 2024 12:42
@Lms24
Lms24 requested review from mydea and s1gr1dAugust 6, 2024 12:43
@Lms24

Lms24 commented Aug 7, 2024

Copy link
Copy Markdown
MemberAuthor

I'm gonna hold off from merging this for a bit because I discovered that we have a bug in the sentry-trace meta tag where we propagate a -0 sampling decision when it should actually be deferred (i.e. not set). Gonna add some e2e tests for TwP

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1e3e0e7 to 4a23c22CompareAugust 7, 2024 12:41
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 4a23c22 to fea1cb7CompareAugust 9, 2024 08:28
s1gr1d added a commit that referenced this pull request Aug 12, 2024
Making sure tracing without performance works.
ref (SvelteKit):
#13231
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 2526b01 to b0d22adCompareAugust 14, 2024 11:51
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from b0d22ad to 5e2e77aCompareSeptember 18, 2024 14:40
@mydea

Copy link
Copy Markdown
Member

hmm, it feels a bit excessive to have a separate E2E app for TWP, feels like a slippery slope to add this for every framework? 😅 no strong feelings but our list of E2E apps is ever growing 😬 is there not a way to test this (at least in some simplified way) without an E2E test app?

@codecov

codecovBot commented Sep 18, 2024

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completedFailedPassedSkipped
623162233
View the full list of 1 ❄️ flaky tests
errorboundary.test.ts captures an exception

Flake rate in main: 29.41% (Passed 12 times, Failed 5 times)

Stack Traces | 30s run time
errorboundary.test.ts:4:1 captures an exception

To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard

@Lms24

Lms24 commented Sep 18, 2024

Copy link
Copy Markdown
MemberAuthor

our list of E2E apps is ever growing

that we won't solve long-term if we remove this one 😅 I think we need to move the e2e tests out of this repo sooner or later but that's another story...

I'll remove the test app. We can do this now more easily because we're at least testing TwP now better in Node integration tests. Unfortunately, I don't think there's a way to realistically test TwP within a "tracing with performance" e2e test app.
The test app already served its purpose already, as otherwise, I never would have discovered the bug fixed in #13381.

@Lms24

Copy link
Copy Markdown
MemberAuthor

Actually, I do believe there's value to have one meta framework test app configured for TwP. It doesn't have to be sveltekit but there's value in ensuring that backend<->frontend errors are still connected by the same trace

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch 2 times, most recently from d7e3d01 to 1886c87CompareSeptember 27, 2024 13:34
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 24d5518 to 73eb9c4CompareOctober 7, 2024 13:28
Sign up for freeto 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.

[Sveltekit] Inject meta tags in Tracing-without-Performance-mode

3 participants

@Lms24@mydea@s1gr1d
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(sveltekit): Ensure trace meta tags are always injected - #13231

Merged
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp
Oct 8, 2024
Merged

fix(sveltekit): Ensure trace meta tags are always injected#13231
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp

Conversation

@Lms24

@Lms24Lms24 commented Aug 5, 2024

Copy link
Copy Markdown
Member

Based on #13201

Removes the incorrect root span check guarding the trace <meta> tag injection. With this fix, trace data is now also injected for Tracing Without Performance scenarios where there is no active span.

closes#13106

@Lms24
Lms24 changed the base branch from develop to lms/feat-core-metaTagsAugust 5, 2024 12:43
@Lms24Lms24 self-assigned this Aug 5, 2024
@Lms24Lms24 linked an issue Aug 5, 2024 that may be closed by this pull request
@github-actions

github-actionsBot commented Aug 5, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser22.73 KB--
@sentry/browser - with treeshaking flags21.53 KB--
@sentry/browser (incl. Tracing)34.97 KB--
@sentry/browser (incl. Tracing, Replay)71.54 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags61.94 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)75.87 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)88.64 KB--
@sentry/browser (incl. Tracing, Replay, Feedback, metrics)90.5 KB--
@sentry/browser (incl. metrics)27 KB--
@sentry/browser (incl. Feedback)39.87 KB--
@sentry/browser (incl. sendFeedback)27.38 KB--
@sentry/browser (incl. FeedbackAsync)32.17 KB--
@sentry/react25.49 KB--
@sentry/react (incl. Tracing)37.94 KB--
@sentry/vue26.9 KB--
@sentry/vue (incl. Tracing)36.86 KB--
@sentry/svelte22.87 KB--
CDN Bundle24.05 KB--
CDN Bundle (incl. Tracing)36.76 KB--
CDN Bundle (incl. Tracing, Replay)71.29 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.6 KB--
CDN Bundle - uncompressed70.53 KB--
CDN Bundle (incl. Tracing) - uncompressed109.04 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed221.13 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed234.34 KB--
@sentry/nextjs (client)37.91 KB--
@sentry/sveltekit (client)35.56 KB--
@sentry/node124.5 KB--
@sentry/node - without tracing93.63 KB--
@sentry/aws-serverless103.3 KB--

View base workflow run

Base automatically changed from lms/feat-core-metaTags to developAugust 6, 2024 12:38
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1b0510e to 1e3e0e7CompareAugust 6, 2024 12:42
@Lms24
Lms24 marked this pull request as ready for review August 6, 2024 12:42
@Lms24
Lms24 requested review from mydea and s1gr1dAugust 6, 2024 12:43
@Lms24

Lms24 commented Aug 7, 2024

Copy link
Copy Markdown
MemberAuthor

I'm gonna hold off from merging this for a bit because I discovered that we have a bug in the sentry-trace meta tag where we propagate a -0 sampling decision when it should actually be deferred (i.e. not set). Gonna add some e2e tests for TwP

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1e3e0e7 to 4a23c22CompareAugust 7, 2024 12:41
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 4a23c22 to fea1cb7CompareAugust 9, 2024 08:28
s1gr1d added a commit that referenced this pull request Aug 12, 2024
Making sure tracing without performance works.
ref (SvelteKit):
#13231
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 2526b01 to b0d22adCompareAugust 14, 2024 11:51
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from b0d22ad to 5e2e77aCompareSeptember 18, 2024 14:40
@mydea

Copy link
Copy Markdown
Member

hmm, it feels a bit excessive to have a separate E2E app for TWP, feels like a slippery slope to add this for every framework? 😅 no strong feelings but our list of E2E apps is ever growing 😬 is there not a way to test this (at least in some simplified way) without an E2E test app?

@codecov

codecovBot commented Sep 18, 2024

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completedFailedPassedSkipped
623162233
View the full list of 1 ❄️ flaky tests
errorboundary.test.ts captures an exception

Flake rate in main: 29.41% (Passed 12 times, Failed 5 times)

Stack Traces | 30s run time
errorboundary.test.ts:4:1 captures an exception

To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard

@Lms24

Lms24 commented Sep 18, 2024

Copy link
Copy Markdown
MemberAuthor

our list of E2E apps is ever growing

that we won't solve long-term if we remove this one 😅 I think we need to move the e2e tests out of this repo sooner or later but that's another story...

I'll remove the test app. We can do this now more easily because we're at least testing TwP now better in Node integration tests. Unfortunately, I don't think there's a way to realistically test TwP within a "tracing with performance" e2e test app.
The test app already served its purpose already, as otherwise, I never would have discovered the bug fixed in #13381.

@Lms24

Copy link
Copy Markdown
MemberAuthor

Actually, I do believe there's value to have one meta framework test app configured for TwP. It doesn't have to be sveltekit but there's value in ensuring that backend<->frontend errors are still connected by the same trace

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch 2 times, most recently from d7e3d01 to 1886c87CompareSeptember 27, 2024 13:34
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 24d5518 to 73eb9c4CompareOctober 7, 2024 13:28
Sign up for freeto 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.

[Sveltekit] Inject meta tags in Tracing-without-Performance-mode

3 participants

@Lms24@mydea@s1gr1d
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix(sveltekit): Ensure trace meta tags are always injected - #13231

Merged
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp
Oct 8, 2024
Merged

fix(sveltekit): Ensure trace meta tags are always injected#13231
Lms24 merged 10 commits into
developfrom
lms/fix-sveltekit-meta-tags-twp

Conversation

@Lms24

@Lms24Lms24 commented Aug 5, 2024

Copy link
Copy Markdown
Member

Based on #13201

Removes the incorrect root span check guarding the trace <meta> tag injection. With this fix, trace data is now also injected for Tracing Without Performance scenarios where there is no active span.

closes#13106

@Lms24
Lms24 changed the base branch from develop to lms/feat-core-metaTagsAugust 5, 2024 12:43
@Lms24Lms24 self-assigned this Aug 5, 2024
@Lms24Lms24 linked an issue Aug 5, 2024 that may be closed by this pull request
@github-actions

github-actionsBot commented Aug 5, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser22.73 KB--
@sentry/browser - with treeshaking flags21.53 KB--
@sentry/browser (incl. Tracing)34.97 KB--
@sentry/browser (incl. Tracing, Replay)71.54 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags61.94 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)75.87 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)88.64 KB--
@sentry/browser (incl. Tracing, Replay, Feedback, metrics)90.5 KB--
@sentry/browser (incl. metrics)27 KB--
@sentry/browser (incl. Feedback)39.87 KB--
@sentry/browser (incl. sendFeedback)27.38 KB--
@sentry/browser (incl. FeedbackAsync)32.17 KB--
@sentry/react25.49 KB--
@sentry/react (incl. Tracing)37.94 KB--
@sentry/vue26.9 KB--
@sentry/vue (incl. Tracing)36.86 KB--
@sentry/svelte22.87 KB--
CDN Bundle24.05 KB--
CDN Bundle (incl. Tracing)36.76 KB--
CDN Bundle (incl. Tracing, Replay)71.29 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.6 KB--
CDN Bundle - uncompressed70.53 KB--
CDN Bundle (incl. Tracing) - uncompressed109.04 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed221.13 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed234.34 KB--
@sentry/nextjs (client)37.91 KB--
@sentry/sveltekit (client)35.56 KB--
@sentry/node124.5 KB--
@sentry/node - without tracing93.63 KB--
@sentry/aws-serverless103.3 KB--

View base workflow run

Base automatically changed from lms/feat-core-metaTags to developAugust 6, 2024 12:38
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1b0510e to 1e3e0e7CompareAugust 6, 2024 12:42
@Lms24
Lms24 marked this pull request as ready for review August 6, 2024 12:42
@Lms24
Lms24 requested review from mydea and s1gr1dAugust 6, 2024 12:43
@Lms24

Lms24 commented Aug 7, 2024

Copy link
Copy Markdown
MemberAuthor

I'm gonna hold off from merging this for a bit because I discovered that we have a bug in the sentry-trace meta tag where we propagate a -0 sampling decision when it should actually be deferred (i.e. not set). Gonna add some e2e tests for TwP

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 1e3e0e7 to 4a23c22CompareAugust 7, 2024 12:41
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 4a23c22 to fea1cb7CompareAugust 9, 2024 08:28
s1gr1d added a commit that referenced this pull request Aug 12, 2024
Making sure tracing without performance works.
ref (SvelteKit):
#13231
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 2526b01 to b0d22adCompareAugust 14, 2024 11:51
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from b0d22ad to 5e2e77aCompareSeptember 18, 2024 14:40
@mydea

Copy link
Copy Markdown
Member

hmm, it feels a bit excessive to have a separate E2E app for TWP, feels like a slippery slope to add this for every framework? 😅 no strong feelings but our list of E2E apps is ever growing 😬 is there not a way to test this (at least in some simplified way) without an E2E test app?

@codecov

codecovBot commented Sep 18, 2024

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completedFailedPassedSkipped
623162233
View the full list of 1 ❄️ flaky tests
errorboundary.test.ts captures an exception

Flake rate in main: 29.41% (Passed 12 times, Failed 5 times)

Stack Traces | 30s run time
errorboundary.test.ts:4:1 captures an exception

To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard

@Lms24

Lms24 commented Sep 18, 2024

Copy link
Copy Markdown
MemberAuthor

our list of E2E apps is ever growing

that we won't solve long-term if we remove this one 😅 I think we need to move the e2e tests out of this repo sooner or later but that's another story...

I'll remove the test app. We can do this now more easily because we're at least testing TwP now better in Node integration tests. Unfortunately, I don't think there's a way to realistically test TwP within a "tracing with performance" e2e test app.
The test app already served its purpose already, as otherwise, I never would have discovered the bug fixed in #13381.

@Lms24

Copy link
Copy Markdown
MemberAuthor

Actually, I do believe there's value to have one meta framework test app configured for TwP. It doesn't have to be sveltekit but there's value in ensuring that backend<->frontend errors are still connected by the same trace

@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch 2 times, most recently from d7e3d01 to 1886c87CompareSeptember 27, 2024 13:34
@Lms24
Lms24force-pushed the lms/fix-sveltekit-meta-tags-twp branch from 24d5518 to 73eb9c4CompareOctober 7, 2024 13:28
Sign up for freeto 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.

[Sveltekit] Inject meta tags in Tracing-without-Performance-mode

3 participants

@Lms24@mydea@s1gr1d