- Add CreateOrgDialog component with name/slug form and auto-slug generation
- Add "New Organisation" button in TopBar org dropdown (limited to 10 orgs)
- Fix admin check in AppSidebar to use currently selected org role
instead of global isOrgAdmin flag for proper org-scoped permissions
Extract social login buttons (Passkey, Google, GitHub, Microsoft) from
LoginPage into a dedicated SocialLoginButtons component. This enables
reuse in OIDCLoginPage and improves code maintainability.
- Add contact API endpoint for demo requests and sales enquiries
- Implement functional contact forms on Demo and Pricing pages with honeypot spam protection
- Update footer layout: remove Company section, add contact email
- Update self-hosted FAQ to mention open source with GitHub links
- Add vitest and testing-library dependencies
- Add tests for MarketingLayout and PricingPage components
- Remove placeholder external-auth test file
Add comprehensive marketing content for ZeroTier Network Governance feature
including a dedicated landing page, navigation updates, and feature highlights
across the homepage and features page.
- Add new ZeroTierPage with feature documentation and use cases
- Add ZeroTier to navigation in MarketingLayout header and footer
- Update HomePage hero headline and add ZeroTier feature section
- Add ZeroTier features section to FeaturesPage
- Add ScrollToTop component for better navigation UX
- Move ApiDevTools to AuthenticatedLayout (dev mode only)
- Add SSR tests for marketing pages
- Update SSHCertificatesPage comparison table for clarity
- Add documentation link to MarketingLayout footer
Add comprehensive ZeroTier integration and access control:
- NetworksPage for managing ZeroTier portal networks
- DevicesPage for device registration and membership management
- AccessPage for approval workflows, session management, and kill switch
- Complete API client with TypeScript types for ZeroTier entities
- Navigation updates with ZeroTier section in sidebar
Added OIDC Web Page Flow
Admin can add/reset password
Admin can remove users'/members mfa/2fa, unlink account from oauth provider
Chore: Text changes (Forgot Pass, CA)
- Store authentication tokens explicitly before setting user state in login
and TOTP verification flows to prevent race conditions
- Add 'credentials: include' to WebAuthn endpoints for proper session
cookie handling
- Add comprehensive debug logging throughout authentication flow to trace
token lifecycle and API requests
- Update WebAuthn completeLogin to use fetch directly instead of request
helper to properly handle session cookies
- Add allowedHosts configuration to Vite dev server