Fix Safari layout bug on Performer details page - #7235
Open
dude-stash wants to merge 1 commit into
Open
dude-stash wants to merge 1 commit into
dude-stash wants to merge 1 commit into
Conversation
dude-stash
marked this pull request as ready for review
September 15, 2026 02:25
dude-stash
marked this pull request as draft
September 15, 2026 09:17
garfolino
force-pushed
the
fix/safari-performer-details-layout
branch
2 times, most recently
from
September 15, 2026 09:27
58b979a to
5456a15
Compare
ua-parser-js v2 reports the macOS platform as "macOS" instead of the "Mac OS" string used by v1. isPlatformUniquelyRenderedByApple() still checked for "Mac OS", so it never matched on desktop Safari, the .apple class was never applied, and the Safari-specific flex layout fix for the details page never engaged - leaving the details panel stacked below the photo instead of beside it. Fixes stashapp#7234 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
garfolino
force-pushed
the
fix/safari-performer-details-layout
branch
from
September 15, 2026 09:35
5456a15 to
463085c
Compare
dude-stash
marked this pull request as ready for review
September 15, 2026 09:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
On Safari (desktop macOS), the Performer details panel renders stacked below the photo instead of beside it, while Chrome renders it correctly.
Root cause:
isPlatformUniquelyRenderedByApple()(ui/v2.5/src/utils/apple.ts) checksUAParser().os.name?.includes("Mac OS")to detect Apple platforms and apply the.appleCSS class, which in turn triggers a Safari-specificdisplay: flexfix for.detail-containerinindex.scss.ua-parser-jsv2 (currently pinned in this repo) reports the macOS platform name as"macOS"rather than the"Mac OS"string used by v1, so the check never matches, the.appleclass is never applied, and the flex fix never engages — leaving Safari on the default float-based layout, which stacks instead of sitting side-by-side.The fix normalizes the OS name check to be case-insensitive and match both
"Mac OS"and"macOS".Related Issue
Fixes #7234
Testing
UAParser().os.namereturns"macOS"on this Safari version, confirming the string mismatch against the old"Mac OS"check.isPlatformUniquelyRenderedByApple()now returnstrue, the.appleclass is applied to the app root, and the Performer details panel renders beside the photo as on Chrome.Screenshots
Attaching before/after screenshots from Safari.
Fixed

Checklist
AI Usage Disclosure
Claude Code (Sonnet 5) was used to investigate the root cause (tracing the CSS/UA-sniffing logic behind the Safari-only layout bug), diagnose the
ua-parser-jsv2 string mismatch, and implement the one-line fix inapple.ts.Additional Context