Skip to content

Remove smooth scrolling in profiles when "Interface Animations" setting is disabled#30034

Open
i-walk-away wants to merge 1 commit intotelegramdesktop:devfrom
i-walk-away:fix_smooth_scrolling
Open

Remove smooth scrolling in profiles when "Interface Animations" setting is disabled#30034
i-walk-away wants to merge 1 commit intotelegramdesktop:devfrom
i-walk-away:fix_smooth_scrolling

Conversation

@i-walk-away
Copy link
Copy Markdown

disabling "Interface Animations" option in battery settings does not disable the smooth scrolling in profiles. experimental option "Use legacy scroll processing in profiles" does not disable it either. smooth scrolling is not present in any other scrollable interface element except for just profiles, which makes it inconsistent across the application

Expected behavior

disabling "Interface animations" also should disable smooth scrolling in profiles

Factual behavior

smooth scrolling in profiles is unaffected by any setting

Implementation

disable smooth scrolling animation in profile pages when Interface Animations setting is turned off in battery saving settings. the fix checks anim::Disabled() before starting scroll animations in setupScrollHandling() and setupScrollHandlingWithFilter() methods

i have reviewed how the check for disabled Interface Animations is implemented in other parts of the source code to make sure that my changes are consistent with the already existing patterns, and it was, in fact, a simple "if else" check for anim::Disabled(), so i did just that

Disabling "Interface Animations" option in battery settings does not disable the smooth scrolling in profiles. Experimental option "Use legacy scroll processing in profiles" does not disable it either. Smooth scrolling is not present in any other scrollable interface element except for just profiles, which makes it inconsistent across the application.

## Expected behavior
Disabling "Interface animations" also should disable smooth scrolling in profiles.

## Factual behavior
Smooth scrolling in profiles is unaffected by any setting.

## Implementation
Disable smooth scrolling animation in profile pages when Interface Animations setting is turned off in battery saving settings. The fix checks anim::Disabled() before starting scroll animations in setupScrollHandling() and setupScrollHandlingWithFilter() methods, making profile scrolling behavior consistent with other interface elements.
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Nov 21, 2025

CLA assistant check
All committers have signed the CLA.

@ilya-fedin
Copy link
Copy Markdown
Contributor

experimental option "Use legacy scroll processing in profiles" does not disable it either

Yeah, looks like it just switches between different smooth scroll impls

@23rd
Copy link
Copy Markdown
Collaborator

23rd commented Nov 22, 2025

I would say, if we want to disable the smooth scrolling, we should check anim::Disabled before this snippet.

	if (AlternativeScrollProcessing.value()) {
		setupScrollHandling();
	} else {
		setupScrollHandlingWithFilter();
	}

@i-walk-away
Copy link
Copy Markdown
Author

I would say, if we want to disable the smooth scrolling, we should check anim::Disabled before this snippet.

	if (AlternativeScrollProcessing.value()) {
		setupScrollHandling();
	} else {
		setupScrollHandlingWithFilter();
	}

sounds valid

@i-walk-away i-walk-away changed the title Remove smooth scrolling in profiles when "Interface Animations" settings is disabled Remove smooth scrolling in profiles when "Interface Animations" setting is disabled Nov 22, 2025
@i-walk-away i-walk-away force-pushed the fix_smooth_scrolling branch from 8fa495b to aeba33d Compare March 3, 2026 10:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants