Skip to content

πŸ›‘οΈ Sentinel: [MEDIUM] Add timeouts to fetch requests#122

Closed
schmug wants to merge 1 commit into
mainfrom
sentinel/fetch-timeouts-9535547210679571138
Closed

πŸ›‘οΈ Sentinel: [MEDIUM] Add timeouts to fetch requests#122
schmug wants to merge 1 commit into
mainfrom
sentinel/fetch-timeouts-9535547210679571138

Conversation

@schmug
Copy link
Copy Markdown
Owner

@schmug schmug commented May 15, 2026

🚨 Severity: MEDIUM
πŸ’‘ Vulnerability: Missing timeout configurations on fetch calls across the application (both server-side and client-side).
🎯 Impact: Without explicit timeouts, fetch calls can hang indefinitely if the server or network is unresponsive. This can lead to resource exhaustion and potential Denial of Service (DoS), especially in server-rendered environments or during static builds.
πŸ”§ Fix: Added signal: AbortSignal.timeout(10000) to the fetch calls in src/lib/github.ts, src/components/os/apps/BlogApp.tsx, and src/hooks/useProjects.ts. Added security comments.
βœ… Verification: Verified by running lint, tests, typecheck, and build.


PR created automatically by Jules for task 9535547210679571138 started by @schmug

Co-authored-by: schmug <38227427+schmug@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown
Contributor

πŸ‘‹ Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a πŸ‘€ emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

schmug added a commit that referenced this pull request May 16, 2026
…#127)

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
Copy link
Copy Markdown
Owner Author

schmug commented May 16, 2026

Folded into #127 (merged to main). useProjects.ts + github.ts timeouts integrated there; redundant BlogApp hunk dropped (covered by #115's cache path). Thanks!

@schmug schmug closed this May 16, 2026
@google-labs-jules
Copy link
Copy Markdown
Contributor

Folded into #127 (merged to main). useProjects.ts + github.ts timeouts integrated there; redundant BlogApp hunk dropped (covered by #115's cache path). Thanks!

Understood. Acknowledging that this work is now obsolete as it has been folded into #127. Stopping work on this task.

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