feat(core): Streamline SpanJSON type - #14693

Merged
mydea merged 4 commits into
developfrom
fn/span-no-optional-data
Dec 16, 2024
Merged

feat(core): Streamline SpanJSON type#14693
mydea merged 4 commits into
developfrom
fn/span-no-optional-data

Conversation

@mydea

Copy link
Copy Markdown
Member

Previously spanToJSON would return Partial<SpanJSON>. This meant that you always had to guard all the stuff you picked from it - even though in reality, we know that certain stuff will always be there.

To alleviate this, this PR changes this so that spanToJSON actually returns SpanJSON. This means that in the fallback case, we return data: {}, as well as a random (current) timestamp. Since we know that in reality we will only have the two scenarios that we properly handle, this is fine IMHO and makes usage of this everywhere else a little bit less painful.

In a follow up, we can get rid of a bunch of const data = spanToJSON(span).data || {} type code.

While at it, I also updated the type of data to SpanAttributes, which is correct (it was Record<string, any> before). Since we only allow span attributes to be set on this anyhow now, we can type this better. This also uncovered a few places with slightly "incorrect" type checks, I updated those too.

This change is on the v9 branch - I think it should not really be breaking to a user in any way, as we simply return more data from spanToJSON, and type what data is on there more tightly, so no existing code relying on this should break. But to be safe, I figured we may as well do that on v9 only.

@mydeamydea self-assigned this Dec 13, 2024
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

⚠️Warning: Base artifact is not the latest one, because the latest workflow run is not done yet. This may lead to incorrect results. Try to re-run all tests to get up to date results.

PathSize% ChangeChange
@sentry/browser23.27 KB--
@sentry/browser - with treeshaking flags21.95 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing)35.79 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay)73.02 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.4 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay with Canvas)77.44 KB+0.01%+2 B 🔺
@sentry/browser (incl. Tracing, Replay, Feedback)89.82 KB+0.01%+1 B 🔺
@sentry/browser (incl. Feedback)40.03 KB+0.01%+1 B 🔺
@sentry/browser (incl. sendFeedback)27.88 KB+0.01%+1 B 🔺
@sentry/browser (incl. FeedbackAsync)32.67 KB+0.01%+1 B 🔺
@sentry/react25.95 KB+0.01%+2 B 🔺
@sentry/react (incl. Tracing)38.59 KB+0.01%+3 B 🔺
@sentry/vue27.48 KB+0.01%+1 B 🔺
@sentry/vue (incl. Tracing)37.62 KB+0.01%+1 B 🔺
@sentry/svelte23.44 KB+0.01%+2 B 🔺
CDN Bundle24.42 KB+0.02%+3 B 🔺
CDN Bundle (incl. Tracing)37.45 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay)72.54 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback)77.92 KB-0.01%-2 B 🔽
CDN Bundle - uncompressed71.71 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing) - uncompressed111.02 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay) - uncompressed225.07 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed238.28 KB+0.01%+3 B 🔺
@sentry/nextjs (client)38.87 KB+0.01%+3 B 🔺
@sentry/sveltekit (client)36.28 KB--
@sentry/node162.69 KB+0.02%+30 B 🔺
@sentry/node - without tracing98.86 KB+0.01%+6 B 🔺
@sentry/aws-serverless126.59 KB--

View base workflow run

@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from 7fba7db to faa37deCompareDecember 16, 2024 07:56
@mydea
mydea changed the base branch from v9 to developDecember 16, 2024 07:56
@mydea
mydea enabled auto-merge (squash) December 16, 2024 07:56
@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from faa37de to fb7efb9CompareDecember 16, 2024 08:10
@mydea
mydea merged commit 655e8a7 into developDec 16, 2024
@mydea
mydea deleted the fn/span-no-optional-data branch December 16, 2024 08:54
mydea added a commit that referenced this pull request Dec 17, 2024
Since this was reworked in
#14693 to always
return something, we can safe some checks/fallbacks.
This most likely does not change all the things, but focuses on the
places that were easy to find/replace.
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.

4 participants

@mydea@lforst@Lms24@AbhiPrasad
, '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

