our version of lemmy is old enough that clients like mlem are starting to break due to API drift, so I’m finally upgrading us to the latest stable version of lemmy. this will involve a bit of downtime and potentially a number of breakages; keep an eye out for anything that doesn’t look right after the upgrade and let us know!

    • froztbyte@awful.systems
      link
      fedilink
      English
      arrow-up
      11
      ·
      edit-2
      14 days ago

      an absolute clowncar of yolo development practices. here’s just a few of the notes (there’s a whole spreadsheet):

      scripts that used to be called x.sh (shebang /bin/sh) suddenly renamed x.bash in main (shebang still /bin/sh). most of them take cli args, have no safety nets (arg checks etc), and have side effects (file alterations, commits and tags generated, etc)

      there’s a RELEASES.md which afaict is/was not generated by anything ever in the repo. it’s also out of date, has been touched by 5 commits (one more if you include other branches), and is wrong

      the build and test process targets uses both a rust stable version (1.81) and nightly

      the container compose files fully switched out from the mainline postgres containers, to something called pgautoupgrade. I haven’t yet gotten to look to see what it is/does, or what magic footguns it might be. the inter-version migration testing appears to be fully reliant on this thing.

      the sum test action for migrations is “run sed over a target config, then spin it up”

      there appear to be some new config settings. they have comments about their usage. they appear to be important. I only caught them because I was looking at the 0.19.3..0.19.12 diff

      • froztbyte@awful.systems
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        14 days ago

        ah, cool. so, themes? the thing that almost every software out there makes as a lightweight pluggable?

        not lemmy, no. in lemmy you recompile your app to get 'em. (source)

        (edit: there’s a special kind of thinking that goes into writing code this manner. this is pluggable (see extra_themes_dir) but consider the thinking that goes into writing code like this. “some bits static”, with a maintenance burden and a recompile overhead. it’s just absolutely fucking dumb)

        • froztbyte@awful.systems
          link
          fedilink
          English
          arrow-up
          7
          ·
          14 days ago

          what is the decision process there

          why think at all if you can just tread water and iterate 37 times instead?

          (I don’t really know what the thinking is, can only see the outcomes. but it’s some hella mediocre no-effort shit, punching through the problem)

      • flowerysong@awful.systems
        link
        fedilink
        English
        arrow-up
        5
        ·
        13 days ago

        scripts that used to be called x.sh (shebang /bin/sh) suddenly renamed x.bash in main (shebang still /bin/sh).

        That’s just…so completely ass-backwards it boggles the mind.