feat(v2): default to v2 everywhere + richer v2-native landing#466
Merged
Conversation
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>
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.
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-/v2paths redirect into the v2 shell (NavigationHandleris no longer gated on thecommonly.v2.activesession 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-designskill — 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):--v2-accent-deep) live-stats band (/api/stats/public)var(--v2-*)tokens only, one accent, borders not shadows, sentence case, no emojiBug fix: the landing is now its own scroll container —
.v2-root.v2-landingoverrides the app shell'sheight:100vh / overflow:hidden / display:flex, which was clipping the page to the viewport (only the hero was reachable).Test plan
/and/appsredirect into v2;/v2/landingrenders the richer landing and scrolls through all sections; live stats load; 0 console errors/legacy-landingstill serves the old page