• Snot Flickerman@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    2 months ago

    It’s always only had a handful of real devs dedicating time to it. A whole site like this is kind of a huge undertaking, especially when you’re deciding to build it from the ground up in a modern language like Rust, and on top of a relatively new API set, ActivityPub.

    Even from early on, I remember lots of discussion from people with database management credentials who were basically pounding their heads going “why are you guys doing it this backwards way?” I don’t follow the development super closely so I don’t know if those issues were resolved or not. I just remember a lot of discussion on it when I was first on Lemmy on a different instance.

    Anyway, the short point of what I’m saying is they probably have a plan that makes sense to them, but without more external poking on certain things, they will work on what they think is important first, which may not always line up with what the community thinks is important.

    Once again, it’s a handful of folks doing front-end-dev, back-end-dev, and admining a very large instance.

    • alyaza [they/she]@beehaw.orgM
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      I don’t follow the development super closely so I don’t know if those issues were resolved or not. I just remember a lot of discussion on it when I was first on Lemmy on a different instance.

      not that i’m aware of, and fixing a database schema once it’s already in place tends to be a clusterfuck so i’m very skeptical it will get better any time soon

      • Skull giver@popplesburger.hilciferous.nl
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 months ago

        Deletions shouldn’t be difficult because of the schema. For instance, this query: select display_name, ('https://your.lemmy.host/pictrs/image/' || pictrs_alias) as image_url, pictrs_delete_token from image_upload iu inner join local_user u on u.id = iu.local_user_id inner join person p on p.id = u.person_id; will list all media, with the display name of the user who uploaded them, and the token that can be used to delete the image. Obviously, this needs a where u.id = ? parameter to only expose the list to the right user, but adding a “delete old media” page really shouldn’t be that hard. It’ll require time, though, and with one of the two devs taking parental leave soon, I don’t think there’s that much dev time for a while.

        The pieces are almost in place, they just need an API endpoint and some UI work.

        • PenguinCoder@beehaw.org
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 months ago

          That query by itself in a vacuum is fine. Combined with many other triggers on the DB, and then federating that out before actually deleting from the local DB… well that is what creates all sorts of headaches.

          • Skull giver@popplesburger.hilciferous.nl
            link
            fedilink
            arrow-up
            0
            ·
            2 months ago

            Images aren’t federated through ActivityPub so I don’t really see how deleting media is supposed to work. Best you can do is delete media for deleted posts.

            The API call for deleting media already exists. It’s actually used in the comment compose screen (you can click the “click here to delete” popup after uploading media). So all you need to do with this info is send a POST request to the existing API endpoint.

            I don’t think the Lemmy database uses triggers on media uploads at all, I don’t think Diesel support those well?

            • Lionir [he/him]@beehaw.org
              link
              fedilink
              arrow-up
              0
              ·
              2 months ago

              Images aren’t federated through ActivityPub so I don’t really see how deleting media is supposed to work.

              Yes, they are. Every instance downloads everyone’s images for a “cached” version that is currently never used. This is what makes this problem especially insidious and straight up dangerous in cases like CSAM.