Skip to content

Comments

Feather(Views): Fix theme section clipping on iOS 26#492

Merged
claration merged 1 commit intoclaration:mainfrom
shgew:fix/theme-section-clipping
Oct 2, 2025
Merged

Feather(Views): Fix theme section clipping on iOS 26#492
claration merged 1 commit intoclaration:mainfrom
shgew:fix/theme-section-clipping

Conversation

@shgew
Copy link
Contributor

@shgew shgew commented Oct 2, 2025

iOS Version Before After
iOS 18
after-before-18.mov
after-before-18.mov
iOS 26
before-26.mov
after-26.mov

@claration
Copy link
Owner

hmmmm this is a solution but maybe try increasing the corner radiuses of those cells in ios 26?

@shgew
Copy link
Contributor Author

shgew commented Oct 2, 2025

hmmmm this is a solution but maybe try increasing the corner radiuses of those cells in ios 26?

Do you mean instead of this solution or in addition to?

@claration
Copy link
Owner

claration commented Oct 2, 2025

Well the way feather supports liquid glass is via userdefaults boolean, so we cannot use an #if available unless iOS 26 has some layout issues that can appear. So dont this unless necessary.

You could probably make it not clip regardless of version and I would happily accept it.

@shgew
Copy link
Contributor Author

shgew commented Oct 2, 2025

@khcrysalis Updated with an entity to determine Liquid Glass status. Please let me know if I should remove the conditional iOS check.
The reason I introduced it is because .listSectionMargins(.horizontal, 0) modifier is only available from iOS 26. I couldn't find any other way to remove the clipping without changing the style of the whole list.

If you compile the project with Xcode 16, then it won't compile with the check in place.

@claration
Copy link
Owner

@shgew that change was unnecessary and it worked fine before

we also cannot use newer sdk features at this moment.

@shgew
Copy link
Contributor Author

shgew commented Oct 2, 2025

@shgew that change was unnecessary and it worked fine before

sorry. not sure what you mean. I reverted clipping changes. let me know if I misunderstood you.

@claration
Copy link
Owner

I was talking about liquid glass status, we don't need it.

@claration
Copy link
Owner

claration commented Oct 2, 2025

Look, you don't understand me clearly, let me explain what feather does for liquid glass.

It does not use iOS 26 SDK. It cannot use new SDK feature, nor should the settings for liquid glass should be changed (not sure why you even changed it in the first place, it works?).

While your original PR has good intentions it seems like you lack understanding of where I'm coming from and why the project is structured this way.

We cannot fix clipping but we can most likely change the corner radius of the cells by checking the Boolean from the that liquid glass userdefault instead of making a#if available check.

@shgew
Copy link
Contributor Author

shgew commented Oct 2, 2025

I was talking about liquid glass status, we don't need it.

So... Do you want me to just unconditionally increase corner radius of those cells or base the check solely on @AppStorage("com.apple.SwiftUI.IgnoreSolariumLinkedOnCheck")?

@claration
Copy link
Owner

Yes

@shgew
Copy link
Contributor Author

shgew commented Oct 2, 2025

Thanks for clarifying your approach. I eventually understood what you meant, but to be honest it took me quite a while to get there because the responses were very short and I had to keep asking for more details.

Also, I want to note that the comment “you lack understanding of where I’m coming from” felt a bit unfair. The difficulty wasn’t that I didn’t want to understand, it’s that it took a lot of back-and-forth before your reasoning became clear. More upfront context from your side would have made this much smoother.

I’ll adjust this PR accordingly now that I understand the direction.

@shgew
Copy link
Contributor Author

shgew commented Oct 2, 2025

As for the LiquidGlassStatus, the reason I introduced it is because it’s a testable entity, and it also future-proofs the project. It allows retrieving the status in a clean way when the project eventually transitions to Xcode 26, taking care of UIDesignRequiresCompatibility. And it already makes life easier for contributors that work with Xcode 26.

Add LiquidGlassStatus

Revert clipping changes

Revert "Add LiquidGlassStatus"

This reverts commit 568ec82.

Change corner radius based on liquid glass avaiability
@shgew shgew force-pushed the fix/theme-section-clipping branch from dff9b55 to 08f2401 Compare October 2, 2025 14:32
@claration
Copy link
Owner

My apologies for that response I made, was annoyed since that push seemed unrelated. Should've been more clear.

This recent change seems good, when it comes to transitioning to the iOS 26 sdk in the future we can just lookup these userdefaults in the future to get rid of any code that uses these quite easily, so it shouldn't really be a problem. Though, for now we don't have plans on transitioning because the toggle in settings does the job quite well already.

@shgew
Copy link
Contributor Author

shgew commented Oct 2, 2025

Totally fair. I understand.

@claration
Copy link
Owner

Thank you very much!

@claration claration merged commit 5a74564 into claration:main Oct 2, 2025
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.

2 participants