Eight things that actually happened
Not a list of questions somebody imagined a reader might ask. Every row cost somebody something.
Every row is a real recorded incident, not an invented FAQ. That is the point of printing them.
Each of these cost somebody a day, or in one case sixteen files that could not be recovered. They are printed with what the thing actually turned out to be, because a symptom without a cause sends an operator looking in the wrong place, which is what happened in most of them.
The symptom, the cause, and what to do
The cause is printed because a symptom on its own sends an operator looking in the wrong place, which is what happened in most of these.
01Media missing, failed file receipts on the dashboard, and later retries fail forever
What it is: SimpleX file relays keep files about 48 hours, so a receipt not retried in that window is unrecoverable. 16 were lost this way once
What to do: React to file-receipt alerts within two days. After that the bytes are gone from the relay
02Context window set, and the model still loads at 8,192
What it is: The transport cannot set the window per request: tested, and ignored. The host environment variable is the only lever, and Ollama must be restarted
What to do: Set it in Ollama's own environment, restart Ollama, verify the loaded size
03AI silently degrades to deterministic replies
What it is: The configured model is not installed. Once the shipped default itself was a plausible guess and was absent, which turns not configured into the model is failing
What to do: Check the catalog on the Models page. The persisted choice must name an installed model
04Upload returns 504 after about 60 s, or 413 immediately
What it is: Work inside a request outran the nginx 60 s proxy timeout, which the first real music track did within minutes. The 413 is an old vhost 1 MB body cap
What to do: Update the vhost from the repo. Do not raise the proxy timeout
05git pull on the host refuses over untracked files
What it is: A probe script copied into the checkout for a host run, left there, then pushed at the same path. Three occurrences, one blocked deploy
What to do: Host-run files go to the git-ignored tmp path and are removed after the run. git status must print nothing before a deploy
06npm audit says clean and the vulnerable code still runs
What it is: npm audit fix rewrote the lockfile and did not install, and audit reads the lockfile. npm ci can also die mid-removal over a locked file, leaving a partial tree with audit still green
What to do: Read the installed version from node_modules directly. For anything that matters, read the patched code
07A console page shows a world that no longer exists, and a correct refusal reads as a broken control
What it is: The stale-surface class, four in one day: the thing that changed the world did not tell the surfaces that describe it
What to do: Reload before concluding a control is broken. The core, not the console, is the state
08After a deploy, every passkey fails
What it is: An origin mismatch: a passkey is bound to the identity it was created under. The boot now refuses on a mismatch with an actionable error instead of a silent lockout
What to do: Keep the public origin and the WebAuthn overrides consistent, and never move the console hostname casually
Three sentences worth keeping
Each came out of one of the failures above and now decides how a whole class of them is handled.
a route that needs a raised proxy timeout is a route doing work that belongs in a job
the thing that changed the world did not tell the surfaces that describe it
was a plausible guess and was absent