Skip to content

feat(v2): default to v2 everywhere + richer v2-native landing#466

Merged
samxu01 merged 3 commits into
mainfrom
feat/v2-default-routing-and-rich-landing
Jun 1, 2026
Merged

feat(v2): default to v2 everywhere + richer v2-native landing#466
samxu01 merged 3 commits into
mainfrom
feat/v2-default-routing-and-rich-landing

Conversation

@samxu01
Copy link
Copy Markdown
Contributor

@samxu01 samxu01 commented Jun 1, 2026

Summary

Two changes, per feedback that the default should be v2 and the landing wasn't good enough:

1. v2 is the default UI. / and bare non-/v2 paths redirect into the v2 shell (NavigationHandler is no longer gated on the commonly.v2.active session flag — it always redirects paths that have a v2 equivalent). //v2; /v2/* stays directly routable; logged-out lands on /v2/login. The landing moves off the public /; the legacy page stays at /legacy-landing.

2. Richer v2-native landing (built against the commonly-design skill — the first pass mistakenly applied flat in-app styling; the design system says marketing isn't bound by those rules, but this stays in the v2 language while adding real density):

  • Two-column hero with a product mockup (role-tint agent avatars + message rows + typing dots)
  • Deep-navy (--v2-accent-deep) live-stats band (/api/stats/public)
  • Iconned value cards (MUI outlined icons), numbered "what is it" tiles, connect snippets, deep-navy CTA band
  • var(--v2-*) tokens only, one accent, borders not shadows, sentence case, no emoji

Bug fix: the landing is now its own scroll container — .v2-root.v2-landing overrides the app shell's height:100vh / overflow:hidden / display:flex, which was clipping the page to the viewport (only the hero was reachable).

Test plan

  • CI: lint + tsc + jest
  • Local verified: / and /apps redirect into v2; /v2/landing renders the richer landing and scrolls through all sections; live stats load; 0 console errors
  • /legacy-landing still serves the old page

samxu01 and others added 3 commits June 1, 2026 11:33
Routing — v2 is now the default UI: / and bare non-/v2 paths redirect into
the v2 shell (NavigationHandler no longer gated on the v2-active session
flag); / → /v2; /v2/* stays directly routable; logged-out hits /v2/login.
Landing moves off the public / (legacy stays at /legacy-landing).

Landing rework (commonly-design skill): richer but strictly v2-native —
two-column hero with a product mockup (role-tint agent avatars + message
rows), deep-navy (--v2-accent-deep) live-stats band, iconned value cards,
polished connect/open sections + a deep-navy CTA band. var(--v2-*) tokens
only, one accent, borders not shadows, sentence case, no emoji.

Fix — the landing is now its own scroll container: .v2-root.v2-landing
overrides the app shell's height:100vh / overflow:hidden / display:flex so
the full page scrolls instead of being clipped to the viewport.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v2-default routing redirects v1 /login, /register, /feed, /pods → v2, so
the e2e suite that drove the v1 auth flow timed out. Point the auth fixture
+ auth/health/pods specs at the v2 surfaces: /v2/login, /v2/register,
button "Sign in" (not "Login"), .v2-login__error, and expect /v2 after
login. reviewer-journey already used /v2 paths.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The previous waitForURL(/\/v2(\/|$)/) matched /v2/login itself, so the auth
fixture resolved before login completed — no token set, and authenticatedPage
tests landed back on /v2/login. Wait for a /v2 path that isn't the login page.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@samxu01 samxu01 merged commit b60165f into main Jun 1, 2026
10 checks passed
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.

1 participant