feat(core): Streamline SpanJSON type - #14693

Merged
mydea merged 4 commits into
developfrom
fn/span-no-optional-data
Dec 16, 2024
Merged

feat(core): Streamline SpanJSON type#14693
mydea merged 4 commits into
developfrom
fn/span-no-optional-data

Conversation

@mydea

Copy link
Copy Markdown
Member

Previously spanToJSON would return Partial<SpanJSON>. This meant that you always had to guard all the stuff you picked from it - even though in reality, we know that certain stuff will always be there.

To alleviate this, this PR changes this so that spanToJSON actually returns SpanJSON. This means that in the fallback case, we return data: {}, as well as a random (current) timestamp. Since we know that in reality we will only have the two scenarios that we properly handle, this is fine IMHO and makes usage of this everywhere else a little bit less painful.

In a follow up, we can get rid of a bunch of const data = spanToJSON(span).data || {} type code.

While at it, I also updated the type of data to SpanAttributes, which is correct (it was Record<string, any> before). Since we only allow span attributes to be set on this anyhow now, we can type this better. This also uncovered a few places with slightly "incorrect" type checks, I updated those too.

This change is on the v9 branch - I think it should not really be breaking to a user in any way, as we simply return more data from spanToJSON, and type what data is on there more tightly, so no existing code relying on this should break. But to be safe, I figured we may as well do that on v9 only.

@mydeamydea self-assigned this Dec 13, 2024
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

⚠️Warning: Base artifact is not the latest one, because the latest workflow run is not done yet. This may lead to incorrect results. Try to re-run all tests to get up to date results.

PathSize% ChangeChange
@sentry/browser23.27 KB--
@sentry/browser - with treeshaking flags21.95 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing)35.79 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay)73.02 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.4 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay with Canvas)77.44 KB+0.01%+2 B 🔺
@sentry/browser (incl. Tracing, Replay, Feedback)89.82 KB+0.01%+1 B 🔺
@sentry/browser (incl. Feedback)40.03 KB+0.01%+1 B 🔺
@sentry/browser (incl. sendFeedback)27.88 KB+0.01%+1 B 🔺
@sentry/browser (incl. FeedbackAsync)32.67 KB+0.01%+1 B 🔺
@sentry/react25.95 KB+0.01%+2 B 🔺
@sentry/react (incl. Tracing)38.59 KB+0.01%+3 B 🔺
@sentry/vue27.48 KB+0.01%+1 B 🔺
@sentry/vue (incl. Tracing)37.62 KB+0.01%+1 B 🔺
@sentry/svelte23.44 KB+0.01%+2 B 🔺
CDN Bundle24.42 KB+0.02%+3 B 🔺
CDN Bundle (incl. Tracing)37.45 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay)72.54 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback)77.92 KB-0.01%-2 B 🔽
CDN Bundle - uncompressed71.71 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing) - uncompressed111.02 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay) - uncompressed225.07 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed238.28 KB+0.01%+3 B 🔺
@sentry/nextjs (client)38.87 KB+0.01%+3 B 🔺
@sentry/sveltekit (client)36.28 KB--
@sentry/node162.69 KB+0.02%+30 B 🔺
@sentry/node - without tracing98.86 KB+0.01%+6 B 🔺
@sentry/aws-serverless126.59 KB--

View base workflow run

@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from 7fba7db to faa37deCompareDecember 16, 2024 07:56
@mydea
mydea changed the base branch from v9 to developDecember 16, 2024 07:56
@mydea
mydea enabled auto-merge (squash) December 16, 2024 07:56
@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from faa37de to fb7efb9CompareDecember 16, 2024 08:10
@mydea
mydea merged commit 655e8a7 into developDec 16, 2024
@mydea
mydea deleted the fn/span-no-optional-data branch December 16, 2024 08:54
mydea added a commit that referenced this pull request Dec 17, 2024
Since this was reworked in
#14693 to always
return something, we can safe some checks/fallbacks.
This most likely does not change all the things, but focuses on the
places that were easy to find/replace.
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.

4 participants

@mydea@lforst@Lms24@AbhiPrasad
, '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

feat(core): Streamline SpanJSON type - #14693

