Skip to content

Conversation

@blshukla
Copy link
Contributor

@blshukla blshukla commented Jul 17, 2025

📝 Description

Add example for showcasing how to use indexedDB to cache videos and playback in a loop

JIRA Issue: PE-964

✔️ Dev Complete Checklist

  • PR template filled out
  • Change is tested by submitter
  • PR follows all linting and coding standards
  • Github Issue exists (if applicable)
  • Team member has been assigned
  • At least one commit message is in Conventional Commit format

- Add example for showcasing how to use indexedDB
to cache videos and playback in a loop
@blshukla blshukla requested review from bhastings1019, Copilot, evan-morgan and jdmedlin1 and removed request for Copilot July 17, 2025 17:40
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a new IndexedDB caching example to the dev cookbook that demonstrates how to cache video content for offline playback in BrightSign HTML5 applications. The example showcases intelligent background caching and automatic playlist looping.

  • Implements IndexedDB-based video caching with background downloading
  • Provides a complete BrightSign configuration with HTML5 video player
  • Includes comprehensive documentation and configuration options

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
examples/indexeddb-caching-example/index.html Main HTML application implementing video player with IndexedDB caching logic
examples/indexeddb-caching-example/autorun.brs BrightSign autorun script configuration for launching the HTML application
examples/indexeddb-caching-example/README.md Documentation explaining usage, configuration, and troubleshooting

@blshukla blshukla requested a review from lherlein July 17, 2025 17:41
jdmedlin1
jdmedlin1 previously approved these changes Jul 17, 2025
Copy link
Contributor

@jdmedlin1 jdmedlin1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM after typos are fixed

Copy link
Contributor

@lherlein lherlein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any reason to have this as a roHtmlWidget node example and not as a roNodeJS node example? I feel like database software would run in the background more generally. The code looks great to me, though

@blshukla
Copy link
Contributor Author

blshukla commented Jul 23, 2025

Is there any reason to have this as a roHtmlWidget node example and not as a roNodeJS node example? I feel like database software would run in the background more generally. The code looks great to me, though

I was having an issue accessing the window parameter in a JS file. I'm sure there is a way to fix that, but I found this to be a quicker solution.

Another point: From the Jira ticket information, it looks like customers do not know about the storage_path and storage_quota parameters that roHtmlWidget provides to control the IndexedDB capacity on players. Although I'm also unsure what happens if the quota is reached, I'm guessing there would be errors thrown.

@blshukla blshukla merged commit dc907f2 into main Jul 29, 2025
2 checks passed
@blshukla blshukla deleted the PE-964-indexeddb branch July 29, 2025 20:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants