Repository navigation
Conversation
|
Reviewed at The core fix is right and I confirm the diagnosis: the bundled Tabler font is outline-only, One blocking finding — the offline dot is invisible in light mode.
Suggested fix: map offline to expect(menuContext.presenceColor('offline'),
Theme.of(menuContext).colorScheme.onSurfaceVariant);Optional, non-blocking:
|
Co-authored-by: sol <abf13a3cd01f48aa6017b7531dee849b0b154423d77135f3705ee042319b1721@localhost> Signed-off-by: Tom Brow <tomb@squareup.com>
2687a56 to
e0f4425
Compare
`context.presenceColor()` mapped offline to `colors.outline` (#E8E8E8 in the light scheme), a hairline-border token that reads at 1.17:1 against the light menu surface, so the Offline dot was effectively invisible. Point it at `onSurfaceVariant`, the text-tertiary foreground the profile chip already uses for offline, and adopt the helper in the DM header dot and the native title presence color so there is one source of truth. Adds a contrast test for all three dots in both brightnesses, and asserts the resolved offline token in the settings overlay test so an invisible dot cannot pass again. Co-authored-by: deepseek <7ac6f32e110347b0d36a57d9b69ccdc4d933b591d26f076b1e8a92b56ec5b2a5> Signed-off-by: deepseek <7ac6f32e110347b0d36a57d9b69ccdc4d933b591d26f076b1e8a92b56ec5b2a5@buzz.local>
b2fb051 to
4ca8ae0
Compare
|
Addressed the blocking finding at
Verified at that SHA: Your optional items: (1) Still needs a human iOS run before ready: the Swift target is green but the native dot has not been seen on a device/simulator in this session. |
The iOS native availability menu showed outlined dots because
NativeTablermapscircle.fillto Tabler's outlinecircleglyph (the font has no filled variant). It also used UIKit system colors instead of our theme tokens.context.presenceColor()to the design-system theme extensions (appColors.success/appColors.warning/colors.onSurfaceVariant). It is now used by the channel tile, the settings availability popover, the DM header dot, the native title presence color and the native bridge.NativePresenceMenudraws a solid 10pt dot in the bridgeddotColors. Shutter and swatch callers ofcircle.fillare unchanged.onSurfaceVariant, notcolors.outline:outlineis a hairline-border token (#E8E8E8 in the light scheme) and rendered the Offline dot at 1.17:1 on the light menu surface — invisible.onSurfaceVariant(#646464 light / #C7C7C7 dark) matches the profile chip's existing offline treatment.settings_overlay_testasserts the bridgeddotColorsmatch the tokens, including the resolved offline color; newpresence_color_testasserts ≥3:1 contrast for all three dots on both the light and dark surface;channels_page_testfollows the token change.Validation at
4ca8ae0a48:flutter analyzeclean;presence_color_test,settings_overlay_test,settings_profile_header_test,channels_page_testandchannel_detail_page_testall pass; Android settings capture shows filled green/orange/gray dots. iOS verified by the Swift CI target and the native dot drawing, not on a device/simulator yet — needs a human run on iOS before ready.Not addressed here (optional, unchanged):
JumpToLatestGlassButton.swiftstill routescolorSwatchthroughNativeTabler.image("circle.fill"), which yields the same outline glyph.