Skip to content

Work / Scrvio / Wiki / Surfaces

recorder

Surfacecanonicalverified 2026-10-04

SURFACE.WEB.RECORDER

Summary

The recorder at /app, idle: a dark page with the recording menu top-right.

Raw wireframe

  • .context/designs/web/record/recorder.html
  • .context/designs/web/record/recorder-error.html

Why it is drawn this way

No header, always dark, no sign-in. app/page.tsx paints bg-gray-950 itself, renders no Header and has no RequireAuth. The menu's Home and Settings icons go to /library and /settings/profile when signed in, and to / and /auth/register when not (recording-menu.tsx). The drawing is the signed-in one.

The banner is for anyone without a paid workspace. It shows when no organisation has an active Pro or Team licence and nothing is recording. app/page.tsx passes its own $14 message; the component's default text still says $7/month.

The 300-second cap applies to everyone on the client. FREE_MAX_DURATION = 300 is written into the store for every user. The comment says paid users are unlimited, but no branch reads hasPaidSubscription here.

The camera bubble is drawn because Camera is on. Store defaults are screen on (Current Tab), camera off, mic on. The drawing turns the camera on so the bubble from camera-preview.tsx is visible.

The error face keeps the menu and banner. ERROR is not a recording state, so both still render. Try Again and Start Over call the same reset.

Related

Sources

  • apps/website/src/app/app/page.tsx
  • packages/ui/src/components/recording/recording-menu.tsx
  • packages/ui/src/components/recording/recording-error-view.tsx
  • packages/ui/src/components/upgrade-banner.tsx