[object Object]

← back to Crazy News Channel Shadowman

Reset to Defaults clears FAILED_IMAGES

d583f26349ee54b2bcbb7cec50f1ba49f8b75067 · 2026-09-23 20:31:26 -0700 · Steve Abrams

Cody's re-gate on 30c5077 passed but found one real gap: a failed image is
often a transient hiccup, but resetToDefaults() never cleared FAILED_IMAGES,
so it stayed dead for the rest of the session even after "start fresh".
Reproduced (image failed -> Reset -> still in the set, image never came
back) and fixed with one FAILED_IMAGES.clear(). Verified: image reappears
after Reset. Full regression pass: fuzz 4888/0, click race 30/30, overflow
4 widths x Chrome/WebKit, hash freeze, Cody fixes 4/4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011iuURMrsPBwAqMc5LgvFLH

Files touched

Diff

commit d583f26349ee54b2bcbb7cec50f1ba49f8b75067
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Sep 23 20:31:26 2026 -0700

    Reset to Defaults clears FAILED_IMAGES
    
    Cody's re-gate on 30c5077 passed but found one real gap: a failed image is
    often a transient hiccup, but resetToDefaults() never cleared FAILED_IMAGES,
    so it stayed dead for the rest of the session even after "start fresh".
    Reproduced (image failed -> Reset -> still in the set, image never came
    back) and fixed with one FAILED_IMAGES.clear(). Verified: image reappears
    after Reset. Full regression pass: fuzz 4888/0, click race 30/30, overflow
    4 widths x Chrome/WebKit, hash freeze, Cody fixes 4/4.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_011iuURMrsPBwAqMc5LgvFLH
---
 index.html | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/index.html b/index.html
index f7e247c..85bb480 100644
--- a/index.html
+++ b/index.html
@@ -2189,6 +2189,10 @@ function resetToDefaults() {
   STORIES = stampLastUpdated(cloneStories(DEFAULT_STORIES));
   state.meltdownShown = false;
   state.justCreatedId = null;
+  // A failed image may have been a transient hiccup (dev-server restart,
+  // flaky load); Reset is the "start fresh" affordance, so give every image
+  // another chance instead of leaving it dead for the rest of the session.
+  FAILED_IMAGES.clear();
   refreshAfterStoriesChanged();
   announce("All stories reset to defaults.");
 }

← 30c5077 Keyed child morph + failed-image memory: stop cascading card  ·  back to Crazy News Channel Shadowman  ·  Category selection opens a real page (#/category/<key>), not 458b2cc →