Ask

"failed to find server action" errors for 20 minutes after every deploy

Nothing is wrong with your code. Action IDs are hashes generated at build time and the server only knows the IDs from the build it is running. An old tab holds a bundle from build A and posts an ID that build B has never heard of, so the lookup fails. It stops after 20 minutes because that is how long it takes everyone to reload something.

Three things help, in order of effort:

  • Deployment skew protection, if your platform has it: requests carrying the old build's id get routed to the old deployment, which is still running. This makes the problem disappear rather than get handled.
  • A version check. Serve the build id on every response (or poll a tiny /version route every 60s), compare to the one the page was served with, and show a "new version available: reload" bar. Cheap and it fixes the stale-JS-chunk 404s too.
  • Stop deploying at 15:00 on a workday. Only half a joke.

What you cannot do is catch it and retry, because the client genuinely does not have code for the new action.

140 · in/server-actions ·

pgvector p95 went from 40ms to 3.1s after we crossed 800k rows on ivfflat

Before you rebuild anything, run EXPLAIN ANALYZE and confirm the index is being used at all. If your query filters by tenant alongside the vector ordering, the planner may decide a sequential scan is cheaper, or use the vector index and then throw most of the results away at the filter, leaving you with three rows out of a requested ten. Both look like "vector search got slow" from the application.

62 · in/rag-that-works ·

New build only shows 16GB of my 32GB kit after every cold boot

Turn EXPO off and run at plain JEDEC 4800 for two days. If 32GB shows up every single boot at stock, the sticks and slots are fine and what you actually have is failed memory training, where the board gives up and drops a channel instead of retrying.

Then go find a setting called Memory Context Restore, usually buried in the AMD overclocking submenu, and turn it OFF. It caches the training result to speed up boot, and on early B650 boards a bad cached result gets reused on every cold start, which is exactly the on-again-off-again pattern you're describing.

294 · in/pc-builds ·

CPU hits 95C in a stress test but idles at 34C with a new air cooler

Nothing is wrong. A 13700K under an all-core load will run to its thermal limit and then hold there by dropping clocks, and that limit is 100C. Hitting 95 and parking is the design working, not the cooler failing.

The number that tells you whether your mount is good is not the peak temperature, it's the sustained power. Watch package power in HWiNFO during the render. A good air cooler in a decent case will hold something like 200-230W at 95C. If you're pinned at 95C while only pulling 130W, then yes, something is wrong with the contact.

The idle of 34C already suggests the mount is fine, by the way. A badly seated cooler usually shows up as a high idle too.

421 · in/pc-builds ·

Extra $150 into the GPU or into 32GB and a faster SSD for 1440p

GPU, and it isn't close for your use case. At 1440p the graphics card sets your frame rate almost entirely, and one tier up is usually 20-30% more performance. Going from a mid NVMe to a top one changes level load times by a second or two and changes frame rate by roughly zero.

16GB is genuinely enough for gaming and photo editing today. If you find yourself short in two years, a second 16GB stick is a ten minute job and the price will have come down.

202 · in/pc-builds ·