Skip to content

Add option for looping or infinite feed playback #44

Description

@shbernal

Feature request

Add an option for Erin to keep the feed going after the viewer reaches the end of the current video list.

Current behavior

Erin currently builds a finite video list on load:

  • src/App.js shuffles the discovered files once with _shuffleArray(_videoFiles)
  • VideoFeed renders a small buffer and recycles DOM nodes for performance
  • autoplay advances by scrolling forward from handleVideoFinish()

That DOM recycling makes the feed efficient, but the backing videos array is still finite. Once all videos in the shuffled feed have been watched, Erin does not reshuffle/restart/append the watched videos to continue playback.

Proposed behavior

Expose a deployment-level env option, for example:

LOOP_FEED_ENABLED=true

or:

INFINITE_FEED_ENABLED=true

Suggested default: false, so existing deployments keep the current end-of-feed behavior.

When enabled, reaching the end of the current feed could continue by either:

  • reshuffling the same visible video set and appending it as the next cycle, or
  • restarting the same order from the beginning

I think reshuffling each cycle fits Erin's current default behavior best, but either behavior would be useful if documented.

Use case

For kiosk-style or passive viewing deployments, the feed should be able to keep playing indefinitely. After all clips have been shown once, previously watched clips should come back instead of the feed stopping at the end.

This would pair well with AUTOPLAY_ENABLED=true, where Erin can already advance through the feed without user input.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions