• Andrew@piefed.social
    link
    fedilink
    arrow-up
    2
    ·
    4 hours ago

    Re: votes and comments for old content - you’ve noticed the same problems on PieFed as on smaller Lemmy instances, because they have the same root cause: we can only get what Lemmy will give us.

    The ‘retrieve remote post’ function was originally written for PeerTube integration. If you fetch a post from there, you can then query the ‘favorites’ outbox to get voting info, and the ‘replies’ outbox to get comments. You can’t do that with Lemmy - it considers voting data to be private, and it doesn’t provide a ‘replies’ outbox. The only outbox that Lemmy provides is for posts, that provides the text for the most recent 50 posts, but nothing else (FWIW, the posts outbox for PieFed communities includes the replies along with each post, but - again - not the votes).

    When a PieFed or other Lemmy instance first becomes aware a community that’s hosted on a remote Lemmy instance, it processes the posts outbox. The ‘retrieve remote post’ function is there for if you want a post that’s older than the ones provided in the outbox, or if someone before you discovered that community but didn’t subscribe (the remote community won’t send anything to piefed.social if no-one there is subscribed to it, so we can end up with a situation where we have the old posts but not the newer ones).

    For votes: the hypothetical scenario of a post having +1000 on its home instance, but -4 on a remote one, is a real possibility, but that’s a bigger problem than just PieFed. Using ActivityPub, Lemmy doesn’t provide a post score, and even if it did (or you grabbed it using their API), it doesn’t say where the votes have come from. You need to know this, because otherwise you’ve no idea what a future vote will mean (is a ‘downvote’ reversing a previous downvote, or is it a new downvote?). There’s an inconsistency in PieFed, whereby a post retrieved from an outbox starts at +0, but a manually retrieved one starts at +1, but it doesn’t really matter that much, because they’re both as wrong as the other (we’ve no idea whether the OP kept the automatically assigned upvote that they got with a new post).

    For comments: old ones are a lost cause (even for admins). Lemmy is a bit better at backfilling these - if it receives a vote for a missing comment, it’ll fetch it. I’d imagine though there’s a complexity limit to this (it’ll get a comment if it’s in reply to comment or a post it already has, but it’s not going to recursively climb up the parent tree to resolve everything if it doesn’t already have it). Also, it depends on votes coming through - lemmy.ml probably has about 3 years of comments that lemmy.world will never get, because nobody is going to vote on them. Again, it’s a bigger problem than just PieFed.

    For UI stuff: I’m not the best person to talk to - I’ve only just found out that you can swipe about on a Mac desktop, and that’s because you’ve told me. The main websites of PieFed instances are deliberately old-skool (mostly just HTML and CSS) - this is what a chuck of the Fediverse says they want, but also what a chunk trips up on, because they’ve been spoiled by the conveniences provided by more modern web interfaces. That’s not to say that the problems you’ve mentioned are insurmountable, it’s just that they are best posted as an Issue on codeberg or in a community like !piefed_meta@piefed.social, where folks who’ve much more web development experience than me will see them.

    • OpenStars@piefed.social
      link
      fedilink
      arrow-up
      3
      ·
      3 hours ago

      That’s very interesting, thank you for taking the time to explain!

      Votes: yes I’ve noticed that a good deal of what I see has +1 vote added to it - including your comment here. In one case it was so deep and delivered within seconds before I saw it that it convinces me that it is due to a systemic bug. Also when I return to a page after making a comment, sometimes I see replies that I could swear that I had upvoted, but it does not show the green indicator for that, and it allows me to vote again. Fwiw, I have “vote privately” set to OFF.

      Separately for voting, I would hope to see both up and downvotes displayed - I often have replies at “1”, and I have to go to the source Lemmy to get the information as to whether it is truly just unvoted on entirely or more likely it was a balance of +1 and -1, sometimes +2 and -2, and more rarely but definitely happens that sometimes it’s +3 and -3. Or other similar scenarios like +7 and -5, for a certain award-winning video I shared but that people did not universally seem to enjoy. The downvotes are still “information” and present a form of “active engagement” that merely showing the total score hides away.

      Old posts: if I could suggest something, maybe it would be better to only “view” an older post - so like retrieve it only into a temporary location, and then discard later - without trying to retain it and present it to users as if it were really there. Perhaps that would increase consistency and therefore build more trust in the system, when information is not there sometimes and not there other times, but consistently absent always prior to a certain date and then afterwards always there and up to date. Though that seems to go beyond Lemmy’s functionality, and yet being better is the point:-).

      Anyway, I hope this was interesting and it may help me work out the language on some of these issues before I post them in piefed_meta, so it’s definitely interesting and helpful for me:-).

      Now to press the “Comment” button and hope that I don’t accidentally hit the Leave button instead, thereby discarding all that I typed as well as kicking me out of this community, as I did earlier today somewhere, whoopsie!:-)

      • Andrew@piefed.social
        link
        fedilink
        arrow-up
        2
        ·
        44 minutes ago

        You can see the upvotes vs downvotes if you hover your cursor over the score. The old layout displayed both, but there’s pros and cons to combined vs. separate vote info. Videos pretty much always attract a disproportionate amount of downvotes, btw - it’s just one of those Lemmy things.

        I don’t know how technically viable a temporary-only retrieval of a post would be. If you look at any given post across multiple instances, every one has its “own truth” for one reason or another, and it’s just something that I’ve started to accept comes with the territory.

        • OpenStars@piefed.social
          link
          fedilink
          arrow-up
          1
          ·
          26 minutes ago

          Oh that’s neat! Can I see the downvotes on a mobile? Long press or … doesn’t seem to do anything and I’m out of ideas to try.

          The difference between PieFed’s approach and Lemmy’s, especially after the upcoming 0.19.6, is that Lemmy seems to catch up eventually, whereas PieFed never will no matter how much time passes - is that correct?

          So if what is desired is a “search for existing post”, that function would go better into the search box, while if what is desired is “import existing post”, yet that is impossible then perhaps simply not offer that rather than confuse people by offering a halfway measure, thereby leaving only the “find non-existing post”, which now that I think about it, especially since it needs an external URL to trigger it, is that really even something that anyone would want? i.e. if the goal is to “view” it, and someone must go to Lemmy in order to do so, then so be it (it is the same on smaller, newer Lemmy instances too), but since it cannot be imported (properly/fully), then don’t? Well, it’s a thought anyway!:-)