Bump Sentry JavaScript 7.3.1 - #2306

Merged
marandaneto merged 13 commits into
mainfrom
bump/js720
Jun 29, 2022
Merged

Bump Sentry JavaScript 7.3.1#2306
marandaneto merged 13 commits into
mainfrom
bump/js720

Conversation

@marandaneto

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • All tests passing
  • No breaking changes

🔮 Next steps

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Tests fail due to:

FAIL test/tracing/stalltracking.test.ts (6.517s)
● StallTracking › Stall tracking detects a JS stall
TypeError: hub$1.getClient is not a function
52 | setTimeout(() => {
53 | stallTracking.onTransactionFinish(transaction);
> 54 | transaction.finish();
| ^
55 |
56 | const measurements = getLastEvent()?.measurements;
57 |
at Transaction._getBaggageWithSentryValues (node_modules/@sentry/tracing/cjs/span.js:345:24)
at Transaction.getBaggage (node_modules/@sentry/tracing/cjs/span.js:304:16)
at Transaction.finish (node_modules/@sentry/tracing/cjs/transaction.js:119:51)
at Timeout._onTimeout (test/tracing/stalltracking.test.ts:54:19)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

were there any breaking changes related to it?

@Lms24

Lms24 commented Jun 22, 2022

Copy link
Copy Markdown
Member

Hmm this is weird.. I took a quick look but afaict we didn't change anything w.r.t the hub API or in anything publicly exposed in the Span class.

This line should be, where the test currently fails, right?:
https://github.com/getsentry/sentry-javascript/blob/45818f3348ce8dc30d22743b2093f5a2aebb1ce9/packages/tracing/src/span.ts#L373

So for some reason, there seems to be a problem with hub. Any chance that it is not correctly set when starting/creating the transaction? I can't recall changing anything there either, though.

EDIT: I'm currently doing some more work in this area so I removed the sketchy type cast from _getBaggageWithSentryValues and made sure to only call hub.getClient() when the hub actually exists. But the error you get doesn't seem to be caused by an undefined client but rather by a malformed one...

@marandaneto

marandaneto commented Jun 22, 2022

Copy link
Copy Markdown
ContributorAuthor

Yes, exactly that line of the code, wondering if it's something that JS SDK has to fix or should I should mock it in my tests.

Edit: worked if I mock getClientad94e98

@Lms24

Copy link
Copy Markdown
Member

Ahh I think I know what's going on here and I believe mocking getClient is fine: Because you're mocking getCurrentHubhere to return the above created hub object, the getClient method was simply missing in the mock. The Transaction we access in _getBaggageWithSentryValues, when started/created, defaults to setting getCurrentHub as its hub which is what we end up using (or we directly call getCurrentHub if the transaction has no hub).

wondering if it's something that JS SDK has to fix

I don't think so (if my assumption above is correct). Can't really change this on the JS SDK though because we need the client at this stage to collect the information for the dynamic sampling context (i.e. the stuff we propagate via baggage and send in the envelope header).

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Thanks @Lms24 appreciate it.

Comment threadCHANGELOG.md Outdated
Comment threadios/RNSentry.m Outdated
@marandanetomarandaneto changed the title Bump Sentry JavaScript 7.2.0Bump Sentry JavaScript 7.3.1Jun 29, 2022
Comment threadCHANGELOG.md Outdated
@marandaneto
marandaneto marked this pull request as ready for review June 29, 2022 07:57
@marandaneto
marandaneto enabled auto-merge (squash) June 29, 2022 08:00
@marandaneto
marandaneto merged commit 64fb8a1 into mainJun 29, 2022
@marandaneto
marandaneto deleted the bump/js720 branch June 29, 2022 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@marandaneto@Lms24
, '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

Bump Sentry JavaScript 7.3.1 - #2306

Merged
marandaneto merged 13 commits into
mainfrom
bump/js720
Jun 29, 2022
Merged

Bump Sentry JavaScript 7.3.1#2306
marandaneto merged 13 commits into
mainfrom
bump/js720

Conversation

@marandaneto

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • All tests passing
  • No breaking changes

🔮 Next steps

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Tests fail due to:

FAIL test/tracing/stalltracking.test.ts (6.517s)
● StallTracking › Stall tracking detects a JS stall
TypeError: hub$1.getClient is not a function
52 | setTimeout(() => {
53 | stallTracking.onTransactionFinish(transaction);
> 54 | transaction.finish();
| ^
55 |
56 | const measurements = getLastEvent()?.measurements;
57 |
at Transaction._getBaggageWithSentryValues (node_modules/@sentry/tracing/cjs/span.js:345:24)
at Transaction.getBaggage (node_modules/@sentry/tracing/cjs/span.js:304:16)
at Transaction.finish (node_modules/@sentry/tracing/cjs/transaction.js:119:51)
at Timeout._onTimeout (test/tracing/stalltracking.test.ts:54:19)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

were there any breaking changes related to it?

@Lms24

Lms24 commented Jun 22, 2022

Copy link
Copy Markdown
Member

Hmm this is weird.. I took a quick look but afaict we didn't change anything w.r.t the hub API or in anything publicly exposed in the Span class.

This line should be, where the test currently fails, right?:
https://github.com/getsentry/sentry-javascript/blob/45818f3348ce8dc30d22743b2093f5a2aebb1ce9/packages/tracing/src/span.ts#L373

So for some reason, there seems to be a problem with hub. Any chance that it is not correctly set when starting/creating the transaction? I can't recall changing anything there either, though.

EDIT: I'm currently doing some more work in this area so I removed the sketchy type cast from _getBaggageWithSentryValues and made sure to only call hub.getClient() when the hub actually exists. But the error you get doesn't seem to be caused by an undefined client but rather by a malformed one...

@marandaneto

marandaneto commented Jun 22, 2022

Copy link
Copy Markdown
ContributorAuthor

Yes, exactly that line of the code, wondering if it's something that JS SDK has to fix or should I should mock it in my tests.

Edit: worked if I mock getClientad94e98

@Lms24

Copy link
Copy Markdown
Member

Ahh I think I know what's going on here and I believe mocking getClient is fine: Because you're mocking getCurrentHubhere to return the above created hub object, the getClient method was simply missing in the mock. The Transaction we access in _getBaggageWithSentryValues, when started/created, defaults to setting getCurrentHub as its hub which is what we end up using (or we directly call getCurrentHub if the transaction has no hub).

wondering if it's something that JS SDK has to fix

I don't think so (if my assumption above is correct). Can't really change this on the JS SDK though because we need the client at this stage to collect the information for the dynamic sampling context (i.e. the stuff we propagate via baggage and send in the envelope header).

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Thanks @Lms24 appreciate it.

Comment threadCHANGELOG.md Outdated
Comment threadios/RNSentry.m Outdated
@marandanetomarandaneto changed the title Bump Sentry JavaScript 7.2.0Bump Sentry JavaScript 7.3.1Jun 29, 2022
Comment threadCHANGELOG.md Outdated
@marandaneto
marandaneto marked this pull request as ready for review June 29, 2022 07:57
@marandaneto
marandaneto enabled auto-merge (squash) June 29, 2022 08:00
@marandaneto
marandaneto merged commit 64fb8a1 into mainJun 29, 2022
@marandaneto
marandaneto deleted the bump/js720 branch June 29, 2022 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@marandaneto@Lms24
, '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

Bump Sentry JavaScript 7.3.1 - #2306

Merged
marandaneto merged 13 commits into
mainfrom
bump/js720
Jun 29, 2022
Merged

Bump Sentry JavaScript 7.3.1#2306
marandaneto merged 13 commits into
mainfrom
bump/js720

Conversation

@marandaneto

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • All tests passing
  • No breaking changes

🔮 Next steps

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Tests fail due to:

FAIL test/tracing/stalltracking.test.ts (6.517s)
● StallTracking › Stall tracking detects a JS stall
TypeError: hub$1.getClient is not a function
52 | setTimeout(() => {
53 | stallTracking.onTransactionFinish(transaction);
> 54 | transaction.finish();
| ^
55 |
56 | const measurements = getLastEvent()?.measurements;
57 |
at Transaction._getBaggageWithSentryValues (node_modules/@sentry/tracing/cjs/span.js:345:24)
at Transaction.getBaggage (node_modules/@sentry/tracing/cjs/span.js:304:16)
at Transaction.finish (node_modules/@sentry/tracing/cjs/transaction.js:119:51)
at Timeout._onTimeout (test/tracing/stalltracking.test.ts:54:19)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

were there any breaking changes related to it?

@Lms24

Lms24 commented Jun 22, 2022

Copy link
Copy Markdown
Member

Hmm this is weird.. I took a quick look but afaict we didn't change anything w.r.t the hub API or in anything publicly exposed in the Span class.

This line should be, where the test currently fails, right?:
https://github.com/getsentry/sentry-javascript/blob/45818f3348ce8dc30d22743b2093f5a2aebb1ce9/packages/tracing/src/span.ts#L373

So for some reason, there seems to be a problem with hub. Any chance that it is not correctly set when starting/creating the transaction? I can't recall changing anything there either, though.

EDIT: I'm currently doing some more work in this area so I removed the sketchy type cast from _getBaggageWithSentryValues and made sure to only call hub.getClient() when the hub actually exists. But the error you get doesn't seem to be caused by an undefined client but rather by a malformed one...

@marandaneto

marandaneto commented Jun 22, 2022

Copy link
Copy Markdown
ContributorAuthor

Yes, exactly that line of the code, wondering if it's something that JS SDK has to fix or should I should mock it in my tests.

Edit: worked if I mock getClientad94e98

@Lms24

Copy link
Copy Markdown
Member

Ahh I think I know what's going on here and I believe mocking getClient is fine: Because you're mocking getCurrentHubhere to return the above created hub object, the getClient method was simply missing in the mock. The Transaction we access in _getBaggageWithSentryValues, when started/created, defaults to setting getCurrentHub as its hub which is what we end up using (or we directly call getCurrentHub if the transaction has no hub).

wondering if it's something that JS SDK has to fix

I don't think so (if my assumption above is correct). Can't really change this on the JS SDK though because we need the client at this stage to collect the information for the dynamic sampling context (i.e. the stuff we propagate via baggage and send in the envelope header).

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Thanks @Lms24 appreciate it.

Comment threadCHANGELOG.md Outdated
Comment threadios/RNSentry.m Outdated
@marandanetomarandaneto changed the title Bump Sentry JavaScript 7.2.0Bump Sentry JavaScript 7.3.1Jun 29, 2022
Comment threadCHANGELOG.md Outdated
@marandaneto
marandaneto marked this pull request as ready for review June 29, 2022 07:57
@marandaneto
marandaneto enabled auto-merge (squash) June 29, 2022 08:00
@marandaneto
marandaneto merged commit 64fb8a1 into mainJun 29, 2022
@marandaneto
marandaneto deleted the bump/js720 branch June 29, 2022 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@marandaneto@Lms24
, '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

Bump Sentry JavaScript 7.3.1 - #2306

Merged
marandaneto merged 13 commits into
mainfrom
bump/js720
Jun 29, 2022
Merged

Bump Sentry JavaScript 7.3.1#2306
marandaneto merged 13 commits into
mainfrom
bump/js720

Conversation

@marandaneto

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • All tests passing
  • No breaking changes

🔮 Next steps

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Tests fail due to:

FAIL test/tracing/stalltracking.test.ts (6.517s)
● StallTracking › Stall tracking detects a JS stall
TypeError: hub$1.getClient is not a function
52 | setTimeout(() => {
53 | stallTracking.onTransactionFinish(transaction);
> 54 | transaction.finish();
| ^
55 |
56 | const measurements = getLastEvent()?.measurements;
57 |
at Transaction._getBaggageWithSentryValues (node_modules/@sentry/tracing/cjs/span.js:345:24)
at Transaction.getBaggage (node_modules/@sentry/tracing/cjs/span.js:304:16)
at Transaction.finish (node_modules/@sentry/tracing/cjs/transaction.js:119:51)
at Timeout._onTimeout (test/tracing/stalltracking.test.ts:54:19)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

were there any breaking changes related to it?

@Lms24

Lms24 commented Jun 22, 2022

Copy link
Copy Markdown
Member

Hmm this is weird.. I took a quick look but afaict we didn't change anything w.r.t the hub API or in anything publicly exposed in the Span class.

This line should be, where the test currently fails, right?:
https://github.com/getsentry/sentry-javascript/blob/45818f3348ce8dc30d22743b2093f5a2aebb1ce9/packages/tracing/src/span.ts#L373

So for some reason, there seems to be a problem with hub. Any chance that it is not correctly set when starting/creating the transaction? I can't recall changing anything there either, though.

EDIT: I'm currently doing some more work in this area so I removed the sketchy type cast from _getBaggageWithSentryValues and made sure to only call hub.getClient() when the hub actually exists. But the error you get doesn't seem to be caused by an undefined client but rather by a malformed one...

@marandaneto

marandaneto commented Jun 22, 2022

Copy link
Copy Markdown
ContributorAuthor

Yes, exactly that line of the code, wondering if it's something that JS SDK has to fix or should I should mock it in my tests.

Edit: worked if I mock getClientad94e98

@Lms24

Copy link
Copy Markdown
Member

Ahh I think I know what's going on here and I believe mocking getClient is fine: Because you're mocking getCurrentHubhere to return the above created hub object, the getClient method was simply missing in the mock. The Transaction we access in _getBaggageWithSentryValues, when started/created, defaults to setting getCurrentHub as its hub which is what we end up using (or we directly call getCurrentHub if the transaction has no hub).

wondering if it's something that JS SDK has to fix

I don't think so (if my assumption above is correct). Can't really change this on the JS SDK though because we need the client at this stage to collect the information for the dynamic sampling context (i.e. the stuff we propagate via baggage and send in the envelope header).

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Thanks @Lms24 appreciate it.

Comment threadCHANGELOG.md Outdated
Comment threadios/RNSentry.m Outdated
@marandanetomarandaneto changed the title Bump Sentry JavaScript 7.2.0Bump Sentry JavaScript 7.3.1Jun 29, 2022
Comment threadCHANGELOG.md Outdated
@marandaneto
marandaneto marked this pull request as ready for review June 29, 2022 07:57
@marandaneto
marandaneto enabled auto-merge (squash) June 29, 2022 08:00
@marandaneto
marandaneto merged commit 64fb8a1 into mainJun 29, 2022
@marandaneto
marandaneto deleted the bump/js720 branch June 29, 2022 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@marandaneto@Lms24
, '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

Bump Sentry JavaScript 7.3.1 - #2306

Merged
marandaneto merged 13 commits into
mainfrom
bump/js720
Jun 29, 2022
Merged

Bump Sentry JavaScript 7.3.1#2306
marandaneto merged 13 commits into
mainfrom
bump/js720

Conversation

@marandaneto

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • All tests passing
  • No breaking changes

🔮 Next steps

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Tests fail due to:

FAIL test/tracing/stalltracking.test.ts (6.517s)
● StallTracking › Stall tracking detects a JS stall
TypeError: hub$1.getClient is not a function
52 | setTimeout(() => {
53 | stallTracking.onTransactionFinish(transaction);
> 54 | transaction.finish();
| ^
55 |
56 | const measurements = getLastEvent()?.measurements;
57 |
at Transaction._getBaggageWithSentryValues (node_modules/@sentry/tracing/cjs/span.js:345:24)
at Transaction.getBaggage (node_modules/@sentry/tracing/cjs/span.js:304:16)
at Transaction.finish (node_modules/@sentry/tracing/cjs/transaction.js:119:51)
at Timeout._onTimeout (test/tracing/stalltracking.test.ts:54:19)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

were there any breaking changes related to it?

@Lms24

Lms24 commented Jun 22, 2022

Copy link
Copy Markdown
Member

Hmm this is weird.. I took a quick look but afaict we didn't change anything w.r.t the hub API or in anything publicly exposed in the Span class.

This line should be, where the test currently fails, right?:
https://github.com/getsentry/sentry-javascript/blob/45818f3348ce8dc30d22743b2093f5a2aebb1ce9/packages/tracing/src/span.ts#L373

So for some reason, there seems to be a problem with hub. Any chance that it is not correctly set when starting/creating the transaction? I can't recall changing anything there either, though.

EDIT: I'm currently doing some more work in this area so I removed the sketchy type cast from _getBaggageWithSentryValues and made sure to only call hub.getClient() when the hub actually exists. But the error you get doesn't seem to be caused by an undefined client but rather by a malformed one...

@marandaneto

marandaneto commented Jun 22, 2022

Copy link
Copy Markdown
ContributorAuthor

Yes, exactly that line of the code, wondering if it's something that JS SDK has to fix or should I should mock it in my tests.

Edit: worked if I mock getClientad94e98

@Lms24

Copy link
Copy Markdown
Member

Ahh I think I know what's going on here and I believe mocking getClient is fine: Because you're mocking getCurrentHubhere to return the above created hub object, the getClient method was simply missing in the mock. The Transaction we access in _getBaggageWithSentryValues, when started/created, defaults to setting getCurrentHub as its hub which is what we end up using (or we directly call getCurrentHub if the transaction has no hub).

wondering if it's something that JS SDK has to fix

I don't think so (if my assumption above is correct). Can't really change this on the JS SDK though because we need the client at this stage to collect the information for the dynamic sampling context (i.e. the stuff we propagate via baggage and send in the envelope header).

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Thanks @Lms24 appreciate it.

Comment threadCHANGELOG.md Outdated
Comment threadios/RNSentry.m Outdated
@marandanetomarandaneto changed the title Bump Sentry JavaScript 7.2.0Bump Sentry JavaScript 7.3.1Jun 29, 2022
Comment threadCHANGELOG.md Outdated
@marandaneto
marandaneto marked this pull request as ready for review June 29, 2022 07:57
@marandaneto
marandaneto enabled auto-merge (squash) June 29, 2022 08:00
@marandaneto
marandaneto merged commit 64fb8a1 into mainJun 29, 2022
@marandaneto
marandaneto deleted the bump/js720 branch June 29, 2022 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@marandaneto@Lms24
, '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

Bump Sentry JavaScript 7.3.1 - #2306

Merged
marandaneto merged 13 commits into
mainfrom
bump/js720
Jun 29, 2022
Merged

Bump Sentry JavaScript 7.3.1#2306
marandaneto merged 13 commits into
mainfrom
bump/js720

Conversation

@marandaneto

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • All tests passing
  • No breaking changes

🔮 Next steps

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Tests fail due to:

FAIL test/tracing/stalltracking.test.ts (6.517s)
● StallTracking › Stall tracking detects a JS stall
TypeError: hub$1.getClient is not a function
52 | setTimeout(() => {
53 | stallTracking.onTransactionFinish(transaction);
> 54 | transaction.finish();
| ^
55 |
56 | const measurements = getLastEvent()?.measurements;
57 |
at Transaction._getBaggageWithSentryValues (node_modules/@sentry/tracing/cjs/span.js:345:24)
at Transaction.getBaggage (node_modules/@sentry/tracing/cjs/span.js:304:16)
at Transaction.finish (node_modules/@sentry/tracing/cjs/transaction.js:119:51)
at Timeout._onTimeout (test/tracing/stalltracking.test.ts:54:19)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

were there any breaking changes related to it?

@Lms24

Lms24 commented Jun 22, 2022

Copy link
Copy Markdown
Member

Hmm this is weird.. I took a quick look but afaict we didn't change anything w.r.t the hub API or in anything publicly exposed in the Span class.

This line should be, where the test currently fails, right?:
https://github.com/getsentry/sentry-javascript/blob/45818f3348ce8dc30d22743b2093f5a2aebb1ce9/packages/tracing/src/span.ts#L373

So for some reason, there seems to be a problem with hub. Any chance that it is not correctly set when starting/creating the transaction? I can't recall changing anything there either, though.

EDIT: I'm currently doing some more work in this area so I removed the sketchy type cast from _getBaggageWithSentryValues and made sure to only call hub.getClient() when the hub actually exists. But the error you get doesn't seem to be caused by an undefined client but rather by a malformed one...

@marandaneto

marandaneto commented Jun 22, 2022

Copy link
Copy Markdown
ContributorAuthor

Yes, exactly that line of the code, wondering if it's something that JS SDK has to fix or should I should mock it in my tests.

Edit: worked if I mock getClientad94e98

@Lms24

Copy link
Copy Markdown
Member

Ahh I think I know what's going on here and I believe mocking getClient is fine: Because you're mocking getCurrentHubhere to return the above created hub object, the getClient method was simply missing in the mock. The Transaction we access in _getBaggageWithSentryValues, when started/created, defaults to setting getCurrentHub as its hub which is what we end up using (or we directly call getCurrentHub if the transaction has no hub).

wondering if it's something that JS SDK has to fix

I don't think so (if my assumption above is correct). Can't really change this on the JS SDK though because we need the client at this stage to collect the information for the dynamic sampling context (i.e. the stuff we propagate via baggage and send in the envelope header).

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Thanks @Lms24 appreciate it.

Comment threadCHANGELOG.md Outdated
Comment threadios/RNSentry.m Outdated
@marandanetomarandaneto changed the title Bump Sentry JavaScript 7.2.0Bump Sentry JavaScript 7.3.1Jun 29, 2022
Comment threadCHANGELOG.md Outdated
@marandaneto
marandaneto marked this pull request as ready for review June 29, 2022 07:57
@marandaneto
marandaneto enabled auto-merge (squash) June 29, 2022 08:00
@marandaneto
marandaneto merged commit 64fb8a1 into mainJun 29, 2022
@marandaneto
marandaneto deleted the bump/js720 branch June 29, 2022 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@marandaneto@Lms24
, '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

Bump Sentry JavaScript 7.3.1 - #2306

Merged
marandaneto merged 13 commits into
mainfrom
bump/js720
Jun 29, 2022
Merged

Bump Sentry JavaScript 7.3.1#2306
marandaneto merged 13 commits into
mainfrom
bump/js720

Conversation

@marandaneto

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • All tests passing
  • No breaking changes

🔮 Next steps

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Tests fail due to:

FAIL test/tracing/stalltracking.test.ts (6.517s)
● StallTracking › Stall tracking detects a JS stall
TypeError: hub$1.getClient is not a function
52 | setTimeout(() => {
53 | stallTracking.onTransactionFinish(transaction);
> 54 | transaction.finish();
| ^
55 |
56 | const measurements = getLastEvent()?.measurements;
57 |
at Transaction._getBaggageWithSentryValues (node_modules/@sentry/tracing/cjs/span.js:345:24)
at Transaction.getBaggage (node_modules/@sentry/tracing/cjs/span.js:304:16)
at Transaction.finish (node_modules/@sentry/tracing/cjs/transaction.js:119:51)
at Timeout._onTimeout (test/tracing/stalltracking.test.ts:54:19)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

were there any breaking changes related to it?

@Lms24

Lms24 commented Jun 22, 2022

Copy link
Copy Markdown
Member

Hmm this is weird.. I took a quick look but afaict we didn't change anything w.r.t the hub API or in anything publicly exposed in the Span class.

This line should be, where the test currently fails, right?:
https://github.com/getsentry/sentry-javascript/blob/45818f3348ce8dc30d22743b2093f5a2aebb1ce9/packages/tracing/src/span.ts#L373

So for some reason, there seems to be a problem with hub. Any chance that it is not correctly set when starting/creating the transaction? I can't recall changing anything there either, though.

EDIT: I'm currently doing some more work in this area so I removed the sketchy type cast from _getBaggageWithSentryValues and made sure to only call hub.getClient() when the hub actually exists. But the error you get doesn't seem to be caused by an undefined client but rather by a malformed one...

@marandaneto

marandaneto commented Jun 22, 2022

Copy link
Copy Markdown
ContributorAuthor

Yes, exactly that line of the code, wondering if it's something that JS SDK has to fix or should I should mock it in my tests.

Edit: worked if I mock getClientad94e98

@Lms24

Copy link
Copy Markdown
Member

Ahh I think I know what's going on here and I believe mocking getClient is fine: Because you're mocking getCurrentHubhere to return the above created hub object, the getClient method was simply missing in the mock. The Transaction we access in _getBaggageWithSentryValues, when started/created, defaults to setting getCurrentHub as its hub which is what we end up using (or we directly call getCurrentHub if the transaction has no hub).

wondering if it's something that JS SDK has to fix

I don't think so (if my assumption above is correct). Can't really change this on the JS SDK though because we need the client at this stage to collect the information for the dynamic sampling context (i.e. the stuff we propagate via baggage and send in the envelope header).

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Thanks @Lms24 appreciate it.

Comment threadCHANGELOG.md Outdated
Comment threadios/RNSentry.m Outdated
@marandanetomarandaneto changed the title Bump Sentry JavaScript 7.2.0Bump Sentry JavaScript 7.3.1Jun 29, 2022
Comment threadCHANGELOG.md Outdated
@marandaneto
marandaneto marked this pull request as ready for review June 29, 2022 07:57
@marandaneto
marandaneto enabled auto-merge (squash) June 29, 2022 08:00
@marandaneto
marandaneto merged commit 64fb8a1 into mainJun 29, 2022
@marandaneto
marandaneto deleted the bump/js720 branch June 29, 2022 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@marandaneto@Lms24
, '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

Bump Sentry JavaScript 7.3.1 - #2306

Merged
marandaneto merged 13 commits into
mainfrom
bump/js720
Jun 29, 2022
Merged

Bump Sentry JavaScript 7.3.1#2306
marandaneto merged 13 commits into
mainfrom
bump/js720

Conversation

@marandaneto

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • All tests passing
  • No breaking changes

🔮 Next steps

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Tests fail due to:

FAIL test/tracing/stalltracking.test.ts (6.517s)
● StallTracking › Stall tracking detects a JS stall
TypeError: hub$1.getClient is not a function
52 | setTimeout(() => {
53 | stallTracking.onTransactionFinish(transaction);
> 54 | transaction.finish();
| ^
55 |
56 | const measurements = getLastEvent()?.measurements;
57 |
at Transaction._getBaggageWithSentryValues (node_modules/@sentry/tracing/cjs/span.js:345:24)
at Transaction.getBaggage (node_modules/@sentry/tracing/cjs/span.js:304:16)
at Transaction.finish (node_modules/@sentry/tracing/cjs/transaction.js:119:51)
at Timeout._onTimeout (test/tracing/stalltracking.test.ts:54:19)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

were there any breaking changes related to it?

@Lms24

Lms24 commented Jun 22, 2022

Copy link
Copy Markdown
Member

Hmm this is weird.. I took a quick look but afaict we didn't change anything w.r.t the hub API or in anything publicly exposed in the Span class.

This line should be, where the test currently fails, right?:
https://github.com/getsentry/sentry-javascript/blob/45818f3348ce8dc30d22743b2093f5a2aebb1ce9/packages/tracing/src/span.ts#L373

So for some reason, there seems to be a problem with hub. Any chance that it is not correctly set when starting/creating the transaction? I can't recall changing anything there either, though.

EDIT: I'm currently doing some more work in this area so I removed the sketchy type cast from _getBaggageWithSentryValues and made sure to only call hub.getClient() when the hub actually exists. But the error you get doesn't seem to be caused by an undefined client but rather by a malformed one...

@marandaneto

marandaneto commented Jun 22, 2022

Copy link
Copy Markdown
ContributorAuthor

Yes, exactly that line of the code, wondering if it's something that JS SDK has to fix or should I should mock it in my tests.

Edit: worked if I mock getClientad94e98

@Lms24

Copy link
Copy Markdown
Member

Ahh I think I know what's going on here and I believe mocking getClient is fine: Because you're mocking getCurrentHubhere to return the above created hub object, the getClient method was simply missing in the mock. The Transaction we access in _getBaggageWithSentryValues, when started/created, defaults to setting getCurrentHub as its hub which is what we end up using (or we directly call getCurrentHub if the transaction has no hub).

wondering if it's something that JS SDK has to fix

I don't think so (if my assumption above is correct). Can't really change this on the JS SDK though because we need the client at this stage to collect the information for the dynamic sampling context (i.e. the stuff we propagate via baggage and send in the envelope header).

@marandaneto

Copy link
Copy Markdown
ContributorAuthor

Thanks @Lms24 appreciate it.

Comment threadCHANGELOG.md Outdated
Comment threadios/RNSentry.m Outdated
@marandanetomarandaneto changed the title Bump Sentry JavaScript 7.2.0Bump Sentry JavaScript 7.3.1Jun 29, 2022
Comment threadCHANGELOG.md Outdated
@marandaneto
marandaneto marked this pull request as ready for review June 29, 2022 07:57
@marandaneto
marandaneto enabled auto-merge (squash) June 29, 2022 08:00
@marandaneto
marandaneto merged commit 64fb8a1 into mainJun 29, 2022
@marandaneto
marandaneto deleted the bump/js720 branch June 29, 2022 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@marandaneto@Lms24