feat(pricing): mark Team tier as Coming Soon#1
Merged
Conversation
Team tier remains in plans.yaml + backend k8s code paths so growth/team sizing still resolves, but customer-facing surfaces hide upgrade paths until the multi-seat + RBAC + SSO surface ships. - PricingPage: amber "soon" badge on Team column; CTA replaced with disabled span; FAQ "envs" answer no longer promises Team multi-env. - MarketingPage: "Coming soon" flag on the Team plan card; CTA renders as a disabled <span>; landing copy no longer name-drops Team as a shippable tier. Backend guards (separate PR in instant-api repo): both /api/v1/billing/ checkout and change-plan return 400 tier_unavailable for target=team.
mastermanas805
added a commit
that referenced
this pull request
Jun 5, 2026
…ause/resume-by-token (#192) * test(e2e): Wave 2+3 — real-backend UI journeys + PR-smoke gate; fix pause/resume by token Drive the ACTUAL dashboard in the browser against the real prod api with a multi-tier minted cohort account, then reap (rule 24, no leak). Catches the UI-against-real-backend breakage class (login-broke) that mocked Playwright + tsc + vitest all miss. Wave 3 — factory + named journeys (all proven green vs api.instanode.dev): - e2e/factory.ts: thin wrapper over POST/DELETE /internal/e2e/account — mintUser({tier}), mintUserWithResources, mintAtDeployCap (hobby cap=1), reap; cohort-tagged + ledger-registered for the afterAll/out-of-process backstop. - e2e/ui-helpers.ts: same-origin preview-proxy harness. The prod api CORS allowlist returns allow-origin ONLY for https://instanode.dev (AUTH-004), so a direct cross-origin fetch from the preview origin is CORS-blocked. The preview server proxies api paths to prod (vite.config.ts preview.proxy) and the SPA's api base is pinned same-origin → real backend, no CORS wall. - e2e/live-ui-{auth,resources,deploy,team-vault}.spec.ts: journeys #1 auth round-trip (authed shell + /auth/me identity; magic-link form), #2 provision→view→metrics stream→creds reveal→delete, #3 deploy lifecycle + build-log SSE connect + make-permanent, #4 delete-when-exhausted→replace (hobby cap=1: #1 renders → #2 hits the 402 wall → delete #1 → replacement succeeds) — the headline scenario, #5 pause/resume + 402 tier gate, #6 vault add→reveal→delete, #7 team invite. - Manifest: live-ui.coverage.ts + done-bar wiring; add GET /deploy/:id/logs. Wave 2 — PR-smoke gate: - .github/workflows/e2e-pr-smoke.yml runs the @pr-smoke subset (#1/#2/#3) on every web PR via a minted+reaped account; no-ops cleanly on fork/secret-less PRs; full suite stays on the e2e-prod 30-min schedule. REAL UI bug found + fixed (PauseResumeButton): pause/resume addressed the resource by the UUID `id`, but the api resolves :id against the TOKEN column — so every pause/resume 404'd ("Resource not found") through the dashboard. Now uses resource.token (matches getResource/rotate/delete). Proven via journey #5. Verified: all 10 live-ui tests green vs prod, ledger empty, reap 200; npm run gate green (1129 tests). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * test(e2e): drop unused mintUser import in live-ui-resources (code-quality) All three resource journeys use mintUserWithResources; mintUser was imported but never referenced. Flagged by github-code-quality on PR #192. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <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
<span>(cursor: not-allowed, 55% opacity); landing copy ("Self-serve at every tier. No sales call.") no longer name-drops Team as a shippable tier.Team tier remains in plans.yaml + backend k8s code paths so growth/team sizing still resolves; only customer-facing upgrade flows are hidden until the multi-seat + RBAC + SSO surface ships.
Companion change (instant-api repo — already deployed v1.5.8)
Both
/api/v1/billing/checkoutand/api/v1/billing/change-planreturn400 tier_unavailablefortarget=team. Verified end-to-end against api.instanode.dev.Test plan