Troubleshooting
Cards stay empty or show the title only
Section titled “Cards stay empty or show the title only”The wall loads pictures as WebGL textures, so every image needs CORS. A picture without
Access-Control-Allow-Origin: * (or the requesting origin) cannot be used as a texture, and its card falls back to the title.
- Open the browser console and the network panel. Look for a blocked image request.
- Make the image host send
Access-Control-Allow-Origin. - List the host in
media.hostsof the manifest. The validator then checks it.
Videos need the same header.
The headset shows broken pictures that work on desktop
Section titled “The headset shows broken pictures that work on desktop”A headset that browsed your site before the CDN sent CORS headers can hold those images in its HTTP cache, without the
header, and reuse that entry for the wall’s request. The wall asks for each picture with an xr query parameter (?xr=1,
and a unique value on a retry) so that it misses such an entry. Two things can still go wrong:
- your CDN ignores the query string and serves the old object. Make it pass the query to the cache key;
- the image URL has a signature that the extra parameter breaks. Send the sizes you want in
image,image_focusandimage_fullof the feed, and sign them in a way that allows an added parameter.
/.well-known/wall.json returns 404 or 403
Section titled “/.well-known/wall.json returns 404 or 403”Many nginx configurations deny dotfiles. Allow /.well-known/. The WordPress page
has an example.
The manifest loads, but the wall is not built
Section titled “The manifest loads, but the wall is not built”"policy": "deny"stops the wall on purpose.versionmust be the integer1.feedsneeds at least one feed.- Run
diazoma-spec validate https://your-siteand read the failing check.
Search does nothing
Section titled “Search does nothing”Search needs a feed with "type": "search" and {query} in its URL. The query is URL-encoded.
Paging stops after one page
Section titled “Paging stops after one page”The feed must return next in its response. A missing or empty next ends the feed. See Feeds.
An action says “Sign in on the site”
Section titled “An action says “Sign in on the site””The call returned 401, 403 or 419. If you use cookie sessions, declare auth.csrf in the manifest and make sure the wall’s
page is on the same origin as the manifest. See Actions and login.
The view is ignored
Section titled “The view is ignored”The wall clamps values outside the limits and writes a [diazoma] view: warning to the console.
Check the console. Colours must be hex.
My own question
Section titled “My own question”See the FAQ.