Skip to content

Work / Scrvio / Wiki / Surfaces

public-link

Surfacecanonicalverified 2026-10-04

SURFACE.WEB.PUBLIC-LINK

Summary

The page a public link opens: the recording, for someone not signed in.

Raw wireframe

  • .context/designs/web/share/public-link.html
  • .context/designs/web/share/public-link-locked.html
  • .context/designs/web/share/public-link-loading.html
  • .context/designs/web/share/public-link-error.html

Why it is drawn this way

Drawn as a free-tier link. isFreeTier adds the Recorded with Scrvio block and Try Scrvio Free.

params and searchParams are read synchronously. The page is a client component on Next 16 and reads params.token and searchParams.pwd as plain objects.

The password form depends on a query that is skipped. The form shows only when the query already returned publicLink.password and no ?pwd= was given. But the query is skipped until a password is set, so as written a visit without ?pwd= falls through to Link Not Found.

The password is compared in plain text. public-link.service.ts checks publicLink.password !== password. The mapper puts the stored password on the returned object, and the page reads publicLink.password.

Loading is the processing card. With no externalUrl the player is replaced by one line of text; the rest of the page stays.

Related

Sources

  • apps/website/src/app/public-link/[token]/page.tsx
  • apps/server/src/api/05-sharing/public-link/public-link.service.ts