Merged
mydea merged 4 commits into
developfrom
fn/span-no-optional-data
Dec 16, 2024
Merged

feat(core): Streamline SpanJSON type#14693
mydea merged 4 commits into
developfrom
fn/span-no-optional-data

Conversation

@mydea

Copy link
Copy Markdown
Member

Previously spanToJSON would return Partial<SpanJSON>. This meant that you always had to guard all the stuff you picked from it - even though in reality, we know that certain stuff will always be there.

To alleviate this, this PR changes this so that spanToJSON actually returns SpanJSON. This means that in the fallback case, we return data: {}, as well as a random (current) timestamp. Since we know that in reality we will only have the two scenarios that we properly handle, this is fine IMHO and makes usage of this everywhere else a little bit less painful.

In a follow up, we can get rid of a bunch of const data = spanToJSON(span).data || {} type code.

While at it, I also updated the type of data to SpanAttributes, which is correct (it was Record<string, any> before). Since we only allow span attributes to be set on this anyhow now, we can type this better. This also uncovered a few places with slightly "incorrect" type checks, I updated those too.

This change is on the v9 branch - I think it should not really be breaking to a user in any way, as we simply return more data from spanToJSON, and type what data is on there more tightly, so no existing code relying on this should break. But to be safe, I figured we may as well do that on v9 only.

@mydeamydea self-assigned this Dec 13, 2024
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

⚠️Warning: Base artifact is not the latest one, because the latest workflow run is not done yet. This may lead to incorrect results. Try to re-run all tests to get up to date results.

PathSize% ChangeChange
@sentry/browser23.27 KB--
@sentry/browser - with treeshaking flags21.95 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing)35.79 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay)73.02 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.4 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay with Canvas)77.44 KB+0.01%+2 B 🔺
@sentry/browser (incl. Tracing, Replay, Feedback)89.82 KB+0.01%+1 B 🔺
@sentry/browser (incl. Feedback)40.03 KB+0.01%+1 B 🔺
@sentry/browser (incl. sendFeedback)27.88 KB+0.01%+1 B 🔺
@sentry/browser (incl. FeedbackAsync)32.67 KB+0.01%+1 B 🔺
@sentry/react25.95 KB+0.01%+2 B 🔺
@sentry/react (incl. Tracing)38.59 KB+0.01%+3 B 🔺
@sentry/vue27.48 KB+0.01%+1 B 🔺
@sentry/vue (incl. Tracing)37.62 KB+0.01%+1 B 🔺
@sentry/svelte23.44 KB+0.01%+2 B 🔺
CDN Bundle24.42 KB+0.02%+3 B 🔺
CDN Bundle (incl. Tracing)37.45 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay)72.54 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback)77.92 KB-0.01%-2 B 🔽
CDN Bundle - uncompressed71.71 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing) - uncompressed111.02 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay) - uncompressed225.07 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed238.28 KB+0.01%+3 B 🔺
@sentry/nextjs (client)38.87 KB+0.01%+3 B 🔺
@sentry/sveltekit (client)36.28 KB--
@sentry/node162.69 KB+0.02%+30 B 🔺
@sentry/node - without tracing98.86 KB+0.01%+6 B 🔺
@sentry/aws-serverless126.59 KB--

View base workflow run

@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from 7fba7db to faa37deCompareDecember 16, 2024 07:56
@mydea
mydea changed the base branch from v9 to developDecember 16, 2024 07:56
@mydea
mydea enabled auto-merge (squash) December 16, 2024 07:56
@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from faa37de to fb7efb9CompareDecember 16, 2024 08:10
@mydea
mydea merged commit 655e8a7 into developDec 16, 2024
@mydea
mydea deleted the fn/span-no-optional-data branch December 16, 2024 08:54
mydea added a commit that referenced this pull request Dec 17, 2024
Since this was reworked in
#14693 to always
return something, we can safe some checks/fallbacks.
This most likely does not change all the things, but focuses on the
places that were easy to find/replace.
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.

4 participants

@mydea@lforst@Lms24@AbhiPrasad
, '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

feat(core): Streamline SpanJSON type - #14693

