Skip to content

Fetch site.webmanifest with credentials - #9491

Merged
iHiD merged 1 commit into
mainfrom
manifest-fetch-with-credentials
Sep 11, 2026
Merged

iHiD merged 1 commit into
mainfrom
manifest-fetch-with-credentials

Conversation

@iHiD

@iHiD iHiD commented Sep 11, 2026

Copy link
Copy Markdown
Member

Every page logs this in the console:

GET https://exercism.org/site.webmanifest 403 (Forbidden)
Manifest fetch from https://exercism.org/site.webmanifest failed, code 403

It is not Rails. MetaController skips authentication and just renders JSON, and
the 403 carries cf-mitigated: challenge, so Cloudflare is answering before the
app sees the request. A manifest is fetched without credentials by default, so
Cloudflare sees a cookieless request and challenges it.

Adding crossorigin="use-credentials" makes the browser send cookies with the
manifest fetch, which is the conventional fix for exactly this.

This needs confirming in production, since the challenge only happens at the edge
and cannot be reproduced locally. If it does not clear it, the alternative is a
Cloudflare rule exempting /site.webmanifest.

Cosmetic either way: the manifest only supplies PWA install metadata, so nothing
user-facing is broken today. It is just noise in every console.

🤖 Generated with Claude Code

https://claude.ai/code/session_01549BYfDEpyce9GLgGnJqpm

A manifest is fetched without cookies by default, so Cloudflare challenges the
request and it comes back 403 on every page. crossorigin="use-credentials"
sends them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01549BYfDEpyce9GLgGnJqpm
@iHiD
iHiD merged commit 66d7eb4 into main Sep 11, 2026
40 checks passed
@iHiD
iHiD deleted the manifest-fetch-with-credentials branch September 11, 2026 15:50
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