Skip to content

Fix a problem

Start with what you see, not an internal term. These guides are written around real CanvasRelay states and the language people use when something goes wrong.

Using the in-app Help chat?

Turn on Share my setup when you want the assistant to use your current plan, screen status, feed/deployment state and recent errors. It stays off by default.

Screens & players

TV or screen still shows the old version

Use Save/Publish state, feed versions, deployment state, pins, assignment, and connectivity to find why a screen has not changed.

A screen shows offline

Offline means CanvasRelay has not received a recent heartbeat; cached content can keep playing while updates and remote commands wait.

Pairing code is rejected, expired, or already used

For browser/Pi/Fire/Android compatibility players, pair using the six digits currently shown on the player. Roku beta uses on-device Canvas Relay account authentication instead.

A previously connected screen returned to the pairing screen

A revoked/invalid browser-class player credential intentionally returns that player to a pairing code; reconnect it only after checking why it was disconnected.

Permanently delete a disconnected screen

Disconnect stops a screen and preserves its record; Delete permanently is available only afterward and removes retained device history.

A screen is showing the wrong board

Screen assignment is independent from board editing; reassign the device or, on Roku, choose another allowed board from the app menu.

A screen stays on an older release because it is pinned

Release pins are testing overrides: a pinned screen intentionally ignores newer board publishes until it follows latest again.

Screen limit reached or extra screens stopped playing

CanvasRelay gives an over-limit grace period before the newest extra screens receive a limit card; content is not deleted.

Is CanvasRelay down, or is it just this device/network?

Use scope of impact and device health to separate a local player problem from a CanvasRelay service problem.

Browser player setup and recovery

Use player.canvasrelay.app in a dedicated modern browser, keep its profile/storage, and configure the machine/browser to reopen it after restarts.

browser

Raspberry Pi player setup and recovery

The Pi image is the reference unattended browser player: kiosk Chromium, persistent profile, and restart behavior around player.canvasrelay.app.

raspberry pi

Fire TV / Android TV browser player problems

These platforms currently use a TV browser; app/browser suspension and restart behavior are therefore different from the Pi reference player.

Roku: prepare, sign in, and play a board

The native Roku beta uses on-device Canvas Relay account sign-in, offers published non-archived boards, and remembers the selected board across launches; the public Store listing is not live yet.

roku

Roku sign-in for a Google-only Canvas Relay account

Google OAuth accounts need a Canvas Relay password added in web Account & security before the Roku email/password keyboard can sign in.

roku

A board is missing from the Roku board chooser

Roku intentionally lists only boards that are both published and not archived; Save creates a draft but Publish creates playable content.

roku

Disable the Roku screensaver for unattended signage

Use Roku's Screensaver start time setting; Canvas Relay warns when it is enabled but does not suppress system behavior or fake activity.

roku

Navigate Canvas Relay with the Roku remote

Playback uses OK for boards, Right for Account, and Back to exit; chooser/account screens add Up/Down, OK, Back, and Roku Pay shortcuts.

roku

Something appears in browser preview but is missing on Roku

Web embed, YouTube, Map / Directions, Authenticated Dashboard Snapshot, and Developer / Custom HTML require browser behavior and are intentionally unsupported on native Roku.

roku

Roku restart, reconnect, cache, and offline behavior

Roku persists its signed-in account, registered device, selected board, and a last-known Relay Plan, but its offline guarantees differ from the browser/Pi complete-release cache.

roku

Screens in a sync group are not lining up

Sync groups coordinate scene timing from server-corrected clocks and optional per-screen offsets; they are not broadcast genlock.

Test a published board on a screen for 5 minutes without pairing it

Boards with a published release can mint a short-lived five-minute test player session for quick fullscreen viewing without creating a persistent screen pairing.

browser

Playback / proof-of-play says not shown yet or has old counts

Board Playback is a per-scene proof-of-play report aggregated from paired-player reports; players flush usage periodically rather than on every frame.

Why did CanvasRelay email that a screen went offline or recovered?

The scheduled watchdog marks a paired screen offline after roughly five minutes without heartbeat, sends owners one non-essential alert, then clears it and sends a recovery message when the screen checks in again.

Board vs screen vs player vs device

Use the product terms consistently so editing, publishing, and hardware troubleshooting do not get mixed together.

Set up Android TV or Google TV today

Android TV / Google TV is currently a browser-compatible player path; a dedicated native TV app is a separate future release.

android tv

Set up Fire TV today

Fire TV is currently supported through a browser-compatible path; Fire OS and Vega require separate native work before native-store claims.

fire tv

What can this player render?

Browser/Pi have the broadest renderer; Roku uses a native Relay Plan with explicit widget/media compatibility and should surface unsupported content instead of pretending browser parity.

Design & publishing

Save worked, but the TV did not change

Save writes your editor draft; Publish creates an immutable release and advances the board feed that players follow.

Publish shows missing media, large file, offline, or readability warnings

Publish validation warns without blocking; each warning tells you what may look wrong, fail offline, or be skipped by the player cache.

CanvasRelay says another tab or person changed the scene

CR-4004 is optimistic-concurrency protection: a stale tab is stopped from silently overwriting a newer scene revision.

