chore(feedback): Improve widget animations - #4555

Merged
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation
Feb 17, 2025
Merged

chore(feedback): Improve widget animations#4555
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation

Conversation

@krystofwoldrich

Copy link
Copy Markdown
Contributor

This PR removes duplicate animations of the feedback widget.

Because modal slide and animated slide, the modal would flash in an upper position when sliding out, see the video below.

before.mov

After the changes, the widget plays only one slide animation and slides once. Als,o the background opacity, animates now on close. Before was canceled by unmounting the widget.

Behaviour change

if onClose or onSucess callbacks are supplied the widget doesn't unmount users get to decide what to do with the widget. This allows us in case of the auto-injection keep the form on the modal which is sliding out instead of sliding out a blank modal.

after.mov

@github-actions

Copy link
Copy Markdown
Contributor
Fails
🚫Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased- Improve widget animations ([#4555](https://github.com/getsentry/sentry-react-native/pull/4555))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 20d0659

@github-actions

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time370.74 ms403.21 ms32.47 ms
Size17.75 MiB20.12 MiB2.38 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
8cb898b438.83 ms420.58 ms-18.25 ms
e5d5735452.70 ms453.04 ms0.34 ms
2646c98429.98 ms421.63 ms-8.35 ms
894ebb0497.45 ms545.04 ms47.60 ms
0459aee491.48 ms486.13 ms-5.35 ms
3e4cdf5462.35 ms474.96 ms12.61 ms
0325426477.32 ms457.43 ms-19.89 ms
269c976448.08 ms428.86 ms-19.22 ms
77e88fc478.48 ms487.21 ms8.73 ms
df05370477.62 ms491.63 ms14.00 ms

App size

RevisionPlainWith SentryDiff
8cb898b17.75 MiB20.12 MiB2.37 MiB
e5d573517.75 MiB20.12 MiB2.37 MiB
2646c9817.75 MiB20.12 MiB2.37 MiB
894ebb017.75 MiB20.12 MiB2.37 MiB
0459aee17.75 MiB20.12 MiB2.37 MiB
3e4cdf517.75 MiB20.12 MiB2.37 MiB
032542617.75 MiB20.12 MiB2.37 MiB
269c97617.75 MiB20.12 MiB2.37 MiB
77e88fc17.75 MiB20.12 MiB2.37 MiB
df0537017.75 MiB20.12 MiB2.37 MiB

@github-actions

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time344.92 ms342.26 ms-2.66 ms
Size7.15 MiB8.39 MiB1.24 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
3e4cdf5+dirty642.13 ms702.23 ms60.10 ms
e42816c+dirty347.06 ms348.18 ms1.12 ms
e5d5735+dirty377.37 ms430.04 ms52.67 ms
77e88fc+dirty358.67 ms346.20 ms-12.47 ms
6b1624f+dirty382.17 ms441.00 ms58.83 ms
df05370+dirty395.08 ms430.38 ms35.30 ms
269c976+dirty395.13 ms438.37 ms43.24 ms
8cb898b+dirty393.33 ms416.20 ms22.87 ms
9402883+dirty436.49 ms518.94 ms82.45 ms
0459aee+dirty424.10 ms466.63 ms42.53 ms

App size

RevisionPlainWith SentryDiff
3e4cdf5+dirty7.15 MiB8.39 MiB1.23 MiB
e42816c+dirty7.15 MiB8.39 MiB1.24 MiB
e5d5735+dirty7.15 MiB8.39 MiB1.23 MiB
77e88fc+dirty7.15 MiB8.39 MiB1.24 MiB
6b1624f+dirty7.15 MiB8.39 MiB1.23 MiB
df05370+dirty7.15 MiB8.39 MiB1.23 MiB
269c976+dirty7.15 MiB8.39 MiB1.23 MiB
8cb898b+dirty7.15 MiB8.39 MiB1.24 MiB
9402883+dirty7.15 MiB8.39 MiB1.23 MiB
0459aee+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1205.09 ms1212.96 ms7.87 ms
Size2.63 MiB3.75 MiB1.12 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1228.88 ms1229.92 ms1.04 ms
e42816c+dirty1211.29 ms1219.65 ms8.37 ms
8cb898b+dirty1221.40 ms1231.78 ms10.37 ms
6b1624f+dirty1224.65 ms1225.65 ms1.00 ms
0459aee+dirty1232.82 ms1231.19 ms-1.63 ms
2646c98+dirty1218.51 ms1218.92 ms0.41 ms
e5d5735+dirty1222.02 ms1222.22 ms0.20 ms
df05370+dirty1209.92 ms1216.55 ms6.63 ms
269c976+dirty1210.02 ms1204.46 ms-5.56 ms
3e4cdf5+dirty1222.53 ms1224.42 ms1.89 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty2.63 MiB3.69 MiB1.06 MiB
e42816c+dirty2.63 MiB3.75 MiB1.12 MiB
8cb898b+dirty2.63 MiB3.71 MiB1.08 MiB
6b1624f+dirty2.63 MiB3.71 MiB1.07 MiB
0459aee+dirty2.63 MiB3.69 MiB1.06 MiB
2646c98+dirty2.63 MiB3.69 MiB1.06 MiB
e5d5735+dirty2.63 MiB3.69 MiB1.06 MiB
df05370+dirty2.63 MiB3.71 MiB1.07 MiB
269c976+dirty2.63 MiB3.69 MiB1.06 MiB
3e4cdf5+dirty2.63 MiB3.69 MiB1.06 MiB

@antonisantonis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for fixing this @krystofwoldrich 🙇
The code changes LGMT and I didn't notice any side effects on my tests on Android or iOS 🚀

@github-actions

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1227.72 ms1240.63 ms12.92 ms
Size3.19 MiB4.32 MiB1.14 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1210.17 ms1216.37 ms6.20 ms
e42816c+dirty1220.08 ms1222.46 ms2.38 ms
8cb898b+dirty1209.39 ms1207.57 ms-1.82 ms
6b1624f+dirty1224.12 ms1220.73 ms-3.39 ms
0459aee+dirty1233.67 ms1239.80 ms6.12 ms
2646c98+dirty1239.94 ms1246.90 ms6.96 ms
e5d5735+dirty1217.78 ms1221.80 ms4.02 ms
df05370+dirty1221.14 ms1216.60 ms-4.55 ms
269c976+dirty1223.29 ms1222.90 ms-0.39 ms
3e4cdf5+dirty1213.36 ms1221.31 ms7.95 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty3.19 MiB4.26 MiB1.07 MiB
e42816c+dirty3.19 MiB4.32 MiB1.13 MiB
8cb898b+dirty3.19 MiB4.28 MiB1.09 MiB
6b1624f+dirty3.19 MiB4.27 MiB1.09 MiB
0459aee+dirty3.19 MiB4.26 MiB1.07 MiB
2646c98+dirty3.19 MiB4.26 MiB1.07 MiB
e5d5735+dirty3.19 MiB4.26 MiB1.07 MiB
df05370+dirty3.19 MiB4.27 MiB1.09 MiB
269c976+dirty3.19 MiB4.26 MiB1.07 MiB
3e4cdf5+dirty3.19 MiB4.26 MiB1.07 MiB

@antonis
antonis merged commit 2135c96 into feedback-uiFeb 17, 2025
@antonis
antonis deleted the kw/impove-slide-animation branch February 17, 2025 15:17
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.

2 participants

@krystofwoldrich@antonis
, '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

chore(feedback): Improve widget animations - #4555

Merged
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation
Feb 17, 2025
Merged

chore(feedback): Improve widget animations#4555
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation

Conversation

@krystofwoldrich

Copy link
Copy Markdown
Contributor

This PR removes duplicate animations of the feedback widget.

Because modal slide and animated slide, the modal would flash in an upper position when sliding out, see the video below.

before.mov

After the changes, the widget plays only one slide animation and slides once. Als,o the background opacity, animates now on close. Before was canceled by unmounting the widget.

Behaviour change

if onClose or onSucess callbacks are supplied the widget doesn't unmount users get to decide what to do with the widget. This allows us in case of the auto-injection keep the form on the modal which is sliding out instead of sliding out a blank modal.

after.mov

@github-actions

Copy link
Copy Markdown
Contributor
Fails
🚫Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased- Improve widget animations ([#4555](https://github.com/getsentry/sentry-react-native/pull/4555))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 20d0659

@github-actions

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time370.74 ms403.21 ms32.47 ms
Size17.75 MiB20.12 MiB2.38 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
8cb898b438.83 ms420.58 ms-18.25 ms
e5d5735452.70 ms453.04 ms0.34 ms
2646c98429.98 ms421.63 ms-8.35 ms
894ebb0497.45 ms545.04 ms47.60 ms
0459aee491.48 ms486.13 ms-5.35 ms
3e4cdf5462.35 ms474.96 ms12.61 ms
0325426477.32 ms457.43 ms-19.89 ms
269c976448.08 ms428.86 ms-19.22 ms
77e88fc478.48 ms487.21 ms8.73 ms
df05370477.62 ms491.63 ms14.00 ms

App size

RevisionPlainWith SentryDiff
8cb898b17.75 MiB20.12 MiB2.37 MiB
e5d573517.75 MiB20.12 MiB2.37 MiB
2646c9817.75 MiB20.12 MiB2.37 MiB
894ebb017.75 MiB20.12 MiB2.37 MiB
0459aee17.75 MiB20.12 MiB2.37 MiB
3e4cdf517.75 MiB20.12 MiB2.37 MiB
032542617.75 MiB20.12 MiB2.37 MiB
269c97617.75 MiB20.12 MiB2.37 MiB
77e88fc17.75 MiB20.12 MiB2.37 MiB
df0537017.75 MiB20.12 MiB2.37 MiB

@github-actions

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time344.92 ms342.26 ms-2.66 ms
Size7.15 MiB8.39 MiB1.24 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
3e4cdf5+dirty642.13 ms702.23 ms60.10 ms
e42816c+dirty347.06 ms348.18 ms1.12 ms
e5d5735+dirty377.37 ms430.04 ms52.67 ms
77e88fc+dirty358.67 ms346.20 ms-12.47 ms
6b1624f+dirty382.17 ms441.00 ms58.83 ms
df05370+dirty395.08 ms430.38 ms35.30 ms
269c976+dirty395.13 ms438.37 ms43.24 ms
8cb898b+dirty393.33 ms416.20 ms22.87 ms
9402883+dirty436.49 ms518.94 ms82.45 ms
0459aee+dirty424.10 ms466.63 ms42.53 ms

App size

RevisionPlainWith SentryDiff
3e4cdf5+dirty7.15 MiB8.39 MiB1.23 MiB
e42816c+dirty7.15 MiB8.39 MiB1.24 MiB
e5d5735+dirty7.15 MiB8.39 MiB1.23 MiB
77e88fc+dirty7.15 MiB8.39 MiB1.24 MiB
6b1624f+dirty7.15 MiB8.39 MiB1.23 MiB
df05370+dirty7.15 MiB8.39 MiB1.23 MiB
269c976+dirty7.15 MiB8.39 MiB1.23 MiB
8cb898b+dirty7.15 MiB8.39 MiB1.24 MiB
9402883+dirty7.15 MiB8.39 MiB1.23 MiB
0459aee+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1205.09 ms1212.96 ms7.87 ms
Size2.63 MiB3.75 MiB1.12 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1228.88 ms1229.92 ms1.04 ms
e42816c+dirty1211.29 ms1219.65 ms8.37 ms
8cb898b+dirty1221.40 ms1231.78 ms10.37 ms
6b1624f+dirty1224.65 ms1225.65 ms1.00 ms
0459aee+dirty1232.82 ms1231.19 ms-1.63 ms
2646c98+dirty1218.51 ms1218.92 ms0.41 ms
e5d5735+dirty1222.02 ms1222.22 ms0.20 ms
df05370+dirty1209.92 ms1216.55 ms6.63 ms
269c976+dirty1210.02 ms1204.46 ms-5.56 ms
3e4cdf5+dirty1222.53 ms1224.42 ms1.89 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty2.63 MiB3.69 MiB1.06 MiB
e42816c+dirty2.63 MiB3.75 MiB1.12 MiB
8cb898b+dirty2.63 MiB3.71 MiB1.08 MiB
6b1624f+dirty2.63 MiB3.71 MiB1.07 MiB
0459aee+dirty2.63 MiB3.69 MiB1.06 MiB
2646c98+dirty2.63 MiB3.69 MiB1.06 MiB
e5d5735+dirty2.63 MiB3.69 MiB1.06 MiB
df05370+dirty2.63 MiB3.71 MiB1.07 MiB
269c976+dirty2.63 MiB3.69 MiB1.06 MiB
3e4cdf5+dirty2.63 MiB3.69 MiB1.06 MiB

@antonisantonis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for fixing this @krystofwoldrich 🙇
The code changes LGMT and I didn't notice any side effects on my tests on Android or iOS 🚀

@github-actions

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1227.72 ms1240.63 ms12.92 ms
Size3.19 MiB4.32 MiB1.14 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1210.17 ms1216.37 ms6.20 ms
e42816c+dirty1220.08 ms1222.46 ms2.38 ms
8cb898b+dirty1209.39 ms1207.57 ms-1.82 ms
6b1624f+dirty1224.12 ms1220.73 ms-3.39 ms
0459aee+dirty1233.67 ms1239.80 ms6.12 ms
2646c98+dirty1239.94 ms1246.90 ms6.96 ms
e5d5735+dirty1217.78 ms1221.80 ms4.02 ms
df05370+dirty1221.14 ms1216.60 ms-4.55 ms
269c976+dirty1223.29 ms1222.90 ms-0.39 ms
3e4cdf5+dirty1213.36 ms1221.31 ms7.95 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty3.19 MiB4.26 MiB1.07 MiB
e42816c+dirty3.19 MiB4.32 MiB1.13 MiB
8cb898b+dirty3.19 MiB4.28 MiB1.09 MiB
6b1624f+dirty3.19 MiB4.27 MiB1.09 MiB
0459aee+dirty3.19 MiB4.26 MiB1.07 MiB
2646c98+dirty3.19 MiB4.26 MiB1.07 MiB
e5d5735+dirty3.19 MiB4.26 MiB1.07 MiB
df05370+dirty3.19 MiB4.27 MiB1.09 MiB
269c976+dirty3.19 MiB4.26 MiB1.07 MiB
3e4cdf5+dirty3.19 MiB4.26 MiB1.07 MiB

@antonis
antonis merged commit 2135c96 into feedback-uiFeb 17, 2025
@antonis
antonis deleted the kw/impove-slide-animation branch February 17, 2025 15:17
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.

2 participants

@krystofwoldrich@antonis
, '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

chore(feedback): Improve widget animations - #4555

Merged
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation
Feb 17, 2025
Merged

chore(feedback): Improve widget animations#4555
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation

Conversation

@krystofwoldrich

Copy link
Copy Markdown
Contributor

This PR removes duplicate animations of the feedback widget.

Because modal slide and animated slide, the modal would flash in an upper position when sliding out, see the video below.

before.mov

After the changes, the widget plays only one slide animation and slides once. Als,o the background opacity, animates now on close. Before was canceled by unmounting the widget.

Behaviour change

if onClose or onSucess callbacks are supplied the widget doesn't unmount users get to decide what to do with the widget. This allows us in case of the auto-injection keep the form on the modal which is sliding out instead of sliding out a blank modal.

after.mov

@github-actions

Copy link
Copy Markdown
Contributor
Fails
🚫Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased- Improve widget animations ([#4555](https://github.com/getsentry/sentry-react-native/pull/4555))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 20d0659

@github-actions

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time370.74 ms403.21 ms32.47 ms
Size17.75 MiB20.12 MiB2.38 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
8cb898b438.83 ms420.58 ms-18.25 ms
e5d5735452.70 ms453.04 ms0.34 ms
2646c98429.98 ms421.63 ms-8.35 ms
894ebb0497.45 ms545.04 ms47.60 ms
0459aee491.48 ms486.13 ms-5.35 ms
3e4cdf5462.35 ms474.96 ms12.61 ms
0325426477.32 ms457.43 ms-19.89 ms
269c976448.08 ms428.86 ms-19.22 ms
77e88fc478.48 ms487.21 ms8.73 ms
df05370477.62 ms491.63 ms14.00 ms

App size

RevisionPlainWith SentryDiff
8cb898b17.75 MiB20.12 MiB2.37 MiB
e5d573517.75 MiB20.12 MiB2.37 MiB
2646c9817.75 MiB20.12 MiB2.37 MiB
894ebb017.75 MiB20.12 MiB2.37 MiB
0459aee17.75 MiB20.12 MiB2.37 MiB
3e4cdf517.75 MiB20.12 MiB2.37 MiB
032542617.75 MiB20.12 MiB2.37 MiB
269c97617.75 MiB20.12 MiB2.37 MiB
77e88fc17.75 MiB20.12 MiB2.37 MiB
df0537017.75 MiB20.12 MiB2.37 MiB

@github-actions

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time344.92 ms342.26 ms-2.66 ms
Size7.15 MiB8.39 MiB1.24 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
3e4cdf5+dirty642.13 ms702.23 ms60.10 ms
e42816c+dirty347.06 ms348.18 ms1.12 ms
e5d5735+dirty377.37 ms430.04 ms52.67 ms
77e88fc+dirty358.67 ms346.20 ms-12.47 ms
6b1624f+dirty382.17 ms441.00 ms58.83 ms
df05370+dirty395.08 ms430.38 ms35.30 ms
269c976+dirty395.13 ms438.37 ms43.24 ms
8cb898b+dirty393.33 ms416.20 ms22.87 ms
9402883+dirty436.49 ms518.94 ms82.45 ms
0459aee+dirty424.10 ms466.63 ms42.53 ms

App size

RevisionPlainWith SentryDiff
3e4cdf5+dirty7.15 MiB8.39 MiB1.23 MiB
e42816c+dirty7.15 MiB8.39 MiB1.24 MiB
e5d5735+dirty7.15 MiB8.39 MiB1.23 MiB
77e88fc+dirty7.15 MiB8.39 MiB1.24 MiB
6b1624f+dirty7.15 MiB8.39 MiB1.23 MiB
df05370+dirty7.15 MiB8.39 MiB1.23 MiB
269c976+dirty7.15 MiB8.39 MiB1.23 MiB
8cb898b+dirty7.15 MiB8.39 MiB1.24 MiB
9402883+dirty7.15 MiB8.39 MiB1.23 MiB
0459aee+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1205.09 ms1212.96 ms7.87 ms
Size2.63 MiB3.75 MiB1.12 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1228.88 ms1229.92 ms1.04 ms
e42816c+dirty1211.29 ms1219.65 ms8.37 ms
8cb898b+dirty1221.40 ms1231.78 ms10.37 ms
6b1624f+dirty1224.65 ms1225.65 ms1.00 ms
0459aee+dirty1232.82 ms1231.19 ms-1.63 ms
2646c98+dirty1218.51 ms1218.92 ms0.41 ms
e5d5735+dirty1222.02 ms1222.22 ms0.20 ms
df05370+dirty1209.92 ms1216.55 ms6.63 ms
269c976+dirty1210.02 ms1204.46 ms-5.56 ms
3e4cdf5+dirty1222.53 ms1224.42 ms1.89 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty2.63 MiB3.69 MiB1.06 MiB
e42816c+dirty2.63 MiB3.75 MiB1.12 MiB
8cb898b+dirty2.63 MiB3.71 MiB1.08 MiB
6b1624f+dirty2.63 MiB3.71 MiB1.07 MiB
0459aee+dirty2.63 MiB3.69 MiB1.06 MiB
2646c98+dirty2.63 MiB3.69 MiB1.06 MiB
e5d5735+dirty2.63 MiB3.69 MiB1.06 MiB
df05370+dirty2.63 MiB3.71 MiB1.07 MiB
269c976+dirty2.63 MiB3.69 MiB1.06 MiB
3e4cdf5+dirty2.63 MiB3.69 MiB1.06 MiB

@antonisantonis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for fixing this @krystofwoldrich 🙇
The code changes LGMT and I didn't notice any side effects on my tests on Android or iOS 🚀

@github-actions

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1227.72 ms1240.63 ms12.92 ms
Size3.19 MiB4.32 MiB1.14 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1210.17 ms1216.37 ms6.20 ms
e42816c+dirty1220.08 ms1222.46 ms2.38 ms
8cb898b+dirty1209.39 ms1207.57 ms-1.82 ms
6b1624f+dirty1224.12 ms1220.73 ms-3.39 ms
0459aee+dirty1233.67 ms1239.80 ms6.12 ms
2646c98+dirty1239.94 ms1246.90 ms6.96 ms
e5d5735+dirty1217.78 ms1221.80 ms4.02 ms
df05370+dirty1221.14 ms1216.60 ms-4.55 ms
269c976+dirty1223.29 ms1222.90 ms-0.39 ms
3e4cdf5+dirty1213.36 ms1221.31 ms7.95 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty3.19 MiB4.26 MiB1.07 MiB
e42816c+dirty3.19 MiB4.32 MiB1.13 MiB
8cb898b+dirty3.19 MiB4.28 MiB1.09 MiB
6b1624f+dirty3.19 MiB4.27 MiB1.09 MiB
0459aee+dirty3.19 MiB4.26 MiB1.07 MiB
2646c98+dirty3.19 MiB4.26 MiB1.07 MiB
e5d5735+dirty3.19 MiB4.26 MiB1.07 MiB
df05370+dirty3.19 MiB4.27 MiB1.09 MiB
269c976+dirty3.19 MiB4.26 MiB1.07 MiB
3e4cdf5+dirty3.19 MiB4.26 MiB1.07 MiB

@antonis
antonis merged commit 2135c96 into feedback-uiFeb 17, 2025
@antonis
antonis deleted the kw/impove-slide-animation branch February 17, 2025 15:17
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.

2 participants

@krystofwoldrich@antonis
, '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

chore(feedback): Improve widget animations - #4555

Merged
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation
Feb 17, 2025
Merged

chore(feedback): Improve widget animations#4555
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation

Conversation

@krystofwoldrich

Copy link
Copy Markdown
Contributor

This PR removes duplicate animations of the feedback widget.

Because modal slide and animated slide, the modal would flash in an upper position when sliding out, see the video below.

before.mov

After the changes, the widget plays only one slide animation and slides once. Als,o the background opacity, animates now on close. Before was canceled by unmounting the widget.

Behaviour change

if onClose or onSucess callbacks are supplied the widget doesn't unmount users get to decide what to do with the widget. This allows us in case of the auto-injection keep the form on the modal which is sliding out instead of sliding out a blank modal.

after.mov

@github-actions

Copy link
Copy Markdown
Contributor
Fails
🚫Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased- Improve widget animations ([#4555](https://github.com/getsentry/sentry-react-native/pull/4555))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 20d0659

@github-actions

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time370.74 ms403.21 ms32.47 ms
Size17.75 MiB20.12 MiB2.38 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
8cb898b438.83 ms420.58 ms-18.25 ms
e5d5735452.70 ms453.04 ms0.34 ms
2646c98429.98 ms421.63 ms-8.35 ms
894ebb0497.45 ms545.04 ms47.60 ms
0459aee491.48 ms486.13 ms-5.35 ms
3e4cdf5462.35 ms474.96 ms12.61 ms
0325426477.32 ms457.43 ms-19.89 ms
269c976448.08 ms428.86 ms-19.22 ms
77e88fc478.48 ms487.21 ms8.73 ms
df05370477.62 ms491.63 ms14.00 ms

App size

RevisionPlainWith SentryDiff
8cb898b17.75 MiB20.12 MiB2.37 MiB
e5d573517.75 MiB20.12 MiB2.37 MiB
2646c9817.75 MiB20.12 MiB2.37 MiB
894ebb017.75 MiB20.12 MiB2.37 MiB
0459aee17.75 MiB20.12 MiB2.37 MiB
3e4cdf517.75 MiB20.12 MiB2.37 MiB
032542617.75 MiB20.12 MiB2.37 MiB
269c97617.75 MiB20.12 MiB2.37 MiB
77e88fc17.75 MiB20.12 MiB2.37 MiB
df0537017.75 MiB20.12 MiB2.37 MiB

@github-actions

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time344.92 ms342.26 ms-2.66 ms
Size7.15 MiB8.39 MiB1.24 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
3e4cdf5+dirty642.13 ms702.23 ms60.10 ms
e42816c+dirty347.06 ms348.18 ms1.12 ms
e5d5735+dirty377.37 ms430.04 ms52.67 ms
77e88fc+dirty358.67 ms346.20 ms-12.47 ms
6b1624f+dirty382.17 ms441.00 ms58.83 ms
df05370+dirty395.08 ms430.38 ms35.30 ms
269c976+dirty395.13 ms438.37 ms43.24 ms
8cb898b+dirty393.33 ms416.20 ms22.87 ms
9402883+dirty436.49 ms518.94 ms82.45 ms
0459aee+dirty424.10 ms466.63 ms42.53 ms

App size

RevisionPlainWith SentryDiff
3e4cdf5+dirty7.15 MiB8.39 MiB1.23 MiB
e42816c+dirty7.15 MiB8.39 MiB1.24 MiB
e5d5735+dirty7.15 MiB8.39 MiB1.23 MiB
77e88fc+dirty7.15 MiB8.39 MiB1.24 MiB
6b1624f+dirty7.15 MiB8.39 MiB1.23 MiB
df05370+dirty7.15 MiB8.39 MiB1.23 MiB
269c976+dirty7.15 MiB8.39 MiB1.23 MiB
8cb898b+dirty7.15 MiB8.39 MiB1.24 MiB
9402883+dirty7.15 MiB8.39 MiB1.23 MiB
0459aee+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1205.09 ms1212.96 ms7.87 ms
Size2.63 MiB3.75 MiB1.12 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1228.88 ms1229.92 ms1.04 ms
e42816c+dirty1211.29 ms1219.65 ms8.37 ms
8cb898b+dirty1221.40 ms1231.78 ms10.37 ms
6b1624f+dirty1224.65 ms1225.65 ms1.00 ms
0459aee+dirty1232.82 ms1231.19 ms-1.63 ms
2646c98+dirty1218.51 ms1218.92 ms0.41 ms
e5d5735+dirty1222.02 ms1222.22 ms0.20 ms
df05370+dirty1209.92 ms1216.55 ms6.63 ms
269c976+dirty1210.02 ms1204.46 ms-5.56 ms
3e4cdf5+dirty1222.53 ms1224.42 ms1.89 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty2.63 MiB3.69 MiB1.06 MiB
e42816c+dirty2.63 MiB3.75 MiB1.12 MiB
8cb898b+dirty2.63 MiB3.71 MiB1.08 MiB
6b1624f+dirty2.63 MiB3.71 MiB1.07 MiB
0459aee+dirty2.63 MiB3.69 MiB1.06 MiB
2646c98+dirty2.63 MiB3.69 MiB1.06 MiB
e5d5735+dirty2.63 MiB3.69 MiB1.06 MiB
df05370+dirty2.63 MiB3.71 MiB1.07 MiB
269c976+dirty2.63 MiB3.69 MiB1.06 MiB
3e4cdf5+dirty2.63 MiB3.69 MiB1.06 MiB

@antonisantonis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for fixing this @krystofwoldrich 🙇
The code changes LGMT and I didn't notice any side effects on my tests on Android or iOS 🚀

@github-actions

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1227.72 ms1240.63 ms12.92 ms
Size3.19 MiB4.32 MiB1.14 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1210.17 ms1216.37 ms6.20 ms
e42816c+dirty1220.08 ms1222.46 ms2.38 ms
8cb898b+dirty1209.39 ms1207.57 ms-1.82 ms
6b1624f+dirty1224.12 ms1220.73 ms-3.39 ms
0459aee+dirty1233.67 ms1239.80 ms6.12 ms
2646c98+dirty1239.94 ms1246.90 ms6.96 ms
e5d5735+dirty1217.78 ms1221.80 ms4.02 ms
df05370+dirty1221.14 ms1216.60 ms-4.55 ms
269c976+dirty1223.29 ms1222.90 ms-0.39 ms
3e4cdf5+dirty1213.36 ms1221.31 ms7.95 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty3.19 MiB4.26 MiB1.07 MiB
e42816c+dirty3.19 MiB4.32 MiB1.13 MiB
8cb898b+dirty3.19 MiB4.28 MiB1.09 MiB
6b1624f+dirty3.19 MiB4.27 MiB1.09 MiB
0459aee+dirty3.19 MiB4.26 MiB1.07 MiB
2646c98+dirty3.19 MiB4.26 MiB1.07 MiB
e5d5735+dirty3.19 MiB4.26 MiB1.07 MiB
df05370+dirty3.19 MiB4.27 MiB1.09 MiB
269c976+dirty3.19 MiB4.26 MiB1.07 MiB
3e4cdf5+dirty3.19 MiB4.26 MiB1.07 MiB

@antonis
antonis merged commit 2135c96 into feedback-uiFeb 17, 2025
@antonis
antonis deleted the kw/impove-slide-animation branch February 17, 2025 15:17
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.

2 participants

@krystofwoldrich@antonis
, '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

chore(feedback): Improve widget animations - #4555

Merged
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation
Feb 17, 2025
Merged

chore(feedback): Improve widget animations#4555
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation

Conversation

@krystofwoldrich

Copy link
Copy Markdown
Contributor

This PR removes duplicate animations of the feedback widget.

Because modal slide and animated slide, the modal would flash in an upper position when sliding out, see the video below.

before.mov

After the changes, the widget plays only one slide animation and slides once. Als,o the background opacity, animates now on close. Before was canceled by unmounting the widget.

Behaviour change

if onClose or onSucess callbacks are supplied the widget doesn't unmount users get to decide what to do with the widget. This allows us in case of the auto-injection keep the form on the modal which is sliding out instead of sliding out a blank modal.

after.mov

@github-actions

Copy link
Copy Markdown
Contributor
Fails
🚫Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased- Improve widget animations ([#4555](https://github.com/getsentry/sentry-react-native/pull/4555))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 20d0659

@github-actions

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time370.74 ms403.21 ms32.47 ms
Size17.75 MiB20.12 MiB2.38 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
8cb898b438.83 ms420.58 ms-18.25 ms
e5d5735452.70 ms453.04 ms0.34 ms
2646c98429.98 ms421.63 ms-8.35 ms
894ebb0497.45 ms545.04 ms47.60 ms
0459aee491.48 ms486.13 ms-5.35 ms
3e4cdf5462.35 ms474.96 ms12.61 ms
0325426477.32 ms457.43 ms-19.89 ms
269c976448.08 ms428.86 ms-19.22 ms
77e88fc478.48 ms487.21 ms8.73 ms
df05370477.62 ms491.63 ms14.00 ms

App size

RevisionPlainWith SentryDiff
8cb898b17.75 MiB20.12 MiB2.37 MiB
e5d573517.75 MiB20.12 MiB2.37 MiB
2646c9817.75 MiB20.12 MiB2.37 MiB
894ebb017.75 MiB20.12 MiB2.37 MiB
0459aee17.75 MiB20.12 MiB2.37 MiB
3e4cdf517.75 MiB20.12 MiB2.37 MiB
032542617.75 MiB20.12 MiB2.37 MiB
269c97617.75 MiB20.12 MiB2.37 MiB
77e88fc17.75 MiB20.12 MiB2.37 MiB
df0537017.75 MiB20.12 MiB2.37 MiB

@github-actions

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time344.92 ms342.26 ms-2.66 ms
Size7.15 MiB8.39 MiB1.24 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
3e4cdf5+dirty642.13 ms702.23 ms60.10 ms
e42816c+dirty347.06 ms348.18 ms1.12 ms
e5d5735+dirty377.37 ms430.04 ms52.67 ms
77e88fc+dirty358.67 ms346.20 ms-12.47 ms
6b1624f+dirty382.17 ms441.00 ms58.83 ms
df05370+dirty395.08 ms430.38 ms35.30 ms
269c976+dirty395.13 ms438.37 ms43.24 ms
8cb898b+dirty393.33 ms416.20 ms22.87 ms
9402883+dirty436.49 ms518.94 ms82.45 ms
0459aee+dirty424.10 ms466.63 ms42.53 ms

App size

RevisionPlainWith SentryDiff
3e4cdf5+dirty7.15 MiB8.39 MiB1.23 MiB
e42816c+dirty7.15 MiB8.39 MiB1.24 MiB
e5d5735+dirty7.15 MiB8.39 MiB1.23 MiB
77e88fc+dirty7.15 MiB8.39 MiB1.24 MiB
6b1624f+dirty7.15 MiB8.39 MiB1.23 MiB
df05370+dirty7.15 MiB8.39 MiB1.23 MiB
269c976+dirty7.15 MiB8.39 MiB1.23 MiB
8cb898b+dirty7.15 MiB8.39 MiB1.24 MiB
9402883+dirty7.15 MiB8.39 MiB1.23 MiB
0459aee+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1205.09 ms1212.96 ms7.87 ms
Size2.63 MiB3.75 MiB1.12 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1228.88 ms1229.92 ms1.04 ms
e42816c+dirty1211.29 ms1219.65 ms8.37 ms
8cb898b+dirty1221.40 ms1231.78 ms10.37 ms
6b1624f+dirty1224.65 ms1225.65 ms1.00 ms
0459aee+dirty1232.82 ms1231.19 ms-1.63 ms
2646c98+dirty1218.51 ms1218.92 ms0.41 ms
e5d5735+dirty1222.02 ms1222.22 ms0.20 ms
df05370+dirty1209.92 ms1216.55 ms6.63 ms
269c976+dirty1210.02 ms1204.46 ms-5.56 ms
3e4cdf5+dirty1222.53 ms1224.42 ms1.89 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty2.63 MiB3.69 MiB1.06 MiB
e42816c+dirty2.63 MiB3.75 MiB1.12 MiB
8cb898b+dirty2.63 MiB3.71 MiB1.08 MiB
6b1624f+dirty2.63 MiB3.71 MiB1.07 MiB
0459aee+dirty2.63 MiB3.69 MiB1.06 MiB
2646c98+dirty2.63 MiB3.69 MiB1.06 MiB
e5d5735+dirty2.63 MiB3.69 MiB1.06 MiB
df05370+dirty2.63 MiB3.71 MiB1.07 MiB
269c976+dirty2.63 MiB3.69 MiB1.06 MiB
3e4cdf5+dirty2.63 MiB3.69 MiB1.06 MiB

@antonisantonis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for fixing this @krystofwoldrich 🙇
The code changes LGMT and I didn't notice any side effects on my tests on Android or iOS 🚀

@github-actions

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1227.72 ms1240.63 ms12.92 ms
Size3.19 MiB4.32 MiB1.14 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1210.17 ms1216.37 ms6.20 ms
e42816c+dirty1220.08 ms1222.46 ms2.38 ms
8cb898b+dirty1209.39 ms1207.57 ms-1.82 ms
6b1624f+dirty1224.12 ms1220.73 ms-3.39 ms
0459aee+dirty1233.67 ms1239.80 ms6.12 ms
2646c98+dirty1239.94 ms1246.90 ms6.96 ms
e5d5735+dirty1217.78 ms1221.80 ms4.02 ms
df05370+dirty1221.14 ms1216.60 ms-4.55 ms
269c976+dirty1223.29 ms1222.90 ms-0.39 ms
3e4cdf5+dirty1213.36 ms1221.31 ms7.95 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty3.19 MiB4.26 MiB1.07 MiB
e42816c+dirty3.19 MiB4.32 MiB1.13 MiB
8cb898b+dirty3.19 MiB4.28 MiB1.09 MiB
6b1624f+dirty3.19 MiB4.27 MiB1.09 MiB
0459aee+dirty3.19 MiB4.26 MiB1.07 MiB
2646c98+dirty3.19 MiB4.26 MiB1.07 MiB
e5d5735+dirty3.19 MiB4.26 MiB1.07 MiB
df05370+dirty3.19 MiB4.27 MiB1.09 MiB
269c976+dirty3.19 MiB4.26 MiB1.07 MiB
3e4cdf5+dirty3.19 MiB4.26 MiB1.07 MiB

@antonis
antonis merged commit 2135c96 into feedback-uiFeb 17, 2025
@antonis
antonis deleted the kw/impove-slide-animation branch February 17, 2025 15:17
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.

2 participants

@krystofwoldrich@antonis
, '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

chore(feedback): Improve widget animations - #4555

Merged
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation
Feb 17, 2025
Merged

chore(feedback): Improve widget animations#4555
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation

Conversation

@krystofwoldrich

Copy link
Copy Markdown
Contributor

This PR removes duplicate animations of the feedback widget.

Because modal slide and animated slide, the modal would flash in an upper position when sliding out, see the video below.

before.mov

After the changes, the widget plays only one slide animation and slides once. Als,o the background opacity, animates now on close. Before was canceled by unmounting the widget.

Behaviour change

if onClose or onSucess callbacks are supplied the widget doesn't unmount users get to decide what to do with the widget. This allows us in case of the auto-injection keep the form on the modal which is sliding out instead of sliding out a blank modal.

after.mov

@github-actions

Copy link
Copy Markdown
Contributor
Fails
🚫Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased- Improve widget animations ([#4555](https://github.com/getsentry/sentry-react-native/pull/4555))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 20d0659

@github-actions

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time370.74 ms403.21 ms32.47 ms
Size17.75 MiB20.12 MiB2.38 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
8cb898b438.83 ms420.58 ms-18.25 ms
e5d5735452.70 ms453.04 ms0.34 ms
2646c98429.98 ms421.63 ms-8.35 ms
894ebb0497.45 ms545.04 ms47.60 ms
0459aee491.48 ms486.13 ms-5.35 ms
3e4cdf5462.35 ms474.96 ms12.61 ms
0325426477.32 ms457.43 ms-19.89 ms
269c976448.08 ms428.86 ms-19.22 ms
77e88fc478.48 ms487.21 ms8.73 ms
df05370477.62 ms491.63 ms14.00 ms

App size

RevisionPlainWith SentryDiff
8cb898b17.75 MiB20.12 MiB2.37 MiB
e5d573517.75 MiB20.12 MiB2.37 MiB
2646c9817.75 MiB20.12 MiB2.37 MiB
894ebb017.75 MiB20.12 MiB2.37 MiB
0459aee17.75 MiB20.12 MiB2.37 MiB
3e4cdf517.75 MiB20.12 MiB2.37 MiB
032542617.75 MiB20.12 MiB2.37 MiB
269c97617.75 MiB20.12 MiB2.37 MiB
77e88fc17.75 MiB20.12 MiB2.37 MiB
df0537017.75 MiB20.12 MiB2.37 MiB

@github-actions

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time344.92 ms342.26 ms-2.66 ms
Size7.15 MiB8.39 MiB1.24 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
3e4cdf5+dirty642.13 ms702.23 ms60.10 ms
e42816c+dirty347.06 ms348.18 ms1.12 ms
e5d5735+dirty377.37 ms430.04 ms52.67 ms
77e88fc+dirty358.67 ms346.20 ms-12.47 ms
6b1624f+dirty382.17 ms441.00 ms58.83 ms
df05370+dirty395.08 ms430.38 ms35.30 ms
269c976+dirty395.13 ms438.37 ms43.24 ms
8cb898b+dirty393.33 ms416.20 ms22.87 ms
9402883+dirty436.49 ms518.94 ms82.45 ms
0459aee+dirty424.10 ms466.63 ms42.53 ms

App size

RevisionPlainWith SentryDiff
3e4cdf5+dirty7.15 MiB8.39 MiB1.23 MiB
e42816c+dirty7.15 MiB8.39 MiB1.24 MiB
e5d5735+dirty7.15 MiB8.39 MiB1.23 MiB
77e88fc+dirty7.15 MiB8.39 MiB1.24 MiB
6b1624f+dirty7.15 MiB8.39 MiB1.23 MiB
df05370+dirty7.15 MiB8.39 MiB1.23 MiB
269c976+dirty7.15 MiB8.39 MiB1.23 MiB
8cb898b+dirty7.15 MiB8.39 MiB1.24 MiB
9402883+dirty7.15 MiB8.39 MiB1.23 MiB
0459aee+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1205.09 ms1212.96 ms7.87 ms
Size2.63 MiB3.75 MiB1.12 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1228.88 ms1229.92 ms1.04 ms
e42816c+dirty1211.29 ms1219.65 ms8.37 ms
8cb898b+dirty1221.40 ms1231.78 ms10.37 ms
6b1624f+dirty1224.65 ms1225.65 ms1.00 ms
0459aee+dirty1232.82 ms1231.19 ms-1.63 ms
2646c98+dirty1218.51 ms1218.92 ms0.41 ms
e5d5735+dirty1222.02 ms1222.22 ms0.20 ms
df05370+dirty1209.92 ms1216.55 ms6.63 ms
269c976+dirty1210.02 ms1204.46 ms-5.56 ms
3e4cdf5+dirty1222.53 ms1224.42 ms1.89 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty2.63 MiB3.69 MiB1.06 MiB
e42816c+dirty2.63 MiB3.75 MiB1.12 MiB
8cb898b+dirty2.63 MiB3.71 MiB1.08 MiB
6b1624f+dirty2.63 MiB3.71 MiB1.07 MiB
0459aee+dirty2.63 MiB3.69 MiB1.06 MiB
2646c98+dirty2.63 MiB3.69 MiB1.06 MiB
e5d5735+dirty2.63 MiB3.69 MiB1.06 MiB
df05370+dirty2.63 MiB3.71 MiB1.07 MiB
269c976+dirty2.63 MiB3.69 MiB1.06 MiB
3e4cdf5+dirty2.63 MiB3.69 MiB1.06 MiB

@antonisantonis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for fixing this @krystofwoldrich 🙇
The code changes LGMT and I didn't notice any side effects on my tests on Android or iOS 🚀

@github-actions

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1227.72 ms1240.63 ms12.92 ms
Size3.19 MiB4.32 MiB1.14 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1210.17 ms1216.37 ms6.20 ms
e42816c+dirty1220.08 ms1222.46 ms2.38 ms
8cb898b+dirty1209.39 ms1207.57 ms-1.82 ms
6b1624f+dirty1224.12 ms1220.73 ms-3.39 ms
0459aee+dirty1233.67 ms1239.80 ms6.12 ms
2646c98+dirty1239.94 ms1246.90 ms6.96 ms
e5d5735+dirty1217.78 ms1221.80 ms4.02 ms
df05370+dirty1221.14 ms1216.60 ms-4.55 ms
269c976+dirty1223.29 ms1222.90 ms-0.39 ms
3e4cdf5+dirty1213.36 ms1221.31 ms7.95 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty3.19 MiB4.26 MiB1.07 MiB
e42816c+dirty3.19 MiB4.32 MiB1.13 MiB
8cb898b+dirty3.19 MiB4.28 MiB1.09 MiB
6b1624f+dirty3.19 MiB4.27 MiB1.09 MiB
0459aee+dirty3.19 MiB4.26 MiB1.07 MiB
2646c98+dirty3.19 MiB4.26 MiB1.07 MiB
e5d5735+dirty3.19 MiB4.26 MiB1.07 MiB
df05370+dirty3.19 MiB4.27 MiB1.09 MiB
269c976+dirty3.19 MiB4.26 MiB1.07 MiB
3e4cdf5+dirty3.19 MiB4.26 MiB1.07 MiB

@antonis
antonis merged commit 2135c96 into feedback-uiFeb 17, 2025
@antonis
antonis deleted the kw/impove-slide-animation branch February 17, 2025 15:17
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.

2 participants

@krystofwoldrich@antonis
, '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

chore(feedback): Improve widget animations - #4555

Merged
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation
Feb 17, 2025
Merged

chore(feedback): Improve widget animations#4555
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation

Conversation

@krystofwoldrich

Copy link
Copy Markdown
Contributor

This PR removes duplicate animations of the feedback widget.

Because modal slide and animated slide, the modal would flash in an upper position when sliding out, see the video below.

before.mov

After the changes, the widget plays only one slide animation and slides once. Als,o the background opacity, animates now on close. Before was canceled by unmounting the widget.

Behaviour change

if onClose or onSucess callbacks are supplied the widget doesn't unmount users get to decide what to do with the widget. This allows us in case of the auto-injection keep the form on the modal which is sliding out instead of sliding out a blank modal.

after.mov

@github-actions

Copy link
Copy Markdown
Contributor
Fails
🚫Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased- Improve widget animations ([#4555](https://github.com/getsentry/sentry-react-native/pull/4555))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 20d0659

@github-actions

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time370.74 ms403.21 ms32.47 ms
Size17.75 MiB20.12 MiB2.38 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
8cb898b438.83 ms420.58 ms-18.25 ms
e5d5735452.70 ms453.04 ms0.34 ms
2646c98429.98 ms421.63 ms-8.35 ms
894ebb0497.45 ms545.04 ms47.60 ms
0459aee491.48 ms486.13 ms-5.35 ms
3e4cdf5462.35 ms474.96 ms12.61 ms
0325426477.32 ms457.43 ms-19.89 ms
269c976448.08 ms428.86 ms-19.22 ms
77e88fc478.48 ms487.21 ms8.73 ms
df05370477.62 ms491.63 ms14.00 ms

App size

RevisionPlainWith SentryDiff
8cb898b17.75 MiB20.12 MiB2.37 MiB
e5d573517.75 MiB20.12 MiB2.37 MiB
2646c9817.75 MiB20.12 MiB2.37 MiB
894ebb017.75 MiB20.12 MiB2.37 MiB
0459aee17.75 MiB20.12 MiB2.37 MiB
3e4cdf517.75 MiB20.12 MiB2.37 MiB
032542617.75 MiB20.12 MiB2.37 MiB
269c97617.75 MiB20.12 MiB2.37 MiB
77e88fc17.75 MiB20.12 MiB2.37 MiB
df0537017.75 MiB20.12 MiB2.37 MiB

@github-actions

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time344.92 ms342.26 ms-2.66 ms
Size7.15 MiB8.39 MiB1.24 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
3e4cdf5+dirty642.13 ms702.23 ms60.10 ms
e42816c+dirty347.06 ms348.18 ms1.12 ms
e5d5735+dirty377.37 ms430.04 ms52.67 ms
77e88fc+dirty358.67 ms346.20 ms-12.47 ms
6b1624f+dirty382.17 ms441.00 ms58.83 ms
df05370+dirty395.08 ms430.38 ms35.30 ms
269c976+dirty395.13 ms438.37 ms43.24 ms
8cb898b+dirty393.33 ms416.20 ms22.87 ms
9402883+dirty436.49 ms518.94 ms82.45 ms
0459aee+dirty424.10 ms466.63 ms42.53 ms

App size

RevisionPlainWith SentryDiff
3e4cdf5+dirty7.15 MiB8.39 MiB1.23 MiB
e42816c+dirty7.15 MiB8.39 MiB1.24 MiB
e5d5735+dirty7.15 MiB8.39 MiB1.23 MiB
77e88fc+dirty7.15 MiB8.39 MiB1.24 MiB
6b1624f+dirty7.15 MiB8.39 MiB1.23 MiB
df05370+dirty7.15 MiB8.39 MiB1.23 MiB
269c976+dirty7.15 MiB8.39 MiB1.23 MiB
8cb898b+dirty7.15 MiB8.39 MiB1.24 MiB
9402883+dirty7.15 MiB8.39 MiB1.23 MiB
0459aee+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1205.09 ms1212.96 ms7.87 ms
Size2.63 MiB3.75 MiB1.12 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1228.88 ms1229.92 ms1.04 ms
e42816c+dirty1211.29 ms1219.65 ms8.37 ms
8cb898b+dirty1221.40 ms1231.78 ms10.37 ms
6b1624f+dirty1224.65 ms1225.65 ms1.00 ms
0459aee+dirty1232.82 ms1231.19 ms-1.63 ms
2646c98+dirty1218.51 ms1218.92 ms0.41 ms
e5d5735+dirty1222.02 ms1222.22 ms0.20 ms
df05370+dirty1209.92 ms1216.55 ms6.63 ms
269c976+dirty1210.02 ms1204.46 ms-5.56 ms
3e4cdf5+dirty1222.53 ms1224.42 ms1.89 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty2.63 MiB3.69 MiB1.06 MiB
e42816c+dirty2.63 MiB3.75 MiB1.12 MiB
8cb898b+dirty2.63 MiB3.71 MiB1.08 MiB
6b1624f+dirty2.63 MiB3.71 MiB1.07 MiB
0459aee+dirty2.63 MiB3.69 MiB1.06 MiB
2646c98+dirty2.63 MiB3.69 MiB1.06 MiB
e5d5735+dirty2.63 MiB3.69 MiB1.06 MiB
df05370+dirty2.63 MiB3.71 MiB1.07 MiB
269c976+dirty2.63 MiB3.69 MiB1.06 MiB
3e4cdf5+dirty2.63 MiB3.69 MiB1.06 MiB

@antonisantonis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for fixing this @krystofwoldrich 🙇
The code changes LGMT and I didn't notice any side effects on my tests on Android or iOS 🚀

@github-actions

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1227.72 ms1240.63 ms12.92 ms
Size3.19 MiB4.32 MiB1.14 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1210.17 ms1216.37 ms6.20 ms
e42816c+dirty1220.08 ms1222.46 ms2.38 ms
8cb898b+dirty1209.39 ms1207.57 ms-1.82 ms
6b1624f+dirty1224.12 ms1220.73 ms-3.39 ms
0459aee+dirty1233.67 ms1239.80 ms6.12 ms
2646c98+dirty1239.94 ms1246.90 ms6.96 ms
e5d5735+dirty1217.78 ms1221.80 ms4.02 ms
df05370+dirty1221.14 ms1216.60 ms-4.55 ms
269c976+dirty1223.29 ms1222.90 ms-0.39 ms
3e4cdf5+dirty1213.36 ms1221.31 ms7.95 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty3.19 MiB4.26 MiB1.07 MiB
e42816c+dirty3.19 MiB4.32 MiB1.13 MiB
8cb898b+dirty3.19 MiB4.28 MiB1.09 MiB
6b1624f+dirty3.19 MiB4.27 MiB1.09 MiB
0459aee+dirty3.19 MiB4.26 MiB1.07 MiB
2646c98+dirty3.19 MiB4.26 MiB1.07 MiB
e5d5735+dirty3.19 MiB4.26 MiB1.07 MiB
df05370+dirty3.19 MiB4.27 MiB1.09 MiB
269c976+dirty3.19 MiB4.26 MiB1.07 MiB
3e4cdf5+dirty3.19 MiB4.26 MiB1.07 MiB

@antonis
antonis merged commit 2135c96 into feedback-uiFeb 17, 2025
@antonis
antonis deleted the kw/impove-slide-animation branch February 17, 2025 15:17
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.

2 participants

@krystofwoldrich@antonis
, '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

chore(feedback): Improve widget animations - #4555

Merged
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation
Feb 17, 2025
Merged

chore(feedback): Improve widget animations#4555
antonis merged 3 commits into
feedback-uifrom
kw/impove-slide-animation

Conversation

@krystofwoldrich

Copy link
Copy Markdown
Contributor

This PR removes duplicate animations of the feedback widget.

Because modal slide and animated slide, the modal would flash in an upper position when sliding out, see the video below.

before.mov

After the changes, the widget plays only one slide animation and slides once. Als,o the background opacity, animates now on close. Before was canceled by unmounting the widget.

Behaviour change

if onClose or onSucess callbacks are supplied the widget doesn't unmount users get to decide what to do with the widget. This allows us in case of the auto-injection keep the form on the modal which is sliding out instead of sliding out a blank modal.

after.mov

@github-actions

Copy link
Copy Markdown
Contributor
Fails
🚫Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased- Improve widget animations ([#4555](https://github.com/getsentry/sentry-react-native/pull/4555))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 20d0659

@github-actions

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time370.74 ms403.21 ms32.47 ms
Size17.75 MiB20.12 MiB2.38 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
8cb898b438.83 ms420.58 ms-18.25 ms
e5d5735452.70 ms453.04 ms0.34 ms
2646c98429.98 ms421.63 ms-8.35 ms
894ebb0497.45 ms545.04 ms47.60 ms
0459aee491.48 ms486.13 ms-5.35 ms
3e4cdf5462.35 ms474.96 ms12.61 ms
0325426477.32 ms457.43 ms-19.89 ms
269c976448.08 ms428.86 ms-19.22 ms
77e88fc478.48 ms487.21 ms8.73 ms
df05370477.62 ms491.63 ms14.00 ms

App size

RevisionPlainWith SentryDiff
8cb898b17.75 MiB20.12 MiB2.37 MiB
e5d573517.75 MiB20.12 MiB2.37 MiB
2646c9817.75 MiB20.12 MiB2.37 MiB
894ebb017.75 MiB20.12 MiB2.37 MiB
0459aee17.75 MiB20.12 MiB2.37 MiB
3e4cdf517.75 MiB20.12 MiB2.37 MiB
032542617.75 MiB20.12 MiB2.37 MiB
269c97617.75 MiB20.12 MiB2.37 MiB
77e88fc17.75 MiB20.12 MiB2.37 MiB
df0537017.75 MiB20.12 MiB2.37 MiB

@github-actions

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time344.92 ms342.26 ms-2.66 ms
Size7.15 MiB8.39 MiB1.24 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
3e4cdf5+dirty642.13 ms702.23 ms60.10 ms
e42816c+dirty347.06 ms348.18 ms1.12 ms
e5d5735+dirty377.37 ms430.04 ms52.67 ms
77e88fc+dirty358.67 ms346.20 ms-12.47 ms
6b1624f+dirty382.17 ms441.00 ms58.83 ms
df05370+dirty395.08 ms430.38 ms35.30 ms
269c976+dirty395.13 ms438.37 ms43.24 ms
8cb898b+dirty393.33 ms416.20 ms22.87 ms
9402883+dirty436.49 ms518.94 ms82.45 ms
0459aee+dirty424.10 ms466.63 ms42.53 ms

App size

RevisionPlainWith SentryDiff
3e4cdf5+dirty7.15 MiB8.39 MiB1.23 MiB
e42816c+dirty7.15 MiB8.39 MiB1.24 MiB
e5d5735+dirty7.15 MiB8.39 MiB1.23 MiB
77e88fc+dirty7.15 MiB8.39 MiB1.24 MiB
6b1624f+dirty7.15 MiB8.39 MiB1.23 MiB
df05370+dirty7.15 MiB8.39 MiB1.23 MiB
269c976+dirty7.15 MiB8.39 MiB1.23 MiB
8cb898b+dirty7.15 MiB8.39 MiB1.24 MiB
9402883+dirty7.15 MiB8.39 MiB1.23 MiB
0459aee+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1205.09 ms1212.96 ms7.87 ms
Size2.63 MiB3.75 MiB1.12 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1228.88 ms1229.92 ms1.04 ms
e42816c+dirty1211.29 ms1219.65 ms8.37 ms
8cb898b+dirty1221.40 ms1231.78 ms10.37 ms
6b1624f+dirty1224.65 ms1225.65 ms1.00 ms
0459aee+dirty1232.82 ms1231.19 ms-1.63 ms
2646c98+dirty1218.51 ms1218.92 ms0.41 ms
e5d5735+dirty1222.02 ms1222.22 ms0.20 ms
df05370+dirty1209.92 ms1216.55 ms6.63 ms
269c976+dirty1210.02 ms1204.46 ms-5.56 ms
3e4cdf5+dirty1222.53 ms1224.42 ms1.89 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty2.63 MiB3.69 MiB1.06 MiB
e42816c+dirty2.63 MiB3.75 MiB1.12 MiB
8cb898b+dirty2.63 MiB3.71 MiB1.08 MiB
6b1624f+dirty2.63 MiB3.71 MiB1.07 MiB
0459aee+dirty2.63 MiB3.69 MiB1.06 MiB
2646c98+dirty2.63 MiB3.69 MiB1.06 MiB
e5d5735+dirty2.63 MiB3.69 MiB1.06 MiB
df05370+dirty2.63 MiB3.71 MiB1.07 MiB
269c976+dirty2.63 MiB3.69 MiB1.06 MiB
3e4cdf5+dirty2.63 MiB3.69 MiB1.06 MiB

@antonisantonis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for fixing this @krystofwoldrich 🙇
The code changes LGMT and I didn't notice any side effects on my tests on Android or iOS 🚀

@github-actions

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1227.72 ms1240.63 ms12.92 ms
Size3.19 MiB4.32 MiB1.14 MiB

Baseline results on branch: feedback-ui

Startup times

RevisionPlainWith SentryDiff
0325426+dirty1210.17 ms1216.37 ms6.20 ms
e42816c+dirty1220.08 ms1222.46 ms2.38 ms
8cb898b+dirty1209.39 ms1207.57 ms-1.82 ms
6b1624f+dirty1224.12 ms1220.73 ms-3.39 ms
0459aee+dirty1233.67 ms1239.80 ms6.12 ms
2646c98+dirty1239.94 ms1246.90 ms6.96 ms
e5d5735+dirty1217.78 ms1221.80 ms4.02 ms
df05370+dirty1221.14 ms1216.60 ms-4.55 ms
269c976+dirty1223.29 ms1222.90 ms-0.39 ms
3e4cdf5+dirty1213.36 ms1221.31 ms7.95 ms

App size

RevisionPlainWith SentryDiff
0325426+dirty3.19 MiB4.26 MiB1.07 MiB
e42816c+dirty3.19 MiB4.32 MiB1.13 MiB
8cb898b+dirty3.19 MiB4.28 MiB1.09 MiB
6b1624f+dirty3.19 MiB4.27 MiB1.09 MiB
0459aee+dirty3.19 MiB4.26 MiB1.07 MiB
2646c98+dirty3.19 MiB4.26 MiB1.07 MiB
e5d5735+dirty3.19 MiB4.26 MiB1.07 MiB
df05370+dirty3.19 MiB4.27 MiB1.09 MiB
269c976+dirty3.19 MiB4.26 MiB1.07 MiB
3e4cdf5+dirty3.19 MiB4.26 MiB1.07 MiB

@antonis
antonis merged commit 2135c96 into feedback-uiFeb 17, 2025
@antonis
antonis deleted the kw/impove-slide-animation branch February 17, 2025 15:17
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.

2 participants

@krystofwoldrich@antonis