Merged
mydea merged 4 commits into
developfrom
fn/span-no-optional-data
Dec 16, 2024
Merged

feat(core): Streamline SpanJSON type#14693
mydea merged 4 commits into
developfrom
fn/span-no-optional-data

Conversation

@mydea

Copy link
Copy Markdown
Member

Previously spanToJSON would return Partial<SpanJSON>. This meant that you always had to guard all the stuff you picked from it - even though in reality, we know that certain stuff will always be there.

To alleviate this, this PR changes this so that spanToJSON actually returns SpanJSON. This means that in the fallback case, we return data: {}, as well as a random (current) timestamp. Since we know that in reality we will only have the two scenarios that we properly handle, this is fine IMHO and makes usage of this everywhere else a little bit less painful.

In a follow up, we can get rid of a bunch of const data = spanToJSON(span).data || {} type code.

While at it, I also updated the type of data to SpanAttributes, which is correct (it was Record<string, any> before). Since we only allow span attributes to be set on this anyhow now, we can type this better. This also uncovered a few places with slightly "incorrect" type checks, I updated those too.

This change is on the v9 branch - I think it should not really be breaking to a user in any way, as we simply return more data from spanToJSON, and type what data is on there more tightly, so no existing code relying on this should break. But to be safe, I figured we may as well do that on v9 only.

@mydeamydea self-assigned this Dec 13, 2024
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

⚠️Warning: Base artifact is not the latest one, because the latest workflow run is not done yet. This may lead to incorrect results. Try to re-run all tests to get up to date results.

PathSize% ChangeChange
@sentry/browser23.27 KB--
@sentry/browser - with treeshaking flags21.95 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing)35.79 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay)73.02 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.4 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay with Canvas)77.44 KB+0.01%+2 B 🔺
@sentry/browser (incl. Tracing, Replay, Feedback)89.82 KB+0.01%+1 B 🔺
@sentry/browser (incl. Feedback)40.03 KB+0.01%+1 B 🔺
@sentry/browser (incl. sendFeedback)27.88 KB+0.01%+1 B 🔺
@sentry/browser (incl. FeedbackAsync)32.67 KB+0.01%+1 B 🔺
@sentry/react25.95 KB+0.01%+2 B 🔺
@sentry/react (incl. Tracing)38.59 KB+0.01%+3 B 🔺
@sentry/vue27.48 KB+0.01%+1 B 🔺
@sentry/vue (incl. Tracing)37.62 KB+0.01%+1 B 🔺
@sentry/svelte23.44 KB+0.01%+2 B 🔺
CDN Bundle24.42 KB+0.02%+3 B 🔺
CDN Bundle (incl. Tracing)37.45 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay)72.54 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback)77.92 KB-0.01%-2 B 🔽
CDN Bundle - uncompressed71.71 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing) - uncompressed111.02 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay) - uncompressed225.07 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed238.28 KB+0.01%+3 B 🔺
@sentry/nextjs (client)38.87 KB+0.01%+3 B 🔺
@sentry/sveltekit (client)36.28 KB--
@sentry/node162.69 KB+0.02%+30 B 🔺
@sentry/node - without tracing98.86 KB+0.01%+6 B 🔺
@sentry/aws-serverless126.59 KB--

View base workflow run

@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from 7fba7db to faa37deCompareDecember 16, 2024 07:56
@mydea
mydea changed the base branch from v9 to developDecember 16, 2024 07:56
@mydea
mydea enabled auto-merge (squash) December 16, 2024 07:56
@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from faa37de to fb7efb9CompareDecember 16, 2024 08:10
@mydea
mydea merged commit 655e8a7 into developDec 16, 2024
@mydea
mydea deleted the fn/span-no-optional-data branch December 16, 2024 08:54
mydea added a commit that referenced this pull request Dec 17, 2024
Since this was reworked in
#14693 to always
return something, we can safe some checks/fallbacks.
This most likely does not change all the things, but focuses on the
places that were easy to find/replace.
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.

4 participants

@mydea@lforst@Lms24@AbhiPrasad
, '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

feat(core): Streamline SpanJSON type - #14693

