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
AI menu photo/PDF import read something wrong or cannot import
AI import creates a reviewable draft, flags low-confidence rows, accepts image/PDF up to 8MB, and has a paste-text fallback.
AI Assist is missing, unavailable, or says credits/limit reached
AI is an optional shortcut. Missing configuration hides Assist; quota/credit limits do not block manual CanvasRelay editing.
What Accept/Discard does to an AI suggestion
AI layout/copy/bulk actions produce proposals; layouts preview on the canvas, and nothing should silently publish to screens.
Relay Assistant credits, Quick Assists, refunds, and safe changes
Relay Assistant separates Help, Edit, Create, and Credits; eligible verified Google users get daily Quick Assists plus a one-time welcome grant, paid plans include monthly credits, purchased packs do not expire, and technical/model failures restore customer-visible credits.
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
API key is missing, expired, revoked, or lacks permission
API keys are shown raw exactly once, store only a hash server-side, carry explicit scopes, and can have an expiry.
Webhook test/delivery is failing
Webhook endpoints must be public HTTPS, verify the raw-body HMAC signature, return 2xx within 10 seconds, and tolerate retries.
