Skip to content

Fix auto-play not retrying streams on failure#160

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/fix-auto-play-bugs
Draft

Fix auto-play not retrying streams on failure#160
Copilot wants to merge 3 commits intomainfrom
copilot/fix-auto-play-bugs

Conversation

Copy link
Copy Markdown

Copilot AI commented Apr 20, 2026

Two separate failure modes prevented auto-play from retrying streams: external lastStreamTarget failures gave up immediately, and URL stream errors in the player navigated back with autoPlay='0', breaking the retry chain entirely.

Changes

useAutoPlay.ts

  • Moved candidates + tryNextStream definitions before the lastStreamTarget block so the fallback path is reachable
  • lastStreamTarget external open failure now calls tryNextStream() instead of setAutoPlayFailed(true)
  • New autoPlayAttempt?: string param (stream index carried across navigations): skips lastStreamTarget when in retry mode, initialises the attempt counter from it, and fast-fails when >= MAX_AUTO_PLAY_ATTEMPTS
  • Passes autoPlayAttempt: streamIdx through openStreamFromStream so play.tsx knows which index it's currently at

useMediaNavigation.ts

  • autoPlayAttempt?: number added to OpenStreamTargetArgs / OpenStreamFromStreamArgs; threaded to play.tsx URL params only when fromAutoPlay is set

play.tsx

  • handleError during fromAutoPlay now returns to streams with autoPlay='1' and autoPlayAttempt = currentIndex + 1, triggering the next candidate rather than showing a dead stream list

streams.tsx

  • Reads autoPlayAttempt URL param and forwards it to useAutoPlay

Retry flow

streams (autoPlay=1, autoPlayAttempt=undefined)
  → play.tsx [stream 0 fails]
  → streams (autoPlay=1, autoPlayAttempt=0)   ← skips lastStreamTarget
  → play.tsx [stream 1 fails]
  → streams (autoPlay=1, autoPlayAttempt=1)
  → play.tsx [stream 2 fails]
  → streams (autoPlay=1, autoPlayAttempt=2)   ← autoPlayAttempt >= MAX → show stream list
Original prompt

Start implementation

The user has attached the following file paths as relevant context:

  • .github/copilot-instructions.md
  • AGENTS.md
[Chronological Review: The conversation began with the user reporting two bugs related to the auto-play functionality in the DodoStream application. The user provided detailed steps to reproduce each bug, including expected and actual behaviors. The user then requested to start the implementation of fixes for these bugs.]

[Intent Mapping:

  1. User reported Bug [Bug]: Auto play not working #116: "Auto play not working" with specific reproduction steps and expected vs. actual behavior.
  2. User reported a second bug regarding auto-play not retrying when a player error occurs, again providing reproduction steps and expected vs. actual behavior.
  3. User requested to "Start implementation" of the fixes for the reported bugs.]

[Technical Inventory:

  • Application: DodoStream
  • Version: 0.5.0
  • Bugs related to auto-play functionality on all platforms.]

[Code Archaeology: No specific files or code changes have been discussed yet, as the conversation is focused on bug reporting and the initiation of implementation.]

[Progress Assessment: The user has reported two bugs and requested to start the implementation. No implementation work has been completed yet.]

[Context Validation: All necessary context for continuing work on the bugs has been captured, including reproduction steps and expected behaviors.]

[Recent Commands Analysis:

  • Last Agent Commands: User requested to "Start implementation" after detailing the bugs.
  • Tool Results Summary: No tool results were generated as the conversation was focused on bug reporting and implementation initiation.
  • Pre-Summary State: The agent was preparing to start the implementation of the reported bugs when the token budget was exceeded.
  • Operation Context: The commands executed were directly related to the user's goal of fixing the auto-play functionality in the DodoStream application.]
1. Conversation Overview: - Primary Objectives: The user reported two bugs related to auto-play functionality: 1. "Auto play not working #116" with reproduction steps and expected vs. actual behavior. 2. "Auto play not retrying when player error occurred" with similar details. - Session Context: The conversation focused on identifying and detailing bugs before moving to the implementation phase. - User Intent Evolution: The user transitioned from reporting bugs to requesting the initiation of their fixes.
  1. Technical Foundation:
  • Application: DodoStream
  • Version: 0.5.0
  • Bug Context: Issues with auto-play functionality across all platforms.
  1. Codebase Status:
  • No specific files or code changes have been discussed yet, as the focus has been on bug reporting.
  1. Problem Resolution:
  • Issues Encountered: Two bugs related to auto-play functionality.
  • Solutions Implemented: None yet, as the implementation phase has just been requested.
  • Debugging Context: The user has provided detailed reproduction steps for both bugs.
  1. Progress Tracking:
  • Completed Tasks: Bug reporting has been completed.
  • Partially Complete Work: Implementation of fixes for the reported bugs is pending.
  • Validated Outcomes: No outcomes have been validated yet as implementation has not started.
  1. Active Work State:
  • Current Focus: The user is focused on starting the implementation of fixes for the reported bugs.
  • Recent Context: The last exchanges involved detailing the bugs and requesting to start implementation.
  • Working Code: No specific code snippets have been discussed yet.
  • Immediate Context: The user was preparing to start the implementation of the bugs when the summary was triggered.
  1. Recent Operations:
  • Last Agent Commands: User requested to "Start implementation."
  • Tool Results Summary: No tool results were generated as the conversation was focused on bug reporting and implementation initiation.
  • Pre-Summary State: The agent was preparing to start the implementation of the reported bugs.
  • Operation Context: The commands executed were directly related to the user's goal of fixing the auto-play functionality in the DodoStream application.
  1. Continuation Plan:
  • [Pending Task 1]: Implement fixes for Bug [Bug]: Auto play not working #116: "Auto play not working."
  • [Pending Task 2]: Implement fixes for the second bug regarding auto-play not retrying on player error.
  • [Priority Information]: Both bugs are critical to the user experience and should be addressed promptly.
  • [Next Action]: Begin coding the fixes for the reported bugs as per the user's request to "Start implementation."

Created from VS Code.

Copilot AI and others added 2 commits April 20, 2026 20:44
Agent-Logs-Url: https://github.com/DodoraApp/DodoStream/sessions/29095bec-fd71-4278-85cc-ab7e539cfa94

Co-authored-by: Kombustor <4238281+Kombustor@users.noreply.github.com>
Agent-Logs-Url: https://github.com/DodoraApp/DodoStream/sessions/29095bec-fd71-4278-85cc-ab7e539cfa94

Co-authored-by: Kombustor <4238281+Kombustor@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix auto play functionality issues in DodoStream Fix auto-play not retrying streams on failure Apr 20, 2026
Copilot AI requested a review from Kombustor April 20, 2026 20:58
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.

2 participants