April 14 Dev Update

WorkOS stabilization, polish restoration, bug fixes, and full QA pass

Monday, April 14, 2026

At a Glance
6
PRs Merged (Apr 12-14)
7/7
Views Tested & Passing
0
Console Errors
370+
Files Restored (PR #287)
Clerk to WorkOS authentication migration

Clerk → WorkOS: Authentication migration complete

Pull Requests
#290
fix: portal Manage Account modal for correct centering
CSS transform on parent was trapping position:fixed. Fixed with createPortal to document.body.
Open
#289
chore: remove HTML screenshot snapshot dev tool
Cleanup of temporary dev tooling (Charles)
Merged
#287
fix: restore all lost polish & quality changes from merge
WorkOS merge accidentally reverted ~370 polish files. Restored all UI tokens, shimmer lines, OrbiterBox wrappers, quality audit fixes.
Merged
#285
Clerk → WorkOS authentication migration
Complete auth migration: AuthKit provider, server-side auth, redirect URI handling, MFA support (Dennis/Charles)
Merged
#283
feat: add temporary logs and clear token on sign out
Debug logging for stale token tracking during WorkOS transition
Merged
#273
feat: meeting prep canvas, gold actions, polish waves 5-6
Meeting Prep as 7th canvas, CrayonChat creation flows, 30 commits, 515 files
Merged
Bug Fix Spotlight
BUG FIXED Manage Account modal opens in top-right instead of center
Root cause: The polish-lift CSS class on the avatar wrapper applies transform: matrix(1,0,0,1,0,-0.5) which creates a new CSS containing block. This traps position: fixed children within the 28×28px parent element instead of the viewport.

Fix: Wrapped the modal in createPortal(…, document.body) so it renders at the document root, escaping the transform context. The modal now centers correctly on the viewport.

File: src/components/global/user-button.tsx — PR #290
370 files restored — before and after

370+ files lost in merge (left) → fully restored (right)

Polish Restoration (PR #287)
What happened: The WorkOS merge commit (a91d05c) incorrectly resolved ~370 files to dev's version, losing all polish/quality audit changes from the April 8-11 work.
What was restored: OrbiterBox wrappers, design token classes (bg-st-*, border-stroke-*), shimmer lines, ambient glow effects, card animations, toast.error() handlers, maxPages memory caps, Biome formatting.
What was preserved: All WorkOS auth infrastructure (provider, routes, middleware) kept at dev's version. No auth regressions.
Network visualization
Current State — All Views
Discover view
Discover
AI-powered network discovery with query input and results
Outcomes view
Outcomes
Goal definition with CrayonChat, right panel with Summary/Context/Modify tabs
Leverage Loops view
Leverage Loops
Network leverage with person search, right panel context
Meeting Prep view
Meeting Prep
7th canvas view — calendar integration with prep context panel
Manage Account modal
Manage Account Modal (Fixed)
Now properly centered via createPortal — 6 tabs: Profile, Security, Email, Contacts, Voice, Sessions
Copilot dialog
Orbiter Command (Copilot)
Meeting Prep + Chat modes, memory panel, voice controls
Database state: only 1 of 6 users has data

Only 1 of 6 user accounts has data on LIVE — the rest are empty post-migration

Xano LIVE Database Audit
DATA Why all views show empty for most users
The WorkOS migration (April 11–13) created fresh user records on LIVE. Old staging/Clerk data was not migrated. Only Mark (user 12) has real data because it was manually populated post-migration.
User ID Name Source Contacts Outcomes Status
12 Mark Pederson WorkOS 10 11 Has Data
15 Robert Boulos WorkOS 1 0 Empty
13 Robert Boulos Old Clerk 0 0 Orphaned
3 Denis Mbugua WorkOS (migrated) 0 0 Empty
10 Charles Mariga WorkOS (migrated) 0 0 Empty
7 Njogu Kimondo WorkOS 0 0 Empty
Mark’s data (user 12): 10 contacts, 2 collections, 11 outcomes, 3 leverage loop suggestions, 2 discover queries, 1 connected email (mark@orbiter.io via Google). Calendar connected. This is the only account that shows real app content.
Robert’s data (user 15): 1 contact (self), 1 default collection. Zero outcomes, leverage loops, teams, discovers, calendar events, or email connections. Old user ID 18 (from staging) does not exist on LIVE.
Orphaned user 13: Robert’s old Clerk-era login. Has Clerk profile data (clerk_id: user_39rce12NF8M2xs2aYj4wvDUtidx) but no WorkOS ID. Never matched by login_workos. Zero contacts. Should be cleaned up or merged into user 15.
Master data is minimal: Only a handful of master_person and master_company records exist on LIVE. The bulk of enriched data (thousands of contacts, companies) was on staging, not live.
Up Next
PR #290 merge: Manage Account modal fix ready for review
WorkOS widget auth: Profile/Security/Sessions tabs show "Error fetching data" — needs WorkOS widget token configuration for production
Calendar integration: Meeting Prep shows "No upcoming meetings" — requires calendar connection setup
Data seeding: All users except Mark have empty accounts. Need to either seed demo data or migrate staging data to LIVE for testing.
Orphan cleanup: User 13 (old Clerk login for Robert) should be merged into user 15 or deleted.