Merged
mydea merged 4 commits into
developfrom
fn/span-no-optional-data
Dec 16, 2024
Merged

feat(core): Streamline SpanJSON type#14693
mydea merged 4 commits into
developfrom
fn/span-no-optional-data

Conversation

@mydea

Copy link
Copy Markdown
Member

Previously spanToJSON would return Partial<SpanJSON>. This meant that you always had to guard all the stuff you picked from it - even though in reality, we know that certain stuff will always be there.

To alleviate this, this PR changes this so that spanToJSON actually returns SpanJSON. This means that in the fallback case, we return data: {}, as well as a random (current) timestamp. Since we know that in reality we will only have the two scenarios that we properly handle, this is fine IMHO and makes usage of this everywhere else a little bit less painful.

In a follow up, we can get rid of a bunch of const data = spanToJSON(span).data || {} type code.

While at it, I also updated the type of data to SpanAttributes, which is correct (it was Record<string, any> before). Since we only allow span attributes to be set on this anyhow now, we can type this better. This also uncovered a few places with slightly "incorrect" type checks, I updated those too.

This change is on the v9 branch - I think it should not really be breaking to a user in any way, as we simply return more data from spanToJSON, and type what data is on there more tightly, so no existing code relying on this should break. But to be safe, I figured we may as well do that on v9 only.

@mydeamydea self-assigned this Dec 13, 2024
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

⚠️Warning: Base artifact is not the latest one, because the latest workflow run is not done yet. This may lead to incorrect results. Try to re-run all tests to get up to date results.

PathSize% ChangeChange
@sentry/browser23.27 KB--
@sentry/browser - with treeshaking flags21.95 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing)35.79 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay)73.02 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.4 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay with Canvas)77.44 KB+0.01%+2 B 🔺
@sentry/browser (incl. Tracing, Replay, Feedback)89.82 KB+0.01%+1 B 🔺
@sentry/browser (incl. Feedback)40.03 KB+0.01%+1 B 🔺
@sentry/browser (incl. sendFeedback)27.88 KB+0.01%+1 B 🔺
@sentry/browser (incl. FeedbackAsync)32.67 KB+0.01%+1 B 🔺
@sentry/react25.95 KB+0.01%+2 B 🔺
@sentry/react (incl. Tracing)38.59 KB+0.01%+3 B 🔺
@sentry/vue27.48 KB+0.01%+1 B 🔺
@sentry/vue (incl. Tracing)37.62 KB+0.01%+1 B 🔺
@sentry/svelte23.44 KB+0.01%+2 B 🔺
CDN Bundle24.42 KB+0.02%+3 B 🔺
CDN Bundle (incl. Tracing)37.45 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay)72.54 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback)77.92 KB-0.01%-2 B 🔽
CDN Bundle - uncompressed71.71 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing) - uncompressed111.02 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay) - uncompressed225.07 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed238.28 KB+0.01%+3 B 🔺
@sentry/nextjs (client)38.87 KB+0.01%+3 B 🔺
@sentry/sveltekit (client)36.28 KB--
@sentry/node162.69 KB+0.02%+30 B 🔺
@sentry/node - without tracing98.86 KB+0.01%+6 B 🔺
@sentry/aws-serverless126.59 KB--

View base workflow run

@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from 7fba7db to faa37deCompareDecember 16, 2024 07:56
@mydea
mydea changed the base branch from v9 to developDecember 16, 2024 07:56
@mydea
mydea enabled auto-merge (squash) December 16, 2024 07:56
@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from faa37de to fb7efb9CompareDecember 16, 2024 08:10
@mydea
mydea merged commit 655e8a7 into developDec 16, 2024
@mydea
mydea deleted the fn/span-no-optional-data branch December 16, 2024 08:54
mydea added a commit that referenced this pull request Dec 17, 2024
Since this was reworked in
#14693 to always
return something, we can safe some checks/fallbacks.
This most likely does not change all the things, but focuses on the
places that were easy to find/replace.
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.

4 participants

@mydea@lforst@Lms24@AbhiPrasad
, '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

feat(core): Streamline SpanJSON type - #14693

