Skip to content

add: new default plugin that fixes ui lag by disabling animations for reduced motion instead of using near-zero durations#10

Merged
RoxyBoxxy merged 1 commit intoRoxyBoxxy:mainfrom
alphaa1111:add/default-lagfix-plugin
Mar 21, 2026
Merged

add: new default plugin that fixes ui lag by disabling animations for reduced motion instead of using near-zero durations#10
RoxyBoxxy merged 1 commit intoRoxyBoxxy:mainfrom
alphaa1111:add/default-lagfix-plugin

Conversation

@alphaa1111
Copy link
Copy Markdown
Contributor

fluxer's reduced motion css rule uses animation-duration: 0.01ms and transition-duration: 0.01ms on every element via the * selector, this doesn't actually skip animations... the browser still schedules the full transition lifecycle (fires transitionstart/transitionend events, triggers reflows and repaints) but tries to complete it in a timeframe shorter than a single frame and this causes noticeable lag when clicking around the app (switching channels, opening settings, etc...) because every interaction triggers hundreds of micro-transitions across the entire dom tree

the counterintuitive symptom is that turning animations on actually removes the lag, because it removes this universal override and lets each element use its own normal gpu-composited transitions

since their PRs are disabled for now, this adds a default betterfluxer plugin that injects a corrected css rule using animation: none !important and transition: none !important, which tells the browser to completely skip the animation/transition subsystem entirely and also extends the selector to cover ::before and ::after pseudo-elements which were previously unaffected

@RoxyBoxxy RoxyBoxxy self-assigned this Mar 21, 2026
@RoxyBoxxy RoxyBoxxy added the enhancement New feature or request label Mar 21, 2026
@RoxyBoxxy RoxyBoxxy merged commit 0f3bd05 into RoxyBoxxy:main Mar 21, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants