This island talks to a different service, not our backend.
It imagines our app and a calendar provider (Microsoft Graph) both trust the
same identity provider (Entra), so we hold a shared token.
The agenda uses neither api
nor live
— just context.tokens.graph
and its own fetch, so the exact same mount works on the plain
/calendar-plain
page.
Click "Join online"
on a meeting to open its chat — that part rides a Phoenix channel, so one island uses two transports at once.
How it's connected
-
context
-
Reads the signed Graph token the root layout put in the runtime context.
-
fetch
-
GET /mock-graph/v1.0/me/calendarView
with Authorization: Bearer …
(a stand-in for graph.microsoft.com).
-
channel
-
Joining a meeting opens
meeting:<id>
(history + Presence) — our backend, not Graph.
-
401
-
Drop/expire the token and the island shows a re-auth path, just like a real API.