Floom

Share & approval pages — live render board

Full-screen public/share and approval routes rendered against batch-b (the clean cloud base) as the owner fede@floom.dev. Each card shows the live render, the URL pattern, and whether there is a working UI path to reach it.

Target: batch-b.floom.dev · cloud API workeros-api.floom.dev · rendered 2026-06-17 · worker novasearch-v5 (real, with 22 runs)
renders OK broken (404) caveat
01 · Worker share

Public shared worker

/s/<token> · (alt) /w/<id>?token=<token>
renders OKwrapped in app shellno UI share button
Does it render? Yes. A freshly minted worker share token resolves and shows the worker share card (name, description, trigger, “See files” flip, “Add to workspace”).
UI path to share a worker? No. There is no Share affordance anywhere in the workers UI. The components exist in code (ShareWorkerButton, ShareModal, api.workers.shareLink) but are not wired into the worker detail / list. The share link can only be minted via the API (POST /workers/<id>/share-link).
  • Caveat A — wrapped, not full-screen: for the signed-in owner the share card renders inside the dashboard chrome (sidebar + Emily), not as a standalone page. (The approval route does render standalone — see card 04 — so this is an inconsistency.)
  • Caveat B — recipient bounce: logged-out, /app/s/<token> and /app/w/<id> redirect to /app/login (see card 05). The “public” worker page is not publicly reachable on the cloud.
  • Caveat C — tokens go stale: an earlier-minted token 404’d minutes later; re-minting fixed it.
Worker share page render
Owner view, authenticated. Worker share card for “NovaSearch V5” rendered inside the dashboard shell. Click image to open full size.
02 · Run share

Public shared run

/s/<token> (entity_type: run)
broken end-to-end
Does it render? No — 404 “Page not found”. The API mints a run share token (POST /runs/<id>/share-linkentity_type: run), but the public resolver GET /s/<token> returns 404 “Share link not found” for run tokens, and the /s frontend page (StandaloneShareCard) only handles worker / brain_file / brain_pack — never run. So sharing a run is broken on both backend resolve and frontend render.
UI path to share a run? The Runs list has a “Share” button, but it is a stub — clicking it shows a toast “Sharing a run is coming soon (#765).” It does not mint a link.
Run share 404
Run share link → 404. Fresh run token resolves to “Page not found”.
03 · File share (Library / Brain)

Public shared file

/s/<token> (entity_type: brain_file)
UI affordance existsrender broken (404)
Is there a UI path to share a file? Yes. The Library/Brain (/library, code in /contexts) has “Share this file” and “Share this folder” actions that copy a share link (api.contexts.shareFileLink / sharePackLink).
Does the shared file page render? No — 404. The mint returns entity_type: brain_file + URL, but GET /s/<token> returns 404 “Context file not found” (tested with a freshly created folder+file). So the file-share render is broken on the cloud (the public resolver can’t locate the minted file).
File share 404
File share link → 404. Fresh brain_file token resolves to “Page not found”.
04 · Approval review

Full-screen approval review

/approvals/review?id=<id>[&token=<token>]
renders OK · full-screen
Does it render? Yes — genuinely full-screen (no sidebar, no Emily). Shows the Floom header, “All approvals” back link, the real pending approval (“Approve before sending” → “draft for Test Prospect Beta”), a comment / drop-image box, and Approve / Reject buttons.
Two entry modes: (1) authenticated owner, ?id=<id> → reviews your pending approval; (2) signed public link, ?id=<id>&token=<token> → login-free review (publicGet). No client method mints the public token — it comes from the backend public_link field (populated when an approval notification is sent), which was null here, so this is the authenticated-owner render.
Full-screen approval review
Authenticated owner, real pending approval apr_5bed3d946149. Standalone full-page layout.
05 · Logged-out reality

Recipient (logged-out) hits a login wall

/app/s/<token> · /app/w/<id> → /app/login
not publicly reachable
The share routes are designed as public, no-login pages (root /s, /w in the OS). On the cloud (batch-b) the whole app is mounted under /app and the auth middleware gates /app/*, so a logged-out recipient opening a share link is redirected to /app/login. A worker/run/file share link sent to someone without a Floom account does not show the share — it shows sign-in.
Login bounce for logged-out share link
Incognito / logged-out open of a worker share link → Floom “Welcome back” login page.
PageRoute patternRenders?UI path to share?
Worker share/s/<token>Yes (wrapped in app shell; login wall for logged-out)No — Share button not wired into UI; API only
Run share/s/<token> (run)No — 404 (resolver + frontend don’t support run)No — Runs “Share” is a “coming soon” toast (#765)
File share/s/<token> (brain_file)No — 404 “Context file not found”Yes — “Share this file/folder” in Library
Approval review/approvals/review?id=&token=Yes — full-screenYes (owner ?id; public link needs backend token)