test(e2e): clear fixed bridge + zoo-cloud flags (self-cleaning)
Deployed + verified: bridge-zoo (font, leak, console) and bridge-pars (font, leak) now pass at all 4 breakpoints — Basel Grotesk webfont loads, description meta is white-labeled per brand, and networks load same-origin (no cross-brand CORS). zoo-cloud overflow is gone (cloud-web v1.3.2). Only bridge-lux font remains — its host runs a stale Go all-in-one image; flag reworded with the real flip condition. Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
+14
-21
@@ -73,17 +73,16 @@ export const BREAKPOINTS = [
|
||||
{ name: '1920', width: 1920, height: 1080 }, // desktop
|
||||
] as const
|
||||
|
||||
// ── Shared flip conditions for the recurring documented defects ────────────
|
||||
const BRIDGE_FONT: Flag = {
|
||||
reason: 'intended brand webfont failed to load → Times serif fallback (bridge-fork font bug)',
|
||||
flip: 'ship the brand webfont (Basel/Inter) to the bridge build so body font is a sans stack, not Times',
|
||||
}
|
||||
// The bridge fork white-labeled its title + favicon + logo per brand, but the
|
||||
// <meta name="description"> was left as "Cross-chain bridge for the Lux Network."
|
||||
// — a foreign-brand string in the <head> of a Zoo/Pars surface (white-label breach).
|
||||
const BRIDGE_META_LEAK: Flag = {
|
||||
reason: 'HEAD <meta name="description"> still reads "Cross-chain bridge for the Lux Network." — foreign brand in a non-Lux head (bridge-fork white-label incomplete)',
|
||||
flip: 'white-label the description meta per brand (e.g. "Cross-chain bridge for the Zoo/Pars Network.")',
|
||||
// ── Documented flip condition ──────────────────────────────────────────────
|
||||
// The Basel Grotesk webfont + html/body font rule shipped in @luxfi/bridge
|
||||
// (pkg/bridge theme.css) and is LIVE on bridge.zoo.network + bridge.pars.network.
|
||||
// It is NOT yet on bridge.lux.network: that host runs the Go all-in-one bridge
|
||||
// image (bridge:e377ac59, ~370 commits stale) which go:embeds a pre-webfont SPA
|
||||
// build, so <body> still falls back to Times. The other two bridges' font +
|
||||
// description-leak flags are gone — fixed and verified live.
|
||||
const BRIDGE_LUX_FONT: Flag = {
|
||||
reason: 'body font falls back to Times — bridge.lux.network runs the stale Go all-in-one image (bridge:e377ac59) that embeds a pre-webfont SPA; the Basel Grotesk fix is shipped in @luxfi/bridge and already live on the Zoo + Pars bridges',
|
||||
flip: 'roll the lux-bridge deployment to a current cmd/bridge Go build (rebuilds + go:embeds app/bridge with the Basel Grotesk webfont)',
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -121,22 +120,16 @@ export const SURFACES: Surface[] = [
|
||||
{ id: 'work-pars', category: 'work', brand: 'Pars', url: 'https://work.pars.network', key: /new suggestion|overview|combined board|open menu/i, posture: 'live', flags: {} },
|
||||
|
||||
// ── Bridges ──────────────────────────────────────────────────────────────
|
||||
{ id: 'bridge-lux', category: 'bridges', brand: 'Lux', url: 'https://bridge.lux.network', key: /connect wallet/i, posture: 'live', flags: { font: BRIDGE_FONT } },
|
||||
{ id: 'bridge-zoo', category: 'bridges', brand: 'Zoo', url: 'https://bridge.zoo.network', key: /connect wallet/i, posture: 'live', flags: {
|
||||
font: BRIDGE_FONT,
|
||||
leak: BRIDGE_META_LEAK,
|
||||
console: { reason: 'CORS to bridge-api.lux.network — the Zoo bridge calls the LUX backend (cross-brand), so the networks fetch is blocked and chains fail to load', flip: 'point the Zoo bridge at a zoo-owned bridge-api origin (CORS-allowed) so networks load' },
|
||||
} },
|
||||
{ id: 'bridge-pars', category: 'bridges', brand: 'Pars', url: 'https://bridge.pars.network', key: /connect wallet/i, posture: 'live', flags: { font: BRIDGE_FONT, leak: BRIDGE_META_LEAK } },
|
||||
{ id: 'bridge-lux', category: 'bridges', brand: 'Lux', url: 'https://bridge.lux.network', key: /connect wallet/i, posture: 'live', flags: { font: BRIDGE_LUX_FONT } },
|
||||
{ id: 'bridge-zoo', category: 'bridges', brand: 'Zoo', url: 'https://bridge.zoo.network', key: /connect wallet/i, posture: 'live', flags: {} },
|
||||
{ id: 'bridge-pars', category: 'bridges', brand: 'Pars', url: 'https://bridge.pars.network', key: /connect wallet/i, posture: 'live', flags: {} },
|
||||
|
||||
// ── Safe ─────────────────────────────────────────────────────────────────
|
||||
{ id: 'safe-lux', category: 'safes', brand: 'Lux', url: 'https://safe.lux.network', key: /connect wallet|watch any account/i, posture: 'live', flags: {} },
|
||||
|
||||
// ── Clouds ───────────────────────────────────────────────────────────────
|
||||
{ id: 'lux-cloud', category: 'clouds', brand: 'Lux', url: 'https://lux.cloud', key: /start building|sign in|dashboard/i, posture: 'live', flags: {} },
|
||||
{ id: 'zoo-cloud', category: 'clouds', brand: 'Zoo', url: 'https://zoo.cloud', key: /start building|sign in|dashboard/i, posture: 'live', flags: {
|
||||
overflow: { reason: 'mobile horizontal overflow (~110px past a 390 viewport) — a hero/section block exceeds the viewport; lux.cloud (same template) reflows cleanly, so this is a zoo.cloud-build-specific responsive gap', flip: 'constrain the overflowing block (max-width:100%/reflow) so scrollWidth ≤ innerWidth at 390', bps: ['390'] },
|
||||
} },
|
||||
{ id: 'zoo-cloud', category: 'clouds', brand: 'Zoo', url: 'https://zoo.cloud', key: /start building|sign in|dashboard/i, posture: 'live', flags: {} },
|
||||
{ id: 'hanzo-cloud', category: 'clouds', brand: 'Hanzo', url: 'https://hanzo.cloud', key: /start building|sign in|dashboard/i, posture: 'foreign-domain', flags: {
|
||||
http: { reason: "domain serves a DIFFERENT company — a Japanese 'HANZO' product (Meiryo font, JP email/password login), NOT Hanzo Cloud", flip: 'the domain is reclaimed/repointed to serve Hanzo Cloud (Hanzo brand + Basel Grotesk)' },
|
||||
} },
|
||||
|
||||
Reference in New Issue
Block a user