Skip to main content

Error Handling

Page Errors

When a page fails to load its data due to an error, the following dialog will be displayed.

UI & Design

image

This is coming from the DetailsErrorPage component. Actual information of the error will be visible on console.

Since page data are server-side requests, the logs will be displayed in the console (rather than front-end tools such as Chrome Dev Tools).

image

All pages in the application can display this error.

Common errors

CodeCauseSolution
400/500Request error in Middleware/AmagiCheck the logs to get more information of cause

Playback Errors

The error code displayed maps directly to Shaka’s error codes. These are displayed as modals on top of the player itself.

UI & Design

info

Playback errors are visible on the EPG page where the player is located.

image

Stacktrace

  • Error data is collected on playbackSessionAnalytics.ts > createPlaybackErrorHandler.
  • This is passed to Player.tsx and displayed on PlayerError.tsx.

Common errors

CodeCauseSolution
1002Channel is geo-blocked to US only.Switch to US through VPN

Swimlane errors

Each swimlane in the home page has its own Control entry and middleware query. If any of these entries fails to return a successful response, the app simply skips over the swimlane.

Home swimlanes are defined in their own Entry. There is one for development and another one for production.

image

Each swimlane has its own title & query. The query is what the client app uses to fetch the data, and its the piece that could fail.

image

These are server-side requests. Any failure in the query will display an error log in the terminal

image

UI & Design

warning

There is no UI for a failed swimlane query

image

Common error causes

Here are 2 main scenarios of why a swimlane query is not working:

CauseSolution
The query was changed to a faulty query in ControlReview the recent changes in the entry, and identify what’s wrong with the new query
The query was not changed but it is no longer workingThe queries go through the middleware, so either there’s an issue with the MW itself, or the provider.

Fallback images

IF an image in a card fails to load, a fallback image will be displayed. The fallback image is determined given the type of swimlane card. This logic is defined at Card.tsx

UI & Design

image