Files
wbin90620 0720a733f2 setup: a provider's OAuth popup closes on its return and tells the opener how it went
Connect GitHub/Slack POSTed /v1/provider/:provider/connect with no return,
so the API's callback sent the popup to console.hanzo.ai/connectors, a whole
app on another origin that never closed it or told the opener. The connect
now names hanzo.ai's registered return page (lib/oauth RETURN), and the
opener waits for the answer by message (same origin only), BroadcastChannel
or storage, reads the popup's address once it is back on this origin, closes
it, and marks the step done or shows the refusal.
2026-10-26 12:05:47 -04:00
..

@hanzo/app

The Hanzo workspace — Home, Chat, Inbox, Contacts, Meet, Cal, Drive, Board, Work, Bots and the frame that holds them — as one package that every surface imports.

import { configure, Rooms } from '@hanzo/app'
import { Room } from '@hanzo/app/Room'
import { CalScheduler } from '@hanzo/app/CalScheduler'

configure({ site: '', home: '/home', signUp: '/signup' })

<Rooms router={router} path={pathname} route={route} Link={Link}>
  <Room mode="cal"><CalScheduler /></Room>
</Rooms>

configure() names the host's addresses (where its own pages live, the gateway and IAM, the plan catalogue to paint first). <Rooms> carries what moves: the router, the path, the route and the link component. The rooms import nothing from a host, and their look comes from @hanzo/appearance and @hanzo/design through @hanzo/ui.