Update The upgrade was done, DB migrations took around 5 minutes. We’ll keep an eye out for (new) issues but for now it seems to be OK.

Original message We will upgrade lemmy.world to 0.18.3 today at 20:00 UTC+2 (Check what this isn in your timezone). Expect the site to be down for a few minutes. ““Edit”” I was warned it could be more than a few minutes. The database update might even take 30 minutes or longer.

Release notes for 0.18.3 can be found here: https://github.com/LemmyNet/lemmy/blob/main/RELEASES.md

(This is unrelated to the downtimes we experienced lately, those are caused by attacks that we’re still looking into mitigating. Sorry for those)

  • Ulu-Mulu-no-die
    link
    English
    1631 year ago

    Sorry for those

    It’s not your fault :) We know you admins are working really hard to keep the server as stable as possible.

  • zkfcfbzr
    link
    English
    851 year ago
    • Add controversial ranking
    • Change logic for determining comment default language
    • Add infinite scroll user option

    Neat. I hope the comment language logic change means the default won’t be “Undetermined” anymore.

  • GONADS125
    link
    English
    80
    edit-2
    1 year ago

    I’m sure the attacks are just as annoying for you guys as they are to us, if not more. Appreciate the update.

    Edit: Loving the endless scroll for the front page! I’ve been eagerly awaiting that. Such a small change, but such a big impact.

    • RuudOPMA
      link
      English
      291 year ago

      Thanks, added to the post

    • RuudOPMA
      link
      English
      331 year ago

      Thanks, will put this in the post

      • @[email protected]
        link
        fedilink
        English
        221 year ago

        Fwiw, it can be helpful to call out the date for such changes. Preferably in YYYY-MM-DD (ISO 8601).

        While it’s helpful to link to an off-site timezone converter tool (thanks for that, btw), “today” can be a different date, depending on where in the world you are. For example, Japan, Australia, and New Zealand.

        • RuudOPMA
          link
          English
          151 year ago

          Good point

          • @TheBananaKing
            link
            English
            111 year ago

            Even better is “when this post is N hours old” :)

            • @[email protected]
              link
              fedilink
              English
              31 year ago

              As someone who has had to grind through heaps of logs over the years, from systems in various timezones, from products that disagreed on the ‘best’ datetime format, I’ve become a fan of adopting ISO 8601 as much as possible. For personal systems such as a laptop, that’s a different story. But if I’m spinning up an EC2 instance in us-west-2 or a VM in Central Europe, I avoid the whole “err, what TZ is this in, or should even be in?” decision-making process and just run with WHO CARES IT’S SET TO UTC NOW LET’S MOVE ON ALREADY 😀

              And not that anyone here is likely to care, but here’s a quick shout out to lnav - The Logfile Navigator for grinding on system logs (for systems where something like Prometheus or whatever hasn’t been proactively set up).

  • @UnaSolaEstrellaLibre
    link
    English
    461 year ago

    Really liking the transparency with the community over how the server is doing.

    Great work.

  • @cerberus
    link
    English
    461 year ago

    Great! Thanks for keeping things up to date and running!

  • @[email protected]
    link
    fedilink
    English
    451 year ago

    Minor suggestion: write your time zones like UTC+2 and not CEST. I’m pretty sure most people outside Europe don’t know what the time zone CEST is. Yes, you provided a link that helpfully converts the time to the users’ local time zone, but sometimes it’s nicer to be able to know something without having to click into a link.

    • RuudOPMA
      link
      English
      401 year ago

      OK, updating the post

      • @[email protected]
        link
        fedilink
        English
        271 year ago

        Wow, you actually changed it! I was kind of shocked when I came back to my feed seeing UTC+2 in the title. Thanks! :D

        • RuudOPMA
          link
          English
          351 year ago

          Yep, I like good tips like these. :-) Thanks

          • @ydieb
            link
            English
            41 year ago

            Super nitpick. Can we just use 1800 utc? Then everyone can convert to their zone directly. *signed me in a CEST zone.

            • @tburkhol
              link
              English
              31 year ago

              I keep one of my spare clocks set to UTC for exactly this.

            • 💡dim
              link
              English
              11 year ago

              yeh, the actual utc time is much more straightforward than +2

    • Bappity
      link
      English
      111 year ago

      it would be nice if Lemmy had support for formatting Unix timestamps in whatever timezone whoever is looking at it is in, like discord

  • AlmightySnoo 🐢🇮🇱🇺🇦
    link
    English
    301 year ago

    This version brings major optimizations to the database queries, which significantly reduces CPU usage. There is also a change to the way federation activities are stored, which reduces database size by around 80%.

    Is it me or is the 80% figure just insane? Are there any benchmarks to see how fast this has become versus say Lemmy 0.18.2 on a very large instance?

    • @miket
      link
      English
      33
      edit-2
      1 year ago

      Is it me or is the 80% figure just insane?

      Not really, you’d be surprised how often systems are bloated all because of a single option, character, etc. Most developers don’t start optimizing until much later in the software’s lifecycle. Often enough, it is easily overlooked. That’s why code reviews are needed often with fresh pair of eyes.

      Just to set the expectations, reducing database size or CPU usage does not necessarily mean it is faster but it does mean there’s more free capacity on the servers to handle more users at the same performance.

      More importantly; they may help reduce costs on the smaller indie instances that doesn’t need to buy larger server instances.

      Hopefully, we’ll continue to see more of these optimizations.

      • AlmightySnoo 🐢🇮🇱🇺🇦
        link
        English
        21 year ago

        I believe if the backend doesn’t have to write as much data then you’ll have less I/O operations so it should IMO have an impact on the overall speed of Lemmy (unless all of those operations are done asynchronously). Same for the reduced CPU usage, it could allow for more stuff in parallel.

        • @miket
          link
          English
          4
          edit-2
          1 year ago

          Speed/pref and capacity are two separate things. I/O has nothing to do with the size of the database. You can write 100TB per second into the database and choose to only store 1TB of content. That does not mean the app is writing 1TB per second, it is still writing 100TBps.

          They said they changed how the activities data is stored, which reduced the size by 80%; here’s one of the changes they made: https://github.com/LemmyNet/lemmy/issues/3103

          As you can see, the issue here is that they were storing a lot of data in the activities table that is not needed, it was only meant for debug purposes. So, they split up the data into two and not store the other data as it isn’t needed; they’re still writing these data the same as before. One part is used to ensure they don’t re-process the same data but this is the same thing they were doing before this change.

          In addition, they’ve limited how long the data is retained for 3 months, which is a separate job they run to remove data.

          All of this has zero impact on the users using the app right now. The main benefit is for instance admins with limited storage. One might say the system slows down if there’s not enough space but that is still the same case here with this MR, it will still slow down.

          • @2014MU69
            link
            11 year ago

            Wait does that mean posts older than 3 months gets automatically deleted? Isn’t that kinda bad? Being able to find years old posts is an important part of Reddit and pretty much all social media.

            • @miket
              link
              English
              21 year ago

              Nobody said anything about posts. Activities could mean extra metadata like “someone joined”, “someone changed”, posted, edited, etc.

              Most of the time, these isn’t required after a short while.

    • @miket
      link
      English
      161 year ago

      Funnily enough, this is the feature that can speed up the performance by doing less calls:

      The federation code now includes a check for dead instances which is used when sending activities. This helps to reduce the amount of outgoing POST requests, and also reduce server load.

  • @Cold_Brew_Enema
    link
    261 year ago

    How do you turn on endless scrolling? I’m still seeing page numbers

    • @SportingChap
      link
      English
      151 year ago

      Number 1 thing I miss from reddit w/ RES. 😫

      • Dr. Dabbles
        link
        English
        21
        edit-2
        1 year ago

        Infinite scroll and word filtering. If I see one more post about “AI”, Musk, Twitter, or fake superconductors, I might have to get off the computer for 10 whole minutes.

        • @kazerniel
          link
          English
          71 year ago

          I want to be able to ban/hide entire servers. Regularly seeing lemmynsfw celebrity communities pop up in All/Hot :| (I have nsfw disabled, so it’s just generic photos of random women.)

          Also an option would be nice to hide downvoted posts, I had that on in RES.

          • @Blamemeta
            link
            English
            41 year ago

            Block the user “madness”, its literally one guy posting that shit.

            • @acosmichippo
              link
              English
              11 year ago

              maybe now, but if Lemmy grows that will be a good feature to have.

          • Dr. Dabbles
            link
            English
            31 year ago

            Ah, I hid celebrities, 196, and a bunch of other communities so I wouldn’t have to scroll through it. But certainly I see where ignoring an entire federated host would be helpful.

            • @kazerniel
              link
              English
              11 year ago

              Thanks, but I’m a PC only user.

              • Coelacanth
                link
                fedilink
                21 year ago

                Keep an eye on [email protected] which is being developed as a Desktop-first Lemmy client. Someone already requested instance-blocking there. Not sure about word filters but why not ask?

          • @Odo
            link
            English
            1
            edit-2
            1 year ago

            Scroll down to the bottom of your user settings and untick the box next to “Show Read Posts”. Any posts you’ve voted on, up or down, will stop showing up.

            • @acosmichippo
              link
              English
              21 year ago

              I don’t want to hide everything I’ve voted on.

        • @Contravariant
          link
          31 year ago

          Word filtering is fairly easy to do if you know your way around uBlock filters.

            • @Contravariant
              link
              2
              edit-2
              1 year ago

              Fair. It’s not too hard, but most lemmy UIs make it a bit harder than it needs to be because they want to be a fancy JavaScript-ridden mess of html tags.

              On old.lemmy.world it is supremely easy, you just use the element picker tool of uBlock to select all posts, add the ‘magic’ command :contains(reddit) to filter out the word you don’t want (in this case reddit), and you’ve got your filter. This would result in old.lemmy.world##.post:contains(reddit).

              On lemmy.world it is trickier because it is the kind of HTML no sane person would write. Doing the above you end up with lemmy.world##div.mt-2.post-listing:contains(reddit) which is messy, and misses a line that is used to divide the posts. With some manual tuning you can first simplify the first part to ##.post-listing:contains(reddit) and then add :xpath(.|following::hr[1]) to get rid of the annoying line. This results in ##.post-listing:contains(reddit):xpath(.|following::hr[1]).

              • @Blamemeta
                link
                English
                -11 year ago

                Oh is it literally just css selectors, but with a slightly different syntax? Fuck me, I never looked into it and assumed it was nonsense.

                • @Contravariant
                  link
                  21 year ago

                  The extra syntax is just to add some features that aren’t in CSS. Not quite sure where this came from, I think it’s from the Adblock Plus era, but Gorhill perfected it for uBlock origin, which makes it a very powerful tool.

                  It’s not limited to just hiding the elements either, if you want you can simply restyle them (I’ve used this to redact sports results until I hovered over them).

      • @dot20
        link
        31 year ago

        It seems to be autoloading new comments, like in this thread that is long.

        Is there a way to turn this off? I don’t like infinite scroll

    • Ab_intra
      link
      English
      41 year ago

      Strange it worked out of the box for me.

    • @Corvid
      link
      English
      3
      edit-2
      1 year ago

      It’s a bit confusing. The backend added support for infinite scrolling, but lemmy-ui(the front end) hasn’t landed that change yet.

  • @Scotty_Trees
    link
    261 year ago

    Looks like the upgrade is done and was a quick and easy success, thank you Devs!

  • ren (a they/them)
    link
    English
    24
    edit-2
    1 year ago

    Thank you for the heads up!!

    2pm EST for us silly Freedum Unit folks.

      • ren (a they/them)
        link
        English
        101 year ago

        oh yeah, forgot about that. Could’ve just put ET.

        • RuudOPMA
          link
          English
          351 year ago

          Phone Home

          • ren (a they/them)
            link
            English
            41 year ago

            Lol. Word is the update gives a boost to smaller communities. Looking forward to this!

  • @bamboobam
    link
    241 year ago

    Smooth! Curious about the new DB size

    • RuudOPMA
      link
      English
      551 year ago

      Down from 12GB to 1.8GB…

      • @sv1sjp
        link
        English
        181 year ago

        Wow, thats awesome for the backups and scalability!!

    • RuudOPMA
      link
      221 year ago

      Me too. Creating a db dump now…

  • @[email protected]
    link
    fedilink
    181 year ago

    Why are these announcements the only place I am finding out the Lemmy has an update? I figured there would be more top level discussions about it on Lemmy. Maybe I am just not following the correct communities.

  • Nix
    link
    151 year ago

    Awesome! It’s great to see thing become snappier and better since I joined Lemmy.

    Reddit would almost never update unless it was a pants on fire situation or they would force feed features that no one wanted or even was tested properly.

    A big thank you to everyone involved, FROM those taking the time to submit bug descriptions in a reproducible manner and those making feature requests or those simply upvoting and pointing out the most needed patch/updates TO simultaneously amateur, newly minted coders and veteran developpers pushing small and big patches to fix anything from typos, reformatting old code, cleaning almost unnoticeable UI object, transition less performing backend modules or secure/harden of all these moving parts.

    I am glad to witness and be a part of the perpetual progress of the fediverse.