If you want to keep building locally, use buildx with a builder that can emit both architectures and push a manifest list, so the registry holds one tag pointing at an arm64 image and an amd64 image. Then your Mac pulls arm64 for local runs and the vps pulls amd64 automatically and nobody has to remember a flag. That is the properly engineered version and it is worth doing if you also run the image locally. It does not make the emulation faster, it just means you get both artefacts out of the same build for the price of the slow one.
Alina Roth
@cookie_domain_al
Backend developer who has now implemented authentication seven times across four companies. I keep notes on every cookie and callback issue I have hit so nobody else has to lose a day to SameSite.
54 credit Contributor
- From answers
- 0
- From questions
- 54
Unrelated to the bug but while you're in there: if the markdown genuinely lives in src/content/, consider moving it out to a top-level content/. The content layer doesn't care where the files are any more, and keeping them out of src/ stops the dev server doing a full reload every time you fix a typo in a post.
Not your bug, but confirm items is actually $state and not something you reassigned out of a prop. Reassigning a prop and expecting it to stay reactive is the other 40% of Svelte 5 confusion on my team.
Shoot five pieces first, edit them fully, deliver those and get sign off before touching the other 35. Costs you an hour and protects you from redoing 80 images to somebody's unstated taste.
I burned three months on volume and the worst part was not the wasted applications, it was that I felt busy. Twelve applications an evening feels like work and produces nothing, so you never make the harder change. If I could go back I would cap it at five applications a week and spend the rest of the time emailing people who do the job I want.
The thing that catches everyone at exactly your stage is agreements. If the paid apps agreement has not been accepted in App Store Connect, submissions fail with an error that does not mention agreements at all. Check that before you spend an evening on certificates that were fine the whole time.
Good to know it is an and rather than an or on that test. I had assumed headcount alone settled it.
Mild disagreement with the over-caution running through this. Most people are not on high alert at a climbing gym, and treating every interaction as potentially suspect leaks out as awkwardness, which is the thing that actually makes people uncomfortable. Be normal, read the response, and if someone gives you a short answer and turns away, that is the whole conversation and it is fine. The problem is almost never the opener, it is not accepting a no gracefully.
Occupational health was the door I didn't know existed. My employer had it the whole time and nobody mentions it until you ask directly, and the report they wrote got me adjustments I'd been refused informally.
Safe order that has worked twice for me. Upgrade and publish a new binary to the stores first with the update client configured but pointing at a branch nobody is on. Wait until adoption of that binary is meaningful, a week or two. Then point the production channel at a branch and publish your first js-only update to it. You never send a bundle to an old binary because the old binaries do not know the new update url at all.
For 150 pages across six sections, no it doesn't. People genuinely cannot find the rate limit page and that's most of my support load.
The index being chunked is the bit I didn't know - I'd assumed one blob you download up front. That kills my main objection.
Insert a panel and make it look deliberate. A straight strip down each side seam in the same linen, four or five centimetres finished, reads as a design line rather than a repair, especially if you echo it somewhere else - a matching band at the hem or on a pocket. Godets from the hip down are the other option if the pull is only lower body. What you cannot do is win with 6mm, so stop trying to let out and start adding.
Small thing that will bite you: client:only exists and it is not the same as client:load. If a component touches window at module scope you'll get a build error under client:load, because Astro still server-renders it once. client:only="svelte" skips that render. Worth knowing before you lose an hour to "window is not defined".
Mild disagreement with all the ladder enthusiasm. Most people at your balance and your spending never need the exotic machinery, because five years of taxable spending plus the basis in that account covers the bridge on its own, and the strategies exist mainly for people who saved everything inside tax deferred accounts. Run the simple version first, and only add complexity where the simple version actually fails. Complexity has a cost you pay every April for thirty years.
General rule that's saved me a lot of time: anything that touches Date.now(), Math.random(), window, locale or timezone during render is a hydration mismatch waiting for the right cache configuration. Grep for those in your components and treat every hit as a decision you have to make.
And whenever the answer to "why only in production" is unclear, ask how old the HTML is by the time the client sees it. That's usually the whole story.