Skip to content

update for What's new in Lynx 3.2#130

Closed
toretto-wt wants to merge 15 commits into
lynx-family:mainfrom
toretto-wt:P/toretto/lynx3-2-0427
Closed

update for What's new in Lynx 3.2#130
toretto-wt wants to merge 15 commits into
lynx-family:mainfrom
toretto-wt:P/toretto/lynx3-2-0427

Conversation

@toretto-wt

Copy link
Copy Markdown
Collaborator

No description provided.

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
@netlify

netlify Bot commented Apr 27, 2025

Copy link
Copy Markdown

Deploy Preview for lynx-doc failed.

Name Link
🔨 Latest commit a5ddcfd
🔍 Latest deploy log https://app.netlify.com/sites/lynx-doc/deploys/680f72b05518ec000801c045

update for async-rendering show case

Change-Id: Ic238604c8570e8084f994afe643bf58dc06484fa
update for some tyo and runtime descrption

Change-Id: I29353137da054d8dc48ba762df2867d5413d503f
@toretto-wt toretto-wt changed the title P/toretto/lynx3 2 0427 update for What's new in Lynx 3.2 Apr 27, 2025
 fix some comments

Change-Id: Id37f26d508aa5c6f360001099e0de66d0f6e542c
 add Lynx link

Change-Id: I3852860e150192fe26f11076821b7a28b8e971d4
fix some style

Change-Id: Ie87a29d052d93ce44f4318f5a1615e8b648e0e3c
@toretto-wt toretto-wt force-pushed the P/toretto/lynx3-2-0427 branch from 811c1cd to 98b88a6 Compare April 28, 2025 08:02
@CLAassistant

CLAassistant commented Apr 28, 2025

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@toretto-wt toretto-wt force-pushed the P/toretto/lynx3-2-0427 branch from 53b75ce to e206a6a Compare April 28, 2025 09:34
Fix some errors in English documents.

Change-Id: I7c5aa24d3b9ab224350abc6a69172d09f0fc402d
@toretto-wt toretto-wt force-pushed the P/toretto/lynx3-2-0427 branch from e206a6a to 620f0a6 Compare April 28, 2025 10:15
update ReactLynx Testing Library link

Change-Id: I99ebc52ceed6763d0d49961259c781e8bc6b8ad6
Signed-off-by: toretto <tomcatswt@gmail.com>
@toretto-wt toretto-wt closed this Apr 28, 2025
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
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