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
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    1 month 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

    • smiletolerantly
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      1 month ago

      LMAO, what the fuck. None of those make sense, what is the decision process there?

      Edit: thanks for sharing btw :D

      • froztbyte
        link
        fedilink
        English
        arrow-up
        7
        ·
        1 month 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)

    • froztbyte
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      1 month 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)

    • flowerysong
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 month 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.