Merged
mydea merged 4 commits into
developfrom
fn/span-no-optional-data
Dec 16, 2024
Merged

feat(core): Streamline SpanJSON type#14693
mydea merged 4 commits into
developfrom
fn/span-no-optional-data

Conversation

@mydea

Copy link
Copy Markdown
Member

Previously spanToJSON would return Partial<SpanJSON>. This meant that you always had to guard all the stuff you picked from it - even though in reality, we know that certain stuff will always be there.

To alleviate this, this PR changes this so that spanToJSON actually returns SpanJSON. This means that in the fallback case, we return data: {}, as well as a random (current) timestamp. Since we know that in reality we will only have the two scenarios that we properly handle, this is fine IMHO and makes usage of this everywhere else a little bit less painful.

In a follow up, we can get rid of a bunch of const data = spanToJSON(span).data || {} type code.

While at it, I also updated the type of data to SpanAttributes, which is correct (it was Record<string, any> before). Since we only allow span attributes to be set on this anyhow now, we can type this better. This also uncovered a few places with slightly "incorrect" type checks, I updated those too.

This change is on the v9 branch - I think it should not really be breaking to a user in any way, as we simply return more data from spanToJSON, and type what data is on there more tightly, so no existing code relying on this should break. But to be safe, I figured we may as well do that on v9 only.

@mydeamydea self-assigned this Dec 13, 2024
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

⚠️Warning: Base artifact is not the latest one, because the latest workflow run is not done yet. This may lead to incorrect results. Try to re-run all tests to get up to date results.

PathSize% ChangeChange
@sentry/browser23.27 KB--
@sentry/browser - with treeshaking flags21.95 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing)35.79 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay)73.02 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.4 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay with Canvas)77.44 KB+0.01%+2 B 🔺
@sentry/browser (incl. Tracing, Replay, Feedback)89.82 KB+0.01%+1 B 🔺
@sentry/browser (incl. Feedback)40.03 KB+0.01%+1 B 🔺
@sentry/browser (incl. sendFeedback)27.88 KB+0.01%+1 B 🔺
@sentry/browser (incl. FeedbackAsync)32.67 KB+0.01%+1 B 🔺
@sentry/react25.95 KB+0.01%+2 B 🔺
@sentry/react (incl. Tracing)38.59 KB+0.01%+3 B 🔺
@sentry/vue27.48 KB+0.01%+1 B 🔺
@sentry/vue (incl. Tracing)37.62 KB+0.01%+1 B 🔺
@sentry/svelte23.44 KB+0.01%+2 B 🔺
CDN Bundle24.42 KB+0.02%+3 B 🔺
CDN Bundle (incl. Tracing)37.45 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay)72.54 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback)77.92 KB-0.01%-2 B 🔽
CDN Bundle - uncompressed71.71 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing) - uncompressed111.02 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay) - uncompressed225.07 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed238.28 KB+0.01%+3 B 🔺
@sentry/nextjs (client)38.87 KB+0.01%+3 B 🔺
@sentry/sveltekit (client)36.28 KB--
@sentry/node162.69 KB+0.02%+30 B 🔺
@sentry/node - without tracing98.86 KB+0.01%+6 B 🔺
@sentry/aws-serverless126.59 KB--

View base workflow run

@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from 7fba7db to faa37deCompareDecember 16, 2024 07:56
@mydea
mydea changed the base branch from v9 to developDecember 16, 2024 07:56
@mydea
mydea enabled auto-merge (squash) December 16, 2024 07:56
@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from faa37de to fb7efb9CompareDecember 16, 2024 08:10
@mydea
mydea merged commit 655e8a7 into developDec 16, 2024
@mydea
mydea deleted the fn/span-no-optional-data branch December 16, 2024 08:54
mydea added a commit that referenced this pull request Dec 17, 2024
Since this was reworked in
#14693 to always
return something, we can safe some checks/fallbacks.
This most likely does not change all the things, but focuses on the
places that were easy to find/replace.
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.

4 participants

@mydea@lforst@Lms24@AbhiPrasad
, '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

feat(core): Streamline SpanJSON type - #14693

Merged
mydea merged 4 commits into
developfrom
fn/span-no-optional-data
Dec 16, 2024
Merged

