New
- Workspace invitation prompt: Users who receive a workspace invitation but sign in manually are now shown a choice — join the inviting workspace or create their own. Previously, the invitation would be left pending while the user unknowingly created a separate workspace.
- Editable workspace slug: The workspace URL slug in onboarding is now editable and auto-generated from the workspace name, with live validation showing a checkmark, error, or spinner as you type.
- Per-plan integration limits: Each integration now has its own instance limits depending on your plan. Discord supports up to 3 instances on Stream and 10 on River, Webhooks up to 2 on Stream and 10 on River — Alpheus has no limits on any integration. When the limit is reached, the Connect button is replaced with a "Limit reached" badge.
Improved
- Auth page: Refreshed with a centered layout matching the new onboarding design. Google sign-in now appears above the email input.
- Onboarding: Unified layout consistent with the auth page. Headers crossfade between steps, and each step animates in smoothly. Step number indicators removed.
- Invite step: Invitation slots now appear dynamically as you fill them in, instead of showing three empty inputs upfront.
Fixed
- Stuck "Authenticating…" screen: The loading screen no longer hangs indefinitely when following an expired or already-used magic link.
- Expired magic link error: Users now see a clear message explaining that the link has expired or been used, with a prompt to request a new one.
- Partial invite failure: A single failed invitation no longer cancels the remaining ones — all valid invites are now sent independently.
- Onboarding flash on auth page load: The onboarding flow no longer briefly appears when loading the auth page.