this post was submitted on 14 Jan 2024
11 points (100.0% liked)
important instance shit
149 readers
5 users here now
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Lemmy-ui immutable static files have a cache busting hash in their path:
On awful.systems, I see you have replaced this hash with an
undefined
:By the way, clean upgrades are completely possible if you know what you're doing. I frequently roll out new upgrades on lemm.ee without any downtime (so some servers running 0.19.1, some running 0.19.2 for example).
oh do tell
https://join-lemmy.org/docs/administration/horizontal_scaling.html#rolling-upgrades
no thx but while we’re here
the reason why the cache busting broke is because I’m building for an immutable environment (NixOS sans docker) and my builds don’t have
.git
cause it’s a source of mutability. lemmy’s cache busting utterly breaks without git but it still incorrectly marks the files as immutable, breaking a ton of users. utterly broken behavior.but the very funny part is the cache behavior isn’t even the bug that’s breaking everything right now. that’s this bug: https://github.com/LemmyNet/lemmy-ui/issues/2325 which you didn’t mention as a factor while you were trying your best to sound smart
also, have you ever gotten banned from an instance for being a shithead reply guy before? I’m betting this ain’t the first time
also motherfucker, those versions are compatible! no shit there’s no downtime for a hotfix upgrade. we got into this mess upgrading from 0.18.4 to 0.19.2 cause nobody seemed to think the upgrade process through in any detail
for anyone interested, the hack that NixOS uses to fix the asset path is here. the config we’re running predates that, and we may not be able to use that hack with a flakeified
lemmy-ui
(which is what makes it a hack — usingsrc.rev
like that is brittle and feels like it breaks Nix’s abstractions. maybe using git hashes like this is actually a bad fucking idea, huh? and the real fucked up part is, the UI knows its version so they could use that, but they woke up and chose jank)