feat(core): Streamline SpanJSON type#14693
mydea merged 4 commits into
developfrom
fn/span-no-optional-data

Conversation

@mydea

Copy link
Copy Markdown
Member

Previously spanToJSON would return Partial<SpanJSON>. This meant that you always had to guard all the stuff you picked from it - even though in reality, we know that certain stuff will always be there.

To alleviate this, this PR changes this so that spanToJSON actually returns SpanJSON. This means that in the fallback case, we return data: {}, as well as a random (current) timestamp. Since we know that in reality we will only have the two scenarios that we properly handle, this is fine IMHO and makes usage of this everywhere else a little bit less painful.

In a follow up, we can get rid of a bunch of const data = spanToJSON(span).data || {} type code.

While at it, I also updated the type of data to SpanAttributes, which is correct (it was Record<string, any> before). Since we only allow span attributes to be set on this anyhow now, we can type this better. This also uncovered a few places with slightly "incorrect" type checks, I updated those too.

This change is on the v9 branch - I think it should not really be breaking to a user in any way, as we simply return more data from spanToJSON, and type what data is on there more tightly, so no existing code relying on this should break. But to be safe, I figured we may as well do that on v9 only.

@mydeamydea self-assigned this Dec 13, 2024
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

⚠️Warning: Base artifact is not the latest one, because the latest workflow run is not done yet. This may lead to incorrect results. Try to re-run all tests to get up to date results.

PathSize% ChangeChange
@sentry/browser23.27 KB--
@sentry/browser - with treeshaking flags21.95 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing)35.79 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay)73.02 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.4 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay with Canvas)77.44 KB+0.01%+2 B 🔺
@sentry/browser (incl. Tracing, Replay, Feedback)89.82 KB+0.01%+1 B 🔺
@sentry/browser (incl. Feedback)40.03 KB+0.01%+1 B 🔺
@sentry/browser (incl. sendFeedback)27.88 KB+0.01%+1 B 🔺
@sentry/browser (incl. FeedbackAsync)32.67 KB+0.01%+1 B 🔺
@sentry/react25.95 KB+0.01%+2 B 🔺
@sentry/react (incl. Tracing)38.59 KB+0.01%+3 B 🔺
@sentry/vue27.48 KB+0.01%+1 B 🔺
@sentry/vue (incl. Tracing)37.62 KB+0.01%+1 B 🔺
@sentry/svelte23.44 KB+0.01%+2 B 🔺
CDN Bundle24.42 KB+0.02%+3 B 🔺
CDN Bundle (incl. Tracing)37.45 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay)72.54 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback)77.92 KB-0.01%-2 B 🔽
CDN Bundle - uncompressed71.71 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing) - uncompressed111.02 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay) - uncompressed225.07 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed238.28 KB+0.01%+3 B 🔺
@sentry/nextjs (client)38.87 KB+0.01%+3 B 🔺
@sentry/sveltekit (client)36.28 KB--
@sentry/node162.69 KB+0.02%+30 B 🔺
@sentry/node - without tracing98.86 KB+0.01%+6 B 🔺
@sentry/aws-serverless126.59 KB--

View base workflow run

@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from 7fba7db to faa37deCompareDecember 16, 2024 07:56
@mydea
mydea changed the base branch from v9 to developDecember 16, 2024 07:56
@mydea
mydea enabled auto-merge (squash) December 16, 2024 07:56
@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from faa37de to fb7efb9CompareDecember 16, 2024 08:10
@mydea
mydea merged commit 655e8a7 into developDec 16, 2024
@mydea
mydea deleted the fn/span-no-optional-data branch December 16, 2024 08:54
mydea added a commit that referenced this pull request Dec 17, 2024
Since this was reworked in
#14693 to always
return something, we can safe some checks/fallbacks.
This most likely does not change all the things, but focuses on the
places that were easy to find/replace.
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.

4 participants

@mydea@lforst@Lms24@AbhiPrasad
, '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

feat(core): Streamline SpanJSON type - #14693

Merged
mydea merged 4 commits into
developfrom
fn/span-no-optional-data
Dec 16, 2024
Merged

