You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maka.apache.org by "Astro-Han (via GitHub)" <gi...@apache.org> on 2026/08/26 16:05:29 UTC
[I] test(desktop): the Storybook smoke renders one of 22 palette × colour-scheme combinations [maka]
Astro-Han opened a new issue, #3942:
URL: https://github.com/apache/maka/issues/3942
## Problem
`THEME_PALETTES` (`packages/core/src/settings.ts:129-145`) ships **11 palettes**, each rendering in light and dark — **22 combinations** reachable from 设置 → 外观.
`scripts/storybook-visual-smoke.mjs:138` pins every story URL to `globals=colorScheme:light` and sets no palette, so the gate at `.github/workflows/ci.yml:239` renders **default × light** only.
One story already works around this. `packages/ui/stories/palette-matrix.stories.tsx` applies `data-maka-theme` per block and renders all 11 palettes in a single story. Its own header states the reason:
> The smoke's catalog pass renders wide/light/default only, so without this story ten palettes have no oracle whatsoever.
Three gaps remain on top of it:
1. **It is a human oracle, not an assertion.** The story renders swatches; nothing fails when a value drifts.
2. **It covers 6 base tokens** — `--background`, `--foreground`, `--accent`, `--info`, `--success`, `--destructive` (`palette-matrix.stories.tsx:70-77`). Derived tokens are out of frame. #3446 F6 measures `--color-text-disabled` at 2.52:1 light and 2.29:1 dark on transcript body copy, failing WCAG AA on the **default** palette. Whether the other 10 carry the same failure is unmeasured.
3. **The dark half is never rendered**, so every dark-mode finding in #3446 is invisible to CI by construction.
`maka-tokens.css:185` records a hand-check for one token ("weakest is tokyo-night at 4.78:1"). That is the current method: manual, per-token, unrepeatable.
## Desired outcome
- Parameterise `storyUrl` over `colorScheme` so the smoke runs both. Storybook already declares both globals (`apps/desktop/.storybook/preview.tsx:83-118`), so this is a URL change, not new infrastructure.
- Add a per-text-node contrast assertion — no baseline, no allowlist, an accessibility correctness boundary. That is the shape #2794's objection leaves available.
- Decide whether the palette dimension belongs in the gate or stays a human oracle. 11 × 2 over every story is likely not worth the CI time; over the palette matrix plus one reference screen it may be.
Overlaps #3446 slicing item 1, which already proposes the colour-scheme parameterisation and the contrast assertion. If that lands first, this narrows to the palette dimension.
*AI use: Claude Code assisted with source and issue investigation; the analysis and conclusions are my own.*
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
Re: [I] test(desktop): the Storybook smoke renders one of 22 palette × colour-scheme combinations [maka]
Posted by "Yx01-me (via GitHub)" <gi...@apache.org>.
Yx01-me commented on issue #3942:
URL: https://github.com/apache/maka/issues/3942#issuecomment-5535028277
Progress update:
#4042 completed the first stage: all Stories now cover light/dark, while Native Conversation covers all 11 palettes × 2 colour schemes.
For the contrast assertion, I have a working `@axe-core/playwright` prototype, but need confirmation on the CI boundary:
1. Should it cover all 410 render jobs, or only the 22 Native Conversation combinations? The full catalog currently contains substantial existing contrast failures.
2. Should Axe `incomplete` results only be reported, or also fail CI? I recommend reporting them without blocking.
3. Can we reuse #4042’s bounded palette coverage instead of expanding every Story to all 22 combinations?
Once confirmed, I can finalize the second PR.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
Re: [I] test(desktop): the Storybook smoke renders one of 22 palette × colour-scheme combinations [maka]
Posted by "Yx01-me (via GitHub)" <gi...@apache.org>.
Yx01-me commented on issue #3942:
URL: https://github.com/apache/maka/issues/3942#issuecomment-5429830980
I'd like to work on this issue. Could you please assign it to me?
For the Story coverage boundary, I propose:
- Run every catalog Story under default × light and default × dark.
- Run the Palette Matrix once per colour scheme; it already renders all 11 palettes in one Story.
- Run one representative product Story, such as Native Conversation, across the full 11 palettes × 2 colour schemes matrix.
This adds dark-mode coverage without multiplying the entire catalog by 22.
For contrast, I plan to add a post-render audit after each Story's play() completes. It will inspect visible text nodes, resolve their computed foreground and effective background colours, and apply WCAG thresholds: 4.5:1 for normal text and 3:1 for large text. Only semantic exemptions such as genuinely inactive controls will be excluded—there will be no baseline or selector allowlist. Failures will report the Story, colour scheme, palette, text snippet, colours, measured ratio, and required ratio. Unit fixtures will cover colour calculation, transparent/alpha-composited ancestors, threshold selection, and exemptions.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
Re: [I] test(desktop): the Storybook smoke renders one of 22 palette × colour-scheme combinations [maka]
Posted by "liuxiaocs7 (via GitHub)" <gi...@apache.org>.
liuxiaocs7 commented on issue #3942:
URL: https://github.com/apache/maka/issues/3942#issuecomment-5521861585
Cross-reference (not a claim — this is assigned): #3944 just landed the failure/edge-state Storybook stories for the high-traffic surfaces — nine PRs merged across chat rendering/streaming, tool results, error/toast, file diff / change panel, terminal, browser, agent graph, daily review, and model picker. They render **real production components** in states this smoke never saw before: error/failed banners, empty states, provider-retry, very-long-text, very-many-rows, etc.
Two places they intersect with this issue:
- **The `colorScheme` parameterisation.** Those new stories are only exercised at `default × light` today. The moment `storyUrl` runs dark as well, every new failure-state story comes along as a dark-mode target for free — I captured dark (and narrow) screenshots of each by hand for review, which is exactly the manual human oracle this issue wants to turn into a CI one.
- **The per-text-node contrast assertion.** The new failure states introduce status-coloured text — error banners, the destructive-confirm action, the provider-retry indicator — that a contrast check should cover. #3446 F6's `--color-text-disabled` failure lives on transcript body copy, which #3944's chat stories now render across failure classes, so the assertion would have those surfaces to run against.
So the two are complementary axes: #3944 widened the *states*; this issue widens the *palette × colour-scheme* dimension and adds the assertion. Flagging so the surfaces line up — happy to share the new story ids if that helps when you parameterise the smoke.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org