Skip to content

feat: integrate BlogApp cache, fetch timeouts & a11y clear buttons (supersedes 27 PRs)#127

Merged
schmug merged 1 commit into
mainfrom
integration/ux-perf-security-batch
May 16, 2026
Merged

feat: integrate BlogApp cache, fetch timeouts & a11y clear buttons (supersedes 27 PRs)#127
schmug merged 1 commit into
mainfrom
integration/ux-perf-security-batch

Conversation

@schmug
Copy link
Copy Markdown
Owner

@schmug schmug commented May 16, 2026

What

Consolidates the three best PRs from the duplicate scheduled-agent backlog into one reviewed change, hand-resolving their overlapping edits to BlogApp.tsx.

Source Change
#115 BlogApp module-level fetch cache + 10s AbortSignal.timeout
🛡️ #122 Fetch timeouts on useProjects.ts + github.ts (redundant BlogApp hunk dropped — covered by #115's cache path)
🎨 #114 Accessible "clear" buttons on Launcher / Projects / Blog filter inputs + semantic <time> on desktop Taskbar clock

Why one PR instead of three merges

All three touched BlogApp.tsx, and #115 + #122 both added the same blog-fetch timeout — sequential merges would conflict and duplicate code. Triaged via parallel review agents; full analysis in the linked PRs.

Behavior change (accepted)

The 10s timeout on the build-time github.ts fetch makes a transiently slow api.github.com fail the build fast instead of hanging. Deliberate hardening, accepted by the maintainer.

Verification

  • format:check, lint, typecheck (0 errors)
  • ⚠️ Local npm test / npm run build could not be fully verified in the worktree sandbox (pre-existing storage.setItem vitest-env failure + no api.github.com network — both reproduce identically on pristine main, so zero regressions). CI on this PR is the authoritative gate.

Supersedes / closes

Winners folded in: #115, #122, #114
Duplicates closed: Bolt #126 #120 #119 #113 #110 #108 #104 #101 #99 · Sentinel #125 #118 #111 #109 #105 #100 #97 · Palette #124 #121 #117 #116 #112 #107 #106 #102 #98 #96

Follow-up: mobile StatusBar.tsx clock still uses <span aria-live> — tracked separately.

🤖 Generated with Claude Code

Consolidates three superseded automated PRs into one reviewed change,
resolving their overlapping edits to BlogApp.tsx by hand:

- BlogApp: module-level fetch cache + 10s AbortSignal timeout (supersedes #115)
- Fetch timeouts on useProjects.ts and github.ts (supersedes #122;
  its redundant BlogApp hunk dropped — covered by the #115 cache path)
- Accessible "clear" buttons on Launcher / Projects / Blog filter inputs
  + semantic <time> on the desktop Taskbar clock (supersedes #114)

Behavior change accepted: the 10s timeout on the build-time github.ts
fetch makes a transiently slow api.github.com fail the build fast
instead of hanging.

Supersedes and closes 24 duplicate scheduled-agent PRs across the
Bolt / Sentinel / Palette clusters.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@schmug schmug merged commit 65fb597 into main May 16, 2026
2 checks passed
@schmug schmug deleted the integration/ux-perf-security-batch branch May 16, 2026 17:05
This was referenced May 16, 2026
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.

1 participant