A control or animation setting is missing in the editor

Simple mode intentionally hides fine-grained Playback/Advanced controls; Advanced mode exposes them.

Breakfast/lunch/daypart scene is showing at the wrong time

Scene schedules use the organization's configured timezone and the schedule's day/time rules, including overnight windows and priority behavior.

Urgent announcement/takeover is not showing or will not stop

Takeovers interrupt normal rotation without a publish, can target one board or every board, and can expire or be ended manually.

Create a board from a template or start blank

Board creation supports built-in visual templates or a blank 16:9/9:16 board; template starts include sample data and blank boards seed an editable starter scene.

Duplicate, archive, restore, or permanently delete a board

Duplicate creates an unpublished copy; Archive is reversible and still counts toward the board limit; Delete forever removes an archived board and frees its slot.

Roll a board back to the previous release

Rollback makes the previous immutable release the board's current feed again; screens switch back on their next check-in rather than rewriting old content.

Save a selection as a reusable Block and insert it again

Save as block stores an organization-scoped reusable group of selected elements; reinsertion regenerates element ids while retaining supported data bindings.

A Web Embed is blank or a website/login does not work inside it

Web Embed is an online-only sandboxed iframe; remote sites can refuse framing, and the sandbox intentionally prevents normal same-origin cookies/storage behavior.

YouTube widget is blank, offline, heavy on Pi, or missing on Roku

The current YouTube widget is an online browser/provider player: it is muted/looping, can be heavy on Raspberry Pi, and is intentionally unsupported on native Roku.

Make a photo slideshow for a TV

Use the real slideshow template/widget so photos remain editable and remotely managed instead of flattening them into one video.

Turn a TV into an art or ambient display

Use your own Media images or AI-generated artwork in full-bleed scenes while keeping Canvas Relay's normal publish/management controls.

Loop an uploaded video on a TV

Use an uploaded video element for managed looping playback and verify the exact target player's media support before unattended deployment.

Make an event or welcome screen

Build a high-readability arrival screen with welcome text, schedule/countdown, QR, and optional rotating sponsor or announcement scenes.

Menus, media & data

Menu price, sold-out state, or linked data is not changing on screen

Data records and bound elements are separate from the published release; edit the right item/binding, then publish the board.

CSV import skipped rows, mapped columns wrong, or changed the wrong items

CSV import previews column mapping and supports Merge versus Replace; Merge matches by normalized section + item name.

Bulk price editor will not apply a change

Bulk prices sends only rows with a valid numeric value that differs from the current price.

Media upload is rejected, too large, or the file type is unsupported

CanvasRelay validates media types and sizes before player use; upload supported image/video/font formats and compress oversized files.

Media cannot be deleted because a scene still uses it

Referenced media deletion is blocked so an existing board cannot silently break; replace it in place or remove its usages first.

Video is blank, skipped, or not behaving as expected

Start by separating unsupported file/size, publish/cache, browser autoplay, and platform-specific Roku transport problems.

Save/reuse an item-card template or insert menu cards/stacks

Item-card templates capture slot-based menu-card layout; card/stack insertion resolves menu records while the template preserves the reusable visual structure.

Sold-out / 86'd item does not look the way I expected on the board

The Data tab stores the sold-out flag, while the board's card/list presentation determines whether a sold-out item is dimmed, stamped, or hidden after publishing.

Find, tag, organize, or replace media without breaking scenes

The Media library supports kind/tag/name filtering, bulk tags, usage inspection and replace-in-place so referenced assets can be updated without changing every scene manually.

AI assist

Account, team & billing

Payment failed, checkout finished, or billing change has not appeared yet

Stripe handles checkout/portal actions; CanvasRelay entitlements follow webhook state and can take a short moment to reflect immediately after checkout.

A feature is locked, missing, or says the plan does not include it

Feature gates are server-side entitlements. Free, Creator, Pro and Studio deliberately expose different screen, AI, API, sync, font, widget and brand capabilities.

A teammate cannot accept an invitation

Invites are email-specific, expire after 7 days, and can be resent/revoked from Settings → Team.

A button/action is missing because of role or API-key scope

CanvasRelay enforces permissions on the server; hiding a control is often the UI reflection of the current owner/admin/editor/viewer role or API-key scopes.

Sign-in, password, Google link, or active-session problem

Account settings distinguish session sign-in from API-key access and support password changes, Google linking, session revocation and deletion.

Workspace editing is locked because deletion was scheduled

Organization deletion starts a 14-day grace period: reads remain, writes return the deletion-pending error until an owner cancels or hard deletion completes.

Brand kit, custom font, logo, or color is not available

Brand kits are Studio-gated; custom fonts are separately entitlement-gated. The editor reads the organization's saved brand snapshot into its pickers.

Request/download an organization data export

CanvasRelay has an asynchronous organization export job with a one-request-per-day limit; completed downloads use a signed URL that expires after seven days.

Delete my account vs delete an organization/workspace

Account deletion removes the user identity/session relationship, while organization deletion is an owner-controlled 14-day workspace deletion process; they have different safeguards and billing implications.

Developer & integrations