Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

The Fedi Forum

  1. Home
  2. Fediverse
  3. Fun fact: you can't upload this image on piefed.social

Fun fact: you can't upload this image on piefed.social

Scheduled Pinned Locked Moved Fediverse
fediverse
178 Posts 57 Posters 8 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R rothaine@lemmy.zip

    the private voting case

    What's this?

    irelephant [he/him]I This user is from outside of this forum
    irelephant [he/him]I This user is from outside of this forum
    irelephant [he/him]
    wrote last edited by
    #105

    Off the top of my head,

    Since votes on Lemmy aren't private, anyone can view them. Piefed added anonymized votes (iirc, by sending them from a shadow user with a username that was a hash of the actual voters username), this raised concerns, as vote spam could be harder to spot/stop, so it was removed.

    R Z 2 Replies Last reply
    5
    • irelephant [he/him]I irelephant [he/him]

      Off the top of my head,

      Since votes on Lemmy aren't private, anyone can view them. Piefed added anonymized votes (iirc, by sending them from a shadow user with a username that was a hash of the actual voters username), this raised concerns, as vote spam could be harder to spot/stop, so it was removed.

      R This user is from outside of this forum
      R This user is from outside of this forum
      rothaine@lemmy.zip
      wrote last edited by
      #106

      Oh interesting. Anonymous votes does sound cool.

      1 Reply Last reply
      1
      • RedWizard [he/him]A RedWizard [he/him]

        There are all kinds of fun stuff in the Piefed code. Allow me to dredge up a comment I made recently:

        @edie@lemmy.encryptionin.space was looking at PieFed code the other week, and I ended up taking a look at it too. Its great fun to sneak a peak at.

        For example, you cannot cast a vote on PieFed if you've made 0 replies, 0 posts, AND your username is 8 characters long:

            def cannot_vote(self):
                if self.is_local():
                    return False
                return self.post_count == 0 and self.post_reply_count == 0 and len(
                    self.user_name) == 8  # most vote manipulation bots have 8 character user names and never post any content
        

        If a reply is created, from anywhere, that only contains the word "this", the comment is dropped (CW: ableism in the function name):

        def reply_is_stupid(body) -> bool:
            lower_body = body.lower().strip()
            if lower_body == 'this' or lower_body == 'this.' or lower_body == 'this!':
                return True
            return False
        

        Every user (remote or local) has an "attitude" which is calculated as follows: (upvotes cast - downvotes cast) / (upvotes + downvotes). If your "attitude" is < 0.0 you can't downvote.

        Every account has a Social Credit Score, aka your Reputation. If your account has less than 100 reputation and is newly created, you are not considered "trustworthy" and there are limitations placed on what your account can do. Your reputation is calculated as upvotes earned - downvotes earned aka Reddit Karma. If your reputation is at -10 you also cannot downvote, and you can't create new DMs. It also flags your account automatically if your reputation is to low:

        PieFed boasts that it has "4chan image detection". Let's see how that works in practice:

                    if site.enable_chan_image_filter:
                        # Do not allow fascist meme content
                        try:
                            if '.avif' in uploaded_file.filename:
                                import pillow_avif  # NOQA
                            image_text = pytesseract.image_to_string(Image.open(BytesIO(uploaded_file.read())).convert('L'))
                        except FileNotFoundError:
                            image_text = ''
                        except UnidentifiedImageError:
                            image_text = ''
        
                        if 'Anonymous' in image_text and (
                                'No.' in image_text or ' N0' in image_text):  # chan posts usually contain the text 'Anonymous' and ' No.12345'
                            self.image_file.errors.append(
                                "This image is an invalid file type.")  # deliberately misleading error message
                            current_user.reputation -= 1
                            db.session.commit()
                            return False
        

        Yup. If your image contains the word Anonymous, and contains the text No. or N0 it will reject the image with a fake error message. Not only does it give you a fake error, but it also will dock your Social Credit Score. Take note of the current_user.reputation -= 1

        PieFed also boasts that it has AI generated text detection. Let's see how that also works in practice:

        # LLM Detection
                if reply.body and '—' in reply.body and user.created_very_recently():
                    # usage of em-dash is highly suspect.
                    from app.utils import notify_admin
                    # notify admin
        

        This is the default detection, apparently you can use an API endpoint for that detection as well apparently, but it's not documented anywhere but within the code.

        Do you want to leave a comment that is just a funny gif? No you don't. Not on PieFed, that will get your comment dropped and lower your Social Credit Score!

                if reply_is_just_link_to_gif_reaction(reply.body) and site.enable_gif_reply_rep_decrease:
                    user.reputation -= 1
                    raise PostReplyValidationError(_('Gif comment ignored'))
        

        How does it know its just a gif though?

        def reply_is_just_link_to_gif_reaction(body) -> bool:
            tmp_body = body.strip()
            if tmp_body.startswith('https://media.tenor.com/') or \
                    tmp_body.startswith('https://media1.tenor.com/') or \
                    tmp_body.startswith('https://media2.tenor.com/') or \
                    tmp_body.startswith('https://media3.tenor.com/') or \
                    tmp_body.startswith('https://i.giphy.com/') or \
                    tmp_body.startswith('https://i.imgflip.com/') or \
                    tmp_body.startswith('https://media1.giphy.com/') or \
                    tmp_body.startswith('https://media2.giphy.com/') or \
                    tmp_body.startswith('https://media3.giphy.com/') or \
                    tmp_body.startswith('https://media4.giphy.com/'):
                return True
            else:
                return False
        

        I'm not even sure someone would actually drop a link like this directly into a comment. It's not even taking into consideration whether those URLs are part of a markdown image tag.

        As Edie mentioned, if someone has a user blocked, and that user replies to someone, their comment is dropped:

        if parent_comment.author.has_blocked_user(user.id) or parent_comment.author.has_blocked_instance(user.instance_id):
            log_incoming_ap(id, APLOG_CREATE, APLOG_FAILURE, saved_json, 'Parent comment author blocked replier')
            return None
        

        For Example:

        • Cowbees comment on lemmy.ml: https://lemmy.ml/post/41587312/23288779
        • Non-existent on piefed.social: https://piefed.social/comment/9647830

        (see Edies original comment here)

        More from Edie:

        Also add if the poster has blocked you! It is exactly as nonsense as you think.

        Example:

        I made a post in testing@piefed.social from my account testingpiefed@piefed.social, replied to it from my other testingpiefed@piefed.zip account. Since the .social account has blocked the .zip, it doesn't show up on .social, nor on e.g. piefed.europe.pub.

        I then made a comment from my lemmy.ml account, and replied to it from my piefed.zip account, and neither .social, nor europe.pub can see my .zip reply, but can see my lemmy.ml comment!

        [ Let me add more clarity here: what this feature does is two things. On a local instance, if you block someone who is on your instance, they cannot reply to you. However, this condition is not federated (yet, it would seem), and so, to get around this "issue", the system will drop comments from being stored in the PieFed database IF the blocked user is remote. This means you end up with "ghost comment chains" on remote instances. There is NEW code as of a few weeks ago, that will send an AUTOMATED mod action against blocked remote users to remove the comment. So long as the community is a local PieFed community, it will federate that mod action to the remote server, removing the comment automatically. For PieFed servers, eventually, they would rather federate the users block list (that's fair), but it would seem this code to send automated mod actions to remove comments due to user blocks is going to stay just for the Lemmy Piefed interaction. I don't really understand why the system simply doesn't prevent the rendering of the comment, instead of stopping it from being stored. It knows the user is blocked, it already checks it, it should then just stop rendering the chain of comments for the given user, prevent notifications from those users, etc. ]

        But wait! There's More!

        • PieFed defederates from Hexbear.net, Lemmygrad.ml, and Lemmy.ml out of the box.
        • The "rational discourse" sidebar that you see on the main instance is hard coded into the system.
        • Moderators of a community can kick you from a community, which unsubscribes you from it, and does not notify you. This has been removed actually, the API endpoint is still there.
        • I was going to say that Admins had the ability to add a weight to votes coming from other instances, but the videos that showed this are now gone, and as of v1.5.0 they have removed the instance vote weight feature, claiming it was "unused".

        All this to say. Piefed is a silly place, and no one should bother using its software.

        R This user is from outside of this forum
        R This user is from outside of this forum
        raspberriesareyummy@lemmy.world
        wrote last edited by
        #107

        if anything, the code examples confirmed my belief that most python coders are fucking morons.

        T 1 Reply Last reply
        7
        • RedWizard [he/him]A RedWizard [he/him]

          There are all kinds of fun stuff in the Piefed code. Allow me to dredge up a comment I made recently:

          @edie@lemmy.encryptionin.space was looking at PieFed code the other week, and I ended up taking a look at it too. Its great fun to sneak a peak at.

          For example, you cannot cast a vote on PieFed if you've made 0 replies, 0 posts, AND your username is 8 characters long:

              def cannot_vote(self):
                  if self.is_local():
                      return False
                  return self.post_count == 0 and self.post_reply_count == 0 and len(
                      self.user_name) == 8  # most vote manipulation bots have 8 character user names and never post any content
          

          If a reply is created, from anywhere, that only contains the word "this", the comment is dropped (CW: ableism in the function name):

          def reply_is_stupid(body) -> bool:
              lower_body = body.lower().strip()
              if lower_body == 'this' or lower_body == 'this.' or lower_body == 'this!':
                  return True
              return False
          

          Every user (remote or local) has an "attitude" which is calculated as follows: (upvotes cast - downvotes cast) / (upvotes + downvotes). If your "attitude" is < 0.0 you can't downvote.

          Every account has a Social Credit Score, aka your Reputation. If your account has less than 100 reputation and is newly created, you are not considered "trustworthy" and there are limitations placed on what your account can do. Your reputation is calculated as upvotes earned - downvotes earned aka Reddit Karma. If your reputation is at -10 you also cannot downvote, and you can't create new DMs. It also flags your account automatically if your reputation is to low:

          PieFed boasts that it has "4chan image detection". Let's see how that works in practice:

                      if site.enable_chan_image_filter:
                          # Do not allow fascist meme content
                          try:
                              if '.avif' in uploaded_file.filename:
                                  import pillow_avif  # NOQA
                              image_text = pytesseract.image_to_string(Image.open(BytesIO(uploaded_file.read())).convert('L'))
                          except FileNotFoundError:
                              image_text = ''
                          except UnidentifiedImageError:
                              image_text = ''
          
                          if 'Anonymous' in image_text and (
                                  'No.' in image_text or ' N0' in image_text):  # chan posts usually contain the text 'Anonymous' and ' No.12345'
                              self.image_file.errors.append(
                                  "This image is an invalid file type.")  # deliberately misleading error message
                              current_user.reputation -= 1
                              db.session.commit()
                              return False
          

          Yup. If your image contains the word Anonymous, and contains the text No. or N0 it will reject the image with a fake error message. Not only does it give you a fake error, but it also will dock your Social Credit Score. Take note of the current_user.reputation -= 1

          PieFed also boasts that it has AI generated text detection. Let's see how that also works in practice:

          # LLM Detection
                  if reply.body and '—' in reply.body and user.created_very_recently():
                      # usage of em-dash is highly suspect.
                      from app.utils import notify_admin
                      # notify admin
          

          This is the default detection, apparently you can use an API endpoint for that detection as well apparently, but it's not documented anywhere but within the code.

          Do you want to leave a comment that is just a funny gif? No you don't. Not on PieFed, that will get your comment dropped and lower your Social Credit Score!

                  if reply_is_just_link_to_gif_reaction(reply.body) and site.enable_gif_reply_rep_decrease:
                      user.reputation -= 1
                      raise PostReplyValidationError(_('Gif comment ignored'))
          

          How does it know its just a gif though?

          def reply_is_just_link_to_gif_reaction(body) -> bool:
              tmp_body = body.strip()
              if tmp_body.startswith('https://media.tenor.com/') or \
                      tmp_body.startswith('https://media1.tenor.com/') or \
                      tmp_body.startswith('https://media2.tenor.com/') or \
                      tmp_body.startswith('https://media3.tenor.com/') or \
                      tmp_body.startswith('https://i.giphy.com/') or \
                      tmp_body.startswith('https://i.imgflip.com/') or \
                      tmp_body.startswith('https://media1.giphy.com/') or \
                      tmp_body.startswith('https://media2.giphy.com/') or \
                      tmp_body.startswith('https://media3.giphy.com/') or \
                      tmp_body.startswith('https://media4.giphy.com/'):
                  return True
              else:
                  return False
          

          I'm not even sure someone would actually drop a link like this directly into a comment. It's not even taking into consideration whether those URLs are part of a markdown image tag.

          As Edie mentioned, if someone has a user blocked, and that user replies to someone, their comment is dropped:

          if parent_comment.author.has_blocked_user(user.id) or parent_comment.author.has_blocked_instance(user.instance_id):
              log_incoming_ap(id, APLOG_CREATE, APLOG_FAILURE, saved_json, 'Parent comment author blocked replier')
              return None
          

          For Example:

          • Cowbees comment on lemmy.ml: https://lemmy.ml/post/41587312/23288779
          • Non-existent on piefed.social: https://piefed.social/comment/9647830

          (see Edies original comment here)

          More from Edie:

          Also add if the poster has blocked you! It is exactly as nonsense as you think.

          Example:

          I made a post in testing@piefed.social from my account testingpiefed@piefed.social, replied to it from my other testingpiefed@piefed.zip account. Since the .social account has blocked the .zip, it doesn't show up on .social, nor on e.g. piefed.europe.pub.

          I then made a comment from my lemmy.ml account, and replied to it from my piefed.zip account, and neither .social, nor europe.pub can see my .zip reply, but can see my lemmy.ml comment!

          [ Let me add more clarity here: what this feature does is two things. On a local instance, if you block someone who is on your instance, they cannot reply to you. However, this condition is not federated (yet, it would seem), and so, to get around this "issue", the system will drop comments from being stored in the PieFed database IF the blocked user is remote. This means you end up with "ghost comment chains" on remote instances. There is NEW code as of a few weeks ago, that will send an AUTOMATED mod action against blocked remote users to remove the comment. So long as the community is a local PieFed community, it will federate that mod action to the remote server, removing the comment automatically. For PieFed servers, eventually, they would rather federate the users block list (that's fair), but it would seem this code to send automated mod actions to remove comments due to user blocks is going to stay just for the Lemmy Piefed interaction. I don't really understand why the system simply doesn't prevent the rendering of the comment, instead of stopping it from being stored. It knows the user is blocked, it already checks it, it should then just stop rendering the chain of comments for the given user, prevent notifications from those users, etc. ]

          But wait! There's More!

          • PieFed defederates from Hexbear.net, Lemmygrad.ml, and Lemmy.ml out of the box.
          • The "rational discourse" sidebar that you see on the main instance is hard coded into the system.
          • Moderators of a community can kick you from a community, which unsubscribes you from it, and does not notify you. This has been removed actually, the API endpoint is still there.
          • I was going to say that Admins had the ability to add a weight to votes coming from other instances, but the videos that showed this are now gone, and as of v1.5.0 they have removed the instance vote weight feature, claiming it was "unused".

          All this to say. Piefed is a silly place, and no one should bother using its software.

          sortekanin@feddit.dkS This user is from outside of this forum
          sortekanin@feddit.dkS This user is from outside of this forum
          sortekanin@feddit.dk
          wrote last edited by
          #108

          ... Wow. I mean I already knew there was some questionable stuff with PieFed but this is honestly next level.

          S 1 Reply Last reply
          22
          • wjs018W wjs018

            Also fun fact, you can probably upload it to most other piefed instances just fine.

            rimu has pretty strong opinions on social media. This filter is optional and can be turned on/off by an admin. Some of my contributions to piefed have been to make filters or features that are strongly opinionated like this optional. For piefed.social specifically though, rimu has all of them on because that is his instance and he runs it the way he wants.

            sortekanin@feddit.dkS This user is from outside of this forum
            sortekanin@feddit.dkS This user is from outside of this forum
            sortekanin@feddit.dk
            wrote last edited by
            #109

            I mean okay sure, you can disable these things. But the fact that they are enabled out of the box in the software as written is a huge red flag.

            samus12345@sh.itjust.worksS wjs018W 2 Replies Last reply
            10
            • samus12345@sh.itjust.worksS samus12345@sh.itjust.works

              Ostensibly they do it to interfere with AI scraping social media comments, but of course it does nothing but make their comments more difficult to read.

              S This user is from outside of this forum
              S This user is from outside of this forum
              [object Object]
              wrote last edited by
              #110

              Somehow I read them fine.

              samus12345@sh.itjust.worksS 1 Reply Last reply
              4
              • S [object Object]

                Somehow I read them fine.

                samus12345@sh.itjust.worksS This user is from outside of this forum
                samus12345@sh.itjust.worksS This user is from outside of this forum
                samus12345@sh.itjust.works
                wrote last edited by
                #111

                That's good. They read like someone with a speech impediment in my head.

                1 Reply Last reply
                12
                • sortekanin@feddit.dkS sortekanin@feddit.dk

                  I mean okay sure, you can disable these things. But the fact that they are enabled out of the box in the software as written is a huge red flag.

                  samus12345@sh.itjust.worksS This user is from outside of this forum
                  samus12345@sh.itjust.worksS This user is from outside of this forum
                  samus12345@sh.itjust.works
                  wrote last edited by
                  #112

                  Yeah, it speaks to the developer having a philosophy that is really at odds with the concept of open communication. I'm no free speech absolutist, but some of these restrictions are just ridiculous.

                  Blaze (he/him)B 1 Reply Last reply
                  8
                  • sortekanin@feddit.dkS sortekanin@feddit.dk

                    I mean okay sure, you can disable these things. But the fact that they are enabled out of the box in the software as written is a huge red flag.

                    wjs018W This user is from outside of this forum
                    wjs018W This user is from outside of this forum
                    wjs018
                    wrote last edited by
                    #113

                    I'm sure you will be pleased to know that the filter this post is about and most of the others mentioned in this thread are, in fact, off by default.

                    https://codeberg.org/rimu/pyfedi/src/commit/b168820a089ff6e835059f0d806f81b612987a79/app/models.py#L3513

                    1 Reply Last reply
                    5
                    • Z zombifrancis@sh.itjust.works

                      Looks like Piefed really is Lemmy with SpezTools.

                      Eugene V. Debs' GhostE This user is from outside of this forum
                      Eugene V. Debs' GhostE This user is from outside of this forum
                      Eugene V. Debs' Ghost
                      wrote last edited by
                      #114

                      It's just Lemmy but more reddit. The people who left Reddit for Lemmy into PieFed just want to be the admins of their Reddit, and all it entails.

                      Blaze (he/him)B S 2 Replies Last reply
                      13
                      • P plyth@feddit.org

                        lol hardcoded shit everywhere

                        It's open source. Why not? People who want a configuration menu can create a patch.

                        Downvoters, do you have an argument? What is it but entitlement to demand that free open source software should be written differently from what the programmer wants?

                        E This user is from outside of this forum
                        E This user is from outside of this forum
                        expr@programming.dev
                        wrote last edited by
                        #115

                        Just because code is open source doesn't mean shit code can't be called out. Shit code is shit code.

                        P 1 Reply Last reply
                        23
                        • W webghost0101@sopuli.xyz

                          For every that doesn’t understand what this is about.

                          They are trying to filter content from 4chan

                          The images you upload gets scanned. If they contain the words “anonymous” it checks if it also contains “no.” And if it does it assumes its from 4 chan and then deliberately serves a misleading error.

                          G This user is from outside of this forum
                          G This user is from outside of this forum
                          goferking (he/him)
                          wrote last edited by
                          #116

                          I love that the piefed creator came here only to say he'll yeah it does that and fucked off without acknowledging how terrible of a design it is

                          1 Reply Last reply
                          11
                          • irelephant [he/him]I irelephant [he/him]

                            https://codeberg.org/rimu/pyfedi/src/commit/6405e51dab23f43eaea18d0ee4d9e7a773a3fd31/app/community/forms.py#L335

                            deliberately misleading error message.

                            B This user is from outside of this forum
                            B This user is from outside of this forum
                            bigdiction@lemmy.world
                            wrote last edited by
                            #117

                            I’ve read the other comments but my first thought was OCR banning 6-7

                            1 Reply Last reply
                            6
                            • E expr@programming.dev

                              Just because code is open source doesn't mean shit code can't be called out. Shit code is shit code.

                              P This user is from outside of this forum
                              P This user is from outside of this forum
                              plyth@feddit.org
                              wrote last edited by
                              #118

                              But why is hardcoding shit code for open source code? The code is easier to read because no if or switch statements are needed to distinguish between the options. No configiration menu has to be maintained.

                              N 1 Reply Last reply
                              2
                              • B bb84@mander.xyz

                                I didn't downvote your comment. But let me argue anyway.

                                Lots of people flock to PieFed because it is not made by the Lenmy devs who are unpalatably heavy handed in their "moderation" on the ml instance. One would hope this means PieFed offers more freedom to use the software how you like. So it's funny that it's even stricter "moderation" AND NOW ITS HARDCODED so it affects every instance.

                                P This user is from outside of this forum
                                P This user is from outside of this forum
                                plyth@feddit.org
                                wrote last edited by
                                #119

                                ITS HARDCODED so it affects every instance.

                                It's open source. Every instance can change it and if something is common, people can maintain the patch together.

                                Lenmy devs who are unpalatably heavy handed in their “moderation” on the ml instance.

                                Which is their instance. I don't like the hate they receive. They have established a social network that allows everybody to run their own instance with their own moderation. To present them as the villains must be nurtured by the establishment.

                                So it’s funny that it’s even stricter

                                Absolutely

                                N 1 Reply Last reply
                                1
                                • RedWizard [he/him]A RedWizard [he/him]

                                  There are all kinds of fun stuff in the Piefed code. Allow me to dredge up a comment I made recently:

                                  @edie@lemmy.encryptionin.space was looking at PieFed code the other week, and I ended up taking a look at it too. Its great fun to sneak a peak at.

                                  For example, you cannot cast a vote on PieFed if you've made 0 replies, 0 posts, AND your username is 8 characters long:

                                      def cannot_vote(self):
                                          if self.is_local():
                                              return False
                                          return self.post_count == 0 and self.post_reply_count == 0 and len(
                                              self.user_name) == 8  # most vote manipulation bots have 8 character user names and never post any content
                                  

                                  If a reply is created, from anywhere, that only contains the word "this", the comment is dropped (CW: ableism in the function name):

                                  def reply_is_stupid(body) -> bool:
                                      lower_body = body.lower().strip()
                                      if lower_body == 'this' or lower_body == 'this.' or lower_body == 'this!':
                                          return True
                                      return False
                                  

                                  Every user (remote or local) has an "attitude" which is calculated as follows: (upvotes cast - downvotes cast) / (upvotes + downvotes). If your "attitude" is < 0.0 you can't downvote.

                                  Every account has a Social Credit Score, aka your Reputation. If your account has less than 100 reputation and is newly created, you are not considered "trustworthy" and there are limitations placed on what your account can do. Your reputation is calculated as upvotes earned - downvotes earned aka Reddit Karma. If your reputation is at -10 you also cannot downvote, and you can't create new DMs. It also flags your account automatically if your reputation is to low:

                                  PieFed boasts that it has "4chan image detection". Let's see how that works in practice:

                                              if site.enable_chan_image_filter:
                                                  # Do not allow fascist meme content
                                                  try:
                                                      if '.avif' in uploaded_file.filename:
                                                          import pillow_avif  # NOQA
                                                      image_text = pytesseract.image_to_string(Image.open(BytesIO(uploaded_file.read())).convert('L'))
                                                  except FileNotFoundError:
                                                      image_text = ''
                                                  except UnidentifiedImageError:
                                                      image_text = ''
                                  
                                                  if 'Anonymous' in image_text and (
                                                          'No.' in image_text or ' N0' in image_text):  # chan posts usually contain the text 'Anonymous' and ' No.12345'
                                                      self.image_file.errors.append(
                                                          "This image is an invalid file type.")  # deliberately misleading error message
                                                      current_user.reputation -= 1
                                                      db.session.commit()
                                                      return False
                                  

                                  Yup. If your image contains the word Anonymous, and contains the text No. or N0 it will reject the image with a fake error message. Not only does it give you a fake error, but it also will dock your Social Credit Score. Take note of the current_user.reputation -= 1

                                  PieFed also boasts that it has AI generated text detection. Let's see how that also works in practice:

                                  # LLM Detection
                                          if reply.body and '—' in reply.body and user.created_very_recently():
                                              # usage of em-dash is highly suspect.
                                              from app.utils import notify_admin
                                              # notify admin
                                  

                                  This is the default detection, apparently you can use an API endpoint for that detection as well apparently, but it's not documented anywhere but within the code.

                                  Do you want to leave a comment that is just a funny gif? No you don't. Not on PieFed, that will get your comment dropped and lower your Social Credit Score!

                                          if reply_is_just_link_to_gif_reaction(reply.body) and site.enable_gif_reply_rep_decrease:
                                              user.reputation -= 1
                                              raise PostReplyValidationError(_('Gif comment ignored'))
                                  

                                  How does it know its just a gif though?

                                  def reply_is_just_link_to_gif_reaction(body) -> bool:
                                      tmp_body = body.strip()
                                      if tmp_body.startswith('https://media.tenor.com/') or \
                                              tmp_body.startswith('https://media1.tenor.com/') or \
                                              tmp_body.startswith('https://media2.tenor.com/') or \
                                              tmp_body.startswith('https://media3.tenor.com/') or \
                                              tmp_body.startswith('https://i.giphy.com/') or \
                                              tmp_body.startswith('https://i.imgflip.com/') or \
                                              tmp_body.startswith('https://media1.giphy.com/') or \
                                              tmp_body.startswith('https://media2.giphy.com/') or \
                                              tmp_body.startswith('https://media3.giphy.com/') or \
                                              tmp_body.startswith('https://media4.giphy.com/'):
                                          return True
                                      else:
                                          return False
                                  

                                  I'm not even sure someone would actually drop a link like this directly into a comment. It's not even taking into consideration whether those URLs are part of a markdown image tag.

                                  As Edie mentioned, if someone has a user blocked, and that user replies to someone, their comment is dropped:

                                  if parent_comment.author.has_blocked_user(user.id) or parent_comment.author.has_blocked_instance(user.instance_id):
                                      log_incoming_ap(id, APLOG_CREATE, APLOG_FAILURE, saved_json, 'Parent comment author blocked replier')
                                      return None
                                  

                                  For Example:

                                  • Cowbees comment on lemmy.ml: https://lemmy.ml/post/41587312/23288779
                                  • Non-existent on piefed.social: https://piefed.social/comment/9647830

                                  (see Edies original comment here)

                                  More from Edie:

                                  Also add if the poster has blocked you! It is exactly as nonsense as you think.

                                  Example:

                                  I made a post in testing@piefed.social from my account testingpiefed@piefed.social, replied to it from my other testingpiefed@piefed.zip account. Since the .social account has blocked the .zip, it doesn't show up on .social, nor on e.g. piefed.europe.pub.

                                  I then made a comment from my lemmy.ml account, and replied to it from my piefed.zip account, and neither .social, nor europe.pub can see my .zip reply, but can see my lemmy.ml comment!

                                  [ Let me add more clarity here: what this feature does is two things. On a local instance, if you block someone who is on your instance, they cannot reply to you. However, this condition is not federated (yet, it would seem), and so, to get around this "issue", the system will drop comments from being stored in the PieFed database IF the blocked user is remote. This means you end up with "ghost comment chains" on remote instances. There is NEW code as of a few weeks ago, that will send an AUTOMATED mod action against blocked remote users to remove the comment. So long as the community is a local PieFed community, it will federate that mod action to the remote server, removing the comment automatically. For PieFed servers, eventually, they would rather federate the users block list (that's fair), but it would seem this code to send automated mod actions to remove comments due to user blocks is going to stay just for the Lemmy Piefed interaction. I don't really understand why the system simply doesn't prevent the rendering of the comment, instead of stopping it from being stored. It knows the user is blocked, it already checks it, it should then just stop rendering the chain of comments for the given user, prevent notifications from those users, etc. ]

                                  But wait! There's More!

                                  • PieFed defederates from Hexbear.net, Lemmygrad.ml, and Lemmy.ml out of the box.
                                  • The "rational discourse" sidebar that you see on the main instance is hard coded into the system.
                                  • Moderators of a community can kick you from a community, which unsubscribes you from it, and does not notify you. This has been removed actually, the API endpoint is still there.
                                  • I was going to say that Admins had the ability to add a weight to votes coming from other instances, but the videos that showed this are now gone, and as of v1.5.0 they have removed the instance vote weight feature, claiming it was "unused".

                                  All this to say. Piefed is a silly place, and no one should bother using its software.

                                  T This user is from outside of this forum
                                  T This user is from outside of this forum
                                  tyranttw@lemmy.ml
                                  wrote last edited by
                                  #120

                                  Holly cow, this code looks like it was written by my student self. It's actually kind of cute ngl

                                  1 Reply Last reply
                                  13
                                  • R raspberriesareyummy@lemmy.world

                                    if anything, the code examples confirmed my belief that most python coders are fucking morons.

                                    T This user is from outside of this forum
                                    T This user is from outside of this forum
                                    tyranttw@lemmy.ml
                                    wrote last edited by
                                    #121

                                    Listen, it could be worse. They could be doing it all with regex

                                    R 1 Reply Last reply
                                    3
                                    • T tyranttw@lemmy.ml

                                      Listen, it could be worse. They could be doing it all with regex

                                      R This user is from outside of this forum
                                      R This user is from outside of this forum
                                      raspberriesareyummy@lemmy.world
                                      wrote last edited by
                                      #122

                                      Would that really be worse? Considering they are using an fucking image-to-text-converter... I don't think it would.
                                      Also, regular expressions rule 🙂 just not in this context.

                                      1 Reply Last reply
                                      5
                                      • samus12345@sh.itjust.worksS samus12345@sh.itjust.works

                                        Yeah, it speaks to the developer having a philosophy that is really at odds with the concept of open communication. I'm no free speech absolutist, but some of these restrictions are just ridiculous.

                                        Blaze (he/him)B This user is from outside of this forum
                                        Blaze (he/him)B This user is from outside of this forum
                                        Blaze (he/him)
                                        wrote last edited by
                                        #123

                                        the filter this post is about and most of the others mentioned in this thread are off by default.

                                        https://codeberg.org/rimu/pyfedi/src/commit/b168820a089ff6e835059f0d806f81b612987a79/app/models.py#L3513

                                        1 Reply Last reply
                                        4
                                        • Eugene V. Debs' GhostE Eugene V. Debs' Ghost

                                          It's just Lemmy but more reddit. The people who left Reddit for Lemmy into PieFed just want to be the admins of their Reddit, and all it entails.

                                          Blaze (he/him)B This user is from outside of this forum
                                          Blaze (he/him)B This user is from outside of this forum
                                          Blaze (he/him)
                                          wrote last edited by
                                          #124

                                          Is it the case for https://anarchist.nexus/ as well ?

                                          Eugene V. Debs' GhostE 1 Reply Last reply
                                          2
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • 1
                                          • 2
                                          • 5
                                          • 6
                                          • 7
                                          • 8
                                          • 9
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World