update for What's new in Lynx 3.2#130
Closed
toretto-wt wants to merge 15 commits into
Closed
Conversation
Change-Id: I38d4447efb2c87905811835201a7f30d9fa36010
Change-Id: I2e8f85c59273f823ea5e4eafef07a13288bad9ff
update for horizontal-snap Change-Id: I6041daa5723f7b1cc41ad2a61edeae3c5d6a4eb0
update for pnpm-lock Change-Id: Id6a97ac4959c9c88476b111aae6b73a0bb5e9b9d
update for 3.2 blog Change-Id: I258b9dcb701ca49e9ebeef42e1d7ac67d497ef97
update assets for 3.2 blog Change-Id: I0a8b6f93523d9de3216383208eee664b9b7817e7
update for commits Change-Id: I1abf7733ea8aff8bfdcd3bcefb68e4b5930619b3
❌ Deploy Preview for lynx-doc failed.
|
update for async-rendering show case Change-Id: Ic238604c8570e8084f994afe643bf58dc06484fa
update for some tyo and runtime descrption Change-Id: I29353137da054d8dc48ba762df2867d5413d503f
fix some comments Change-Id: Id37f26d508aa5c6f360001099e0de66d0f6e542c
add Lynx link Change-Id: I3852860e150192fe26f11076821b7a28b8e971d4
fix some style Change-Id: Ie87a29d052d93ce44f4318f5a1615e8b648e0e3c
811c1cd to
98b88a6
Compare
53b75ce to
e206a6a
Compare
Fix some errors in English documents. Change-Id: I7c5aa24d3b9ab224350abc6a69172d09f0fc402d
e206a6a to
620f0a6
Compare
update ReactLynx Testing Library link Change-Id: I99ebc52ceed6763d0d49961259c781e8bc6b8ad6
Signed-off-by: toretto <tomcatswt@gmail.com>
Huxpro
added a commit
that referenced
this pull request
Jun 4, 2026
The previous commit changed mapPlatformNameToFullName('clay') to return
'Desktop' so the badge would read "Desktop", but that same function also
drove the dynamic component-name derivation. Result: generatedComponents
held 'DesktopOnly'/'NoDesktop' while the destructured exports still asked
for 'ClayOnly'/'NoClay', so both came back as undefined and every MDX page
that rendered <ClayOnly/> SSG-failed with React #130.
Split the responsibility:
- mapPlatformNameToTechnicalName -> stable 'Clay'/'Harmony'/... drives
the generatedComponents keys, so ClayOnly/NoClay stay valid.
- mapPlatformNameToLabel -> what the user sees, returns
'Desktop' for clay.
Also drops em dashes from comments in this PR's new code per repo prose
preferences.
Change-Id: Ib82b76c1511b665405204e76a7475c58dc092dad
Huxpro
added a commit
that referenced
this pull request
Jun 7, 2026
The previous commit changed mapPlatformNameToFullName('clay') to return
'Desktop' so the badge would read "Desktop", but that same function also
drove the dynamic component-name derivation. Result: generatedComponents
held 'DesktopOnly'/'NoDesktop' while the destructured exports still asked
for 'ClayOnly'/'NoClay', so both came back as undefined and every MDX page
that rendered <ClayOnly/> SSG-failed with React #130.
Split the responsibility:
- mapPlatformNameToTechnicalName -> stable 'Clay'/'Harmony'/... drives
the generatedComponents keys, so ClayOnly/NoClay stay valid.
- mapPlatformNameToLabel -> what the user sees, returns
'Desktop' for clay.
Also drops em dashes from comments in this PR's new code per repo prose
preferences.
Change-Id: Ib82b76c1511b665405204e76a7475c58dc092dad
Huxpro
added a commit
that referenced
this pull request
Jun 7, 2026
…atus chips (#1089) * refactor(theme): centralize platform color tokens Extracts the inline PLATFORM_TINT map from the homepage feature row into src/components/platform-navigation/platform-colors.ts as the single source of truth for platform brand color across the site. Covers every platform key consumed by PlatformBadge — including the clay umbrella + clay_* variants — and exposes both the Tailwind tint string and the underlying hex/bg values so the PlatformBadge CSS can stay in lockstep with what the homepage row uses. Brand mapping: apple family (ios, macos) -> zinc android -> emerald harmony -> rose web / web_lynx -> orange windows -> sky clay umbrella + variants -> cyan Change-Id: I10af83dc736bf9e057e3b6bd1a6d0c4a0c93d7fe * feat(badge): unify PlatformBadge palette and reframe Only/No variants Three coordinated changes so the API-doc PlatformBadge stops fighting the rest of the site: 1. Palette unified to the shared platform color tokens. iOS goes from saturated blue back to Apple's zinc-silver, Harmony from orange to the Huawei rose, web from purple to lynx orange, and the four clay_* variants collapse from cyan/indigo/teal/sky into one Clay cyan so ClayAndroidOnly stays visually distinct from AndroidOnly even though they share the Android glyph. 2. Contrast quieted. Background drops from a saturated ~500@10% wash to a tinted 50/950, while the icon stays in full platform color so the badge is still scannable at a glance — the icon does the signalling. 3. Visual semantics for *Only / No*. Previously info/warning/danger all rendered in the same platform color, so "iOS Only" and "No iOS" looked like the same chip with different words. Now: default platform color, subtle bg .platform-badge--only adds an inset platform-tinted ring (emphasis) .platform-badge--no drops platform color, mutes to neutral, strikes the label, dims the icon (negation) Also relabels bare `clay` as "Desktop" in the user-facing label only — the component export names (ClayOnly, NoClay), APIStatus colors, and compat tables keep `clay`. Temporary until the desktop branding settles. Change-Id: If12a812aab5d351e19c39f01065847954ca24d85 * fix(badge): keep ClayOnly/NoClay component keys when label says Desktop The previous commit changed mapPlatformNameToFullName('clay') to return 'Desktop' so the badge would read "Desktop", but that same function also drove the dynamic component-name derivation. Result: generatedComponents held 'DesktopOnly'/'NoDesktop' while the destructured exports still asked for 'ClayOnly'/'NoClay', so both came back as undefined and every MDX page that rendered <ClayOnly/> SSG-failed with React #130. Split the responsibility: - mapPlatformNameToTechnicalName -> stable 'Clay'/'Harmony'/... drives the generatedComponents keys, so ClayOnly/NoClay stay valid. - mapPlatformNameToLabel -> what the user sees, returns 'Desktop' for clay. Also drops em dashes from comments in this PR's new code per repo prose preferences. Change-Id: Ib82b76c1511b665405204e76a7475c58dc092dad * chore: re-trigger CI Change-Id: I98a04f9a62cc6e860d74719f5e4f1d0f6bb968ea * fix(badge): vertical-align middle so chip sits on the line center The Rspress Badge is inline-flex, which baseline-aligns its line box to the surrounding text baseline. That looks fine next to body text and code chips, but inside a heading it makes the chip cling to the bottom of the heading line and read as stranded. Setting vertical-align: middle on the chip re-centers it on the line box and fixes alignment in body, TOC, and heading contexts without changing the chip's size. Also moves the icon size from inline Tailwind utilities into the same CSS rule (--icon-size: 0.9rem) so future tweaks live in one place. Change-Id: Ibc9c30567a716e666be65a20e55b9e323d7963d5 * fix(icons): tighten Android viewBox and shrink api/status support chips Two adjacent fixes for how platform chips read on the api/status page. 1. Android SVG viewBox cropped from `0 0 21 20` to `1.5 1.5 18 18`. The half-dome glyph only fills the lower half of the original viewBox, so at the same `--icon-size` the rendered Android glyph looked visibly smaller than Apple / Harmony / Web (which fill their viewBoxes). The new square crop centers on the glyph centroid and removes the dead margin so the rendered icon picks up the same visual weight as the other platforms. 2. API-status support chips in `APIStatusDashboard.tsx` shrunk to match the older compact pill. Icon 10px -> 8px, dot 6px -> 4px, padding 4/2px -> 2/1px, gap 2px -> 1px. The chip footprint goes from ~26x14 down to ~16x10, restoring the tight pill feel. Change-Id: I5f45a45f00c314871207eab1ebc98112be3c50af * fix(api-status): size support-chip icon via --icon-size and force inline-block on dot Tailwind `w-2 h-2` lost to `.icon { width: var(--size) }` in CSS source order, so the chip icons rendered at 1rem (16px) instead of the intended 8px. Pass `--icon-size: 0.5rem` on the chip wrapper so the .icon rule picks up the right size, and switch the status dot from `<span>` (inline, ignores width/height) to an inline-block element so the 4px circle actually renders. Change-Id: I50f994b4a40449a20c80cf10f62d3e9c93fad799 * fix(api-status): restore breathing room on support-chip layout Previous shrink went too tight: icon (8px) and dot (4px) sat right next to each other with 1px gap and 2px padding, so the chip read as a single cramped square instead of an "icon + status" pill. Back off slightly to match the reference proportions: --icon-size: 0.625rem (10px) dot 6px gap 4px padding 4px / 2px Chip footprint becomes roughly 22 x 14 — small enough on mobile to fit a multi-platform row, comfortable enough on desktop that the icon and the status dot don't read as one blob. Change-Id: I2303122243c05c347974668186381e84abddf2bb * fix(api-status): force support-chip icon to 10px via inline style The previous attempt set --icon-size on the chip wrapper hoping it would cascade into the .icon child, but .icon's `width: var(--size)` was still winning at the rendered size (~16px) on desktop, so the chips read as huge despite the smaller Tailwind paddings. Add a `style` pass-through on PlatformSvg + the api-status icon factory, and set the chip icon to { width: 10, height: 10 } directly. Inline style sits above any cascade contest so the icon actually renders at 10px now. Change-Id: I1a2a182b24f183ed3d3e1ce2e981133166f41a5a
Huxpro
added a commit
that referenced
this pull request
Jun 8, 2026
* refactor(theme): centralize platform color tokens
Extracts the inline PLATFORM_TINT map from the homepage feature row into
src/components/platform-navigation/platform-colors.ts as the single source
of truth for platform brand color across the site. Covers every platform
key consumed by PlatformBadge — including the clay umbrella + clay_*
variants — and exposes both the Tailwind tint string and the underlying
hex/bg values so the PlatformBadge CSS can stay in lockstep with what
the homepage row uses.
Brand mapping:
apple family (ios, macos) -> zinc
android -> emerald
harmony -> rose
web / web_lynx -> orange
windows -> sky
clay umbrella + variants -> cyan
Change-Id: I10af83dc736bf9e057e3b6bd1a6d0c4a0c93d7fe
* feat(badge): unify PlatformBadge palette and reframe Only/No variants
Three coordinated changes so the API-doc PlatformBadge stops fighting the
rest of the site:
1. Palette unified to the shared platform color tokens. iOS goes from
saturated blue back to Apple's zinc-silver, Harmony from orange to the
Huawei rose, web from purple to lynx orange, and the four clay_*
variants collapse from cyan/indigo/teal/sky into one Clay cyan so
ClayAndroidOnly stays visually distinct from AndroidOnly even though
they share the Android glyph.
2. Contrast quieted. Background drops from a saturated ~500@10% wash to a
tinted 50/950, while the icon stays in full platform color so the badge
is still scannable at a glance — the icon does the signalling.
3. Visual semantics for *Only / No*. Previously info/warning/danger all
rendered in the same platform color, so "iOS Only" and "No iOS" looked
like the same chip with different words. Now:
default platform color, subtle bg
.platform-badge--only adds an inset platform-tinted ring (emphasis)
.platform-badge--no drops platform color, mutes to neutral, strikes
the label, dims the icon (negation)
Also relabels bare `clay` as "Desktop" in the user-facing label only — the
component export names (ClayOnly, NoClay), APIStatus colors, and compat
tables keep `clay`. Temporary until the desktop branding settles.
Change-Id: If12a812aab5d351e19c39f01065847954ca24d85
* fix(badge): keep ClayOnly/NoClay component keys when label says Desktop
The previous commit changed mapPlatformNameToFullName('clay') to return
'Desktop' so the badge would read "Desktop", but that same function also
drove the dynamic component-name derivation. Result: generatedComponents
held 'DesktopOnly'/'NoDesktop' while the destructured exports still asked
for 'ClayOnly'/'NoClay', so both came back as undefined and every MDX page
that rendered <ClayOnly/> SSG-failed with React #130.
Split the responsibility:
- mapPlatformNameToTechnicalName -> stable 'Clay'/'Harmony'/... drives
the generatedComponents keys, so ClayOnly/NoClay stay valid.
- mapPlatformNameToLabel -> what the user sees, returns
'Desktop' for clay.
Also drops em dashes from comments in this PR's new code per repo prose
preferences.
Change-Id: Ib82b76c1511b665405204e76a7475c58dc092dad
* chore: re-trigger CI
Change-Id: I98a04f9a62cc6e860d74719f5e4f1d0f6bb968ea
* fix(badge): vertical-align middle so chip sits on the line center
The Rspress Badge is inline-flex, which baseline-aligns its line box to
the surrounding text baseline. That looks fine next to body text and code
chips, but inside a heading it makes the chip cling to the bottom of the
heading line and read as stranded. Setting vertical-align: middle on the
chip re-centers it on the line box and fixes alignment in body, TOC, and
heading contexts without changing the chip's size.
Also moves the icon size from inline Tailwind utilities into the same
CSS rule (--icon-size: 0.9rem) so future tweaks live in one place.
Change-Id: Ibc9c30567a716e666be65a20e55b9e323d7963d5
* fix(icons): tighten Android viewBox and shrink api/status support chips
Two adjacent fixes for how platform chips read on the api/status page.
1. Android SVG viewBox cropped from `0 0 21 20` to `1.5 1.5 18 18`.
The half-dome glyph only fills the lower half of the original
viewBox, so at the same `--icon-size` the rendered Android glyph
looked visibly smaller than Apple / Harmony / Web (which fill their
viewBoxes). The new square crop centers on the glyph centroid and
removes the dead margin so the rendered icon picks up the same
visual weight as the other platforms.
2. API-status support chips in `APIStatusDashboard.tsx` shrunk to
match the older compact pill. Icon 10px -> 8px, dot 6px -> 4px,
padding 4/2px -> 2/1px, gap 2px -> 1px. The chip footprint goes
from ~26x14 down to ~16x10, restoring the tight pill feel.
Change-Id: I5f45a45f00c314871207eab1ebc98112be3c50af
* fix(api-status): size support-chip icon via --icon-size and force inline-block on dot
Tailwind `w-2 h-2` lost to `.icon { width: var(--size) }` in CSS source
order, so the chip icons rendered at 1rem (16px) instead of the intended
8px. Pass `--icon-size: 0.5rem` on the chip wrapper so the .icon rule
picks up the right size, and switch the status dot from `<span>` (inline,
ignores width/height) to an inline-block element so the 4px circle
actually renders.
Change-Id: I50f994b4a40449a20c80cf10f62d3e9c93fad799
* fix(api-status): restore breathing room on support-chip layout
Previous shrink went too tight: icon (8px) and dot (4px) sat right next
to each other with 1px gap and 2px padding, so the chip read as a single
cramped square instead of an "icon + status" pill.
Back off slightly to match the reference proportions:
--icon-size: 0.625rem (10px)
dot 6px
gap 4px
padding 4px / 2px
Chip footprint becomes roughly 22 x 14 — small enough on mobile to fit a
multi-platform row, comfortable enough on desktop that the icon and the
status dot don't read as one blob.
Change-Id: I2303122243c05c347974668186381e84abddf2bb
* fix(api-status): force support-chip icon to 10px via inline style
The previous attempt set --icon-size on the chip wrapper hoping it would
cascade into the .icon child, but .icon's `width: var(--size)` was still
winning at the rendered size (~16px) on desktop, so the chips read as
huge despite the smaller Tailwind paddings. Add a `style` pass-through
on PlatformSvg + the api-status icon factory, and set the chip icon to
{ width: 10, height: 10 } directly. Inline style sits above any cascade
contest so the icon actually renders at 10px now.
Change-Id: I1a2a182b24f183ed3d3e1ce2e981133166f41a5a
* feat(api-status): redesign dashboard with brand-driven chrome
Sidebar, header, and all four pages adopt the homepage's color-mix +
lifted-card vocabulary (mirrors SubsiteRow / ChoiceTabs / shared-tabs).
Sidebar
- Pages as full-width brand-washed rows; no PAGES eyebrow, no caret on active row
- Platforms as icon rail with per-cell --platform brand color; coverage % below
- Clay aggregate + "Show Clay surfaces" toggle that opens a flush tray
- Collapsed (icon-only) state works for pages, platforms, and Clay expand
- Sidebar header overrides shadcn's flex-col/p-2 defaults so it lines up
with the page header bar (64px tall, shared bottom border)
Header (APIStatusLayout)
- Page title + brand stem accent + short subtitle on the left
- Single quiet meta line on the right ("Updated DATE · X of Y platforms")
- Sidebar fixed-position override (!top-16) so it aligns with rspress's
64px-tall top nav (shadcn defaults to top-14)
Coverage page
- Replaces stat-card grid with a horizontal parity list (one row per
platform, full-width bar dominant)
- Trend chart fills its plate width (preserveAspectRatio="none"), per-
platform Y offset so overlapping lines render visibly separated,
end-of-line platform labels in brand color
Categories / Recent / Search
- Categories flattened: dropped the plate wrapper, header row sits above
the CategoryTable so its own dividers carry the page
- Recent: per-platform stat cards with version-block layout; version
chips inherit --platform so they tint to the parent card's color
- Search: search bar in a plate that picks up a brand focus ring,
transparent filter selects, quiet results meta line
Token system
- All chrome reads from color-mix() over --platform or --rp-c-brand
- Dark mode adjusts mix percentages, not hardcoded alternates
Change-Id: I34b37d4404b18a69e13d48a246b41c0fa08939c2
* fix(api-status): address PR #1104 review comments
- APIStatusLayout: drop unused PLATFORM_CONFIG import
- APIStatusLayout: totalSurfaces now mirrors the sidebar rail's count
(native + 1 clay-aggregate in collapsed mode, native + 4 clay_* in
detail mode) so the header reads "X of 5" / "X of 8" consistently
with the sidebar's "X/Y" instead of always "X of 8"
- SearchPage: type="search" + aria-label on the search input so screen
readers announce it properly and browsers can offer search UA chrome
- CoveragePage: correct the trend-chart comment — preserveAspectRatio
is "none" (intentional horizontal stretch), with non-scaling strokes
keeping line width constant. Previous comment incorrectly described
it as "scales without distorting strokes"
- APIStatusPages.scss: declare container-type on .aps-plate so the
parity-row's @container (max-width: 540px) query actually matches
(was a dormant no-op without a container ancestor)
Change-Id: Ia547f44d818e43e73e3a9e4602aaba7a37e352a4
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.
No description provided.