mirror of
https://github.com/hanzoai/app.git
synced 2026-10-31 18:04:19 +00:00
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.
@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.