If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
### 💡 Codex Review
Here are some automated review suggestions for this pull request.
**Reviewed commit:** `efeacb79f8`
<details> <summary>ℹ️ About Codex in GitHub</summary>
<br/>
[Your team has set up Codex to review pull requests in this repo](http://chatgpt.com/codex/settings/general). Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
</details>
ensureSdMounted() latches the first attempt result and never retries once sd_mount_attempted_ is true. If the first mount occurs while no card is inserted (or mount transiently fails), later PLAY attempts continue to fail permanently even after inserting a card, because the code always returns the cached false value until reboot.
Useful? React with 👍 / 👎.
**<sub><sub></sub></sub> Allow SD mount retry after initial failure**
`ensureSdMounted()` latches the first attempt result and never retries once `sd_mount_attempted_` is true. If the first mount occurs while no card is inserted (or mount transiently fails), later `PLAY` attempts continue to fail permanently even after inserting a card, because the code always returns the cached false value until reboot.
Useful? React with 👍 / 👎.
STORY_REFRESH_SD currently just returns g_audio.isSdReady() and never triggers any mount/refresh logic. Since sd_ready_ stays false until playFile() calls ensureSdMounted(), this command reports failure on a normal boot even when a valid SD card is present, so clients cannot actually use it to refresh/check media availability before playback.
Useful? React with 👍 / 👎.
**<sub><sub></sub></sub> Mount SD before replying to STORY_REFRESH_SD**
`STORY_REFRESH_SD` currently just returns `g_audio.isSdReady()` and never triggers any mount/refresh logic. Since `sd_ready_` stays false until `playFile()` calls `ensureSdMounted()`, this command reports failure on a normal boot even when a valid SD card is present, so clients cannot actually use it to refresh/check media availability before playback.
Useful? React with 👍 / 👎.
Pull request closed
Please reopen this pull request to perform a merge.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit:
efeacb79f8ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
@@ -148,3 +193,2 @@ensureDialToneWav();}stopPlaybackFile();startTask();ensureSdMounted()latches the first attempt result and never retries oncesd_mount_attempted_is true. If the first mount occurs while no card is inserted (or mount transiently fails), laterPLAYattempts continue to fail permanently even after inserting a card, because the code always returns the cached false value until reboot.Useful? React with 👍 / 👎.
STORY_REFRESH_SDcurrently just returnsg_audio.isSdReady()and never triggers any mount/refresh logic. Sincesd_ready_stays false untilplayFile()callsensureSdMounted(), this command reports failure on a normal boot even when a valid SD card is present, so clients cannot actually use it to refresh/check media availability before playback.Useful? React with 👍 / 👎.
Pull request closed