Extend admin user, organization, and mailbox search models and repositories with richer faceted filters, ranges, sorting, and plan/pool metadata for explorer views.
Add request and mail-delivery timeouts around auth flows so login requests cannot hang indefinitely when notification delivery stalls.
Allow the local admin dev origin through default CORS and update context-aware lint fixes so the repository lint gate passes.
Resolve the main-branch conflict in realtime event publishing by keeping both warmup account-health and audit-created events. Renumber the warmup migrations after the current main migration tail.
Make the warmup task reconciler re-check account state and org warmup access before scheduling replacement tasks. Remove pool membership for accounts whose org can no longer use warmup to avoid repeated no-access task churn.
Limit warmup volume to 5 messages per day when a mailbox is part of an active campaign sender pool. This keeps warmup as a low-volume reputation heartbeat while campaign traffic is already active.
site/src/pages/index.astro imports { animate, inView, stagger } from
'motion' for its scroll/entrance animations, but the package was never
declared in site/package.json. astro build (Site CI) therefore failed to
resolve the import (Rollup: failed to resolve import "motion"). Add
motion@^12.34.0 (matching web/) and sync site/pnpm-lock.yaml so the
frozen-lockfile install + build pass.
Add authenticated session listing and revocation APIs, track the auth provider on sessions, and expose active session controls in account security settings.
Add PUBLIC_HOST wiring for local web, admin, site, realtime, and backend CORS so the native dev stack can be reached over Tailscale or LAN without changing localhost defaults.
Adds OAuth-backed integration connection management across the API, repository, event dispatch, migrations, docs, and dashboard UI.
Includes realtime invalidation and small dashboard type compatibility fixes needed for the web typecheck gate.
Move audit logs into org-scoped Postgres storage, wire audit events across backend handlers, and surface actor details in the dashboard activity log.
Add realtime audit invalidation and retention pruning so the trail stays current and bounded.
Split visual loading from disabled state so the passkey spinner can show during challenge preparation without preventing Safari from receiving the explicit click.
Keep the working passkey wiring from the previous commit and replace the fragile shared loading SVG with a lucide spinner that is visible inside the fixed icon slot.
Add visible passkey progress states, skip background conditional UI on Safari, and cancel explicit sign-in if Safari never presents a credential prompt.
Add passkey enrollment and login wiring, including a Safari-safe explicit login path that prefetches the WebAuthn challenge before the click and calls the credential ceremony immediately from the user gesture.
Update account risk bands as warmup monitoring signals arrive, including spam placement, user complaints, invalid tokens, and worker rate-limit abuse. Trigger risk rebalancing after warmup health sweep transitions so risky accounts move out of clean pools sooner.
Add explicit warmup participant roles so connected accounts can provide recipient-only pool capacity without becoming senders. Cap warmup scheduling by eligible recipients, avoid same-day recipient reuse, reschedule exhausted pools, and reconcile missing warmup task chains.