PM 32.3.1 was used, with caches wiped and no particular profile/settings changed from the defaults.
Unfortunately the browser console isn't particularly useful, with only these errors:
Code: Select all
Content Security Policy: Ignoring “'unsafe-inline'” within script-src: ‘strict-dynamic’ specified (unknown)
Content Security Policy: Ignoring “https:” within script-src: ‘strict-dynamic’ specified (unknown)
Content Security Policy: Ignoring “http:” within script-src: ‘strict-dynamic’ specified (unknown)
I checked it the following as well with the same results:
- dev build (ie no minification/treeshaking/etc)
- local server (both dev and prod builds)
Maybe I'm missing some debug flag on Pale Moon to see what is going on, so feel free to peek here: https://canary.mangadex.dev
A couple more details:
I do see one extra (harmless on our end) warning within our code as discrepancy between current prod and dev:
- on dev, there is a warning about a feature flag being used but lacking a value
- on prod, it is all ok
But this isn't what breaks the rendering (that code hasn't changed, and I tested disabling its usage locally and it still failed the rendering).
And indeed, most pages are broken in a more interesting (or at least clearer) way than the homepage, with a cryptic "e is not defined" error.
Adding some debugging logs on our end, I can get the following to be spat out:
Code: Select all
Failed list fetch TypeError: res is undefined
Stack trace:
assertSuccess@http://localhost:3000/_nuxt/src/apiHelpers.ts:13:1
searchGeneric@http://localhost:3000/_nuxt/src/api/generic.ts:7:10
It is invoked with the following:
Code: Select all
context.request = "https://api.mangadex.org/group?limit=32&offset=0"
context.options = Object { params: undefined, headers: undefined, query: undefined, method: "GET" }
Code: Select all
context = Object { request: "https://api.mangadex.org/group?limi…", options: Object, response: Response, error: undefined }
context.response = Response { type: "cors", url: "https://api.mangadex.org/group?limi…", redirected: false, status: 200, ok: true, statusText: "OK", headers: Headers, bodyUsed: false }
Code: Select all
const hasBody = context.response.body && !nullBodyResponses.has(context.response.status) && context.options.method !== "HEAD";
Rather puzzling to me. Maybe I'm just misusing the PM debugger somehow, but this essentially prevents any response from being consumed since it's acting like they're all 204s as a result.
Can't dig much more on my own from here on out.