feat(core): Streamline SpanJSON type#14693
mydea merged 4 commits into
developfrom
fn/span-no-optional-data

Conversation

@mydea

Copy link
Copy Markdown
Member

Previously spanToJSON would return Partial<SpanJSON>. This meant that you always had to guard all the stuff you picked from it - even though in reality, we know that certain stuff will always be there.

To alleviate this, this PR changes this so that spanToJSON actually returns SpanJSON. This means that in the fallback case, we return data: {}, as well as a random (current) timestamp. Since we know that in reality we will only have the two scenarios that we properly handle, this is fine IMHO and makes usage of this everywhere else a little bit less painful.

In a follow up, we can get rid of a bunch of const data = spanToJSON(span).data || {} type code.

While at it, I also updated the type of data to SpanAttributes, which is correct (it was Record<string, any> before). Since we only allow span attributes to be set on this anyhow now, we can type this better. This also uncovered a few places with slightly "incorrect" type checks, I updated those too.

This change is on the v9 branch - I think it should not really be breaking to a user in any way, as we simply return more data from spanToJSON, and type what data is on there more tightly, so no existing code relying on this should break. But to be safe, I figured we may as well do that on v9 only.

@mydeamydea self-assigned this Dec 13, 2024
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

⚠️Warning: Base artifact is not the latest one, because the latest workflow run is not done yet. This may lead to incorrect results. Try to re-run all tests to get up to date results.

PathSize% ChangeChange
@sentry/browser23.27 KB--
@sentry/browser - with treeshaking flags21.95 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing)35.79 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay)73.02 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.4 KB+0.01%+1 B 🔺
@sentry/browser (incl. Tracing, Replay with Canvas)77.44 KB+0.01%+2 B 🔺
@sentry/browser (incl. Tracing, Replay, Feedback)89.82 KB+0.01%+1 B 🔺
@sentry/browser (incl. Feedback)40.03 KB+0.01%+1 B 🔺
@sentry/browser (incl. sendFeedback)27.88 KB+0.01%+1 B 🔺
@sentry/browser (incl. FeedbackAsync)32.67 KB+0.01%+1 B 🔺
@sentry/react25.95 KB+0.01%+2 B 🔺
@sentry/react (incl. Tracing)38.59 KB+0.01%+3 B 🔺
@sentry/vue27.48 KB+0.01%+1 B 🔺
@sentry/vue (incl. Tracing)37.62 KB+0.01%+1 B 🔺
@sentry/svelte23.44 KB+0.01%+2 B 🔺
CDN Bundle24.42 KB+0.02%+3 B 🔺
CDN Bundle (incl. Tracing)37.45 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay)72.54 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback)77.92 KB-0.01%-2 B 🔽
CDN Bundle - uncompressed71.71 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing) - uncompressed111.02 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay) - uncompressed225.07 KB+0.01%+3 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed238.28 KB+0.01%+3 B 🔺
@sentry/nextjs (client)38.87 KB+0.01%+3 B 🔺
@sentry/sveltekit (client)36.28 KB--
@sentry/node162.69 KB+0.02%+30 B 🔺
@sentry/node - without tracing98.86 KB+0.01%+6 B 🔺
@sentry/aws-serverless126.59 KB--

View base workflow run

@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from 7fba7db to faa37deCompareDecember 16, 2024 07:56
@mydea
mydea changed the base branch from v9 to developDecember 16, 2024 07:56
@mydea
mydea enabled auto-merge (squash) December 16, 2024 07:56
@mydea
mydeaforce-pushed the fn/span-no-optional-data branch from faa37de to fb7efb9CompareDecember 16, 2024 08:10
@mydea
mydea merged commit 655e8a7 into developDec 16, 2024
@mydea
mydea deleted the fn/span-no-optional-data branch December 16, 2024 08:54
mydea added a commit that referenced this pull request Dec 17, 2024
Since this was reworked in
#14693 to always
return something, we can safe some checks/fallbacks.
This most likely does not change all the things, but focuses on the
places that were easy to find/replace.
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.

4 participants

@mydea@lforst@Lms24@AbhiPrasad