FALSE ALARM, CULPRIT FOUND: I had a MalwareBytes browser extension that slowed the emote picker down. The extension has been purged and now both the popup and the inline picker are working well.

The original post before I did testing

I try to fidel-salute in a Hexbear comment. The picture takes forever to even load in the picker so it takes a while to see if I’ve even selected the right emote. Most of the emotes in the list I can’t even see the pictures unless I step away for a minute and come back after they’ve all loaded. I hit submit comment. It takes forever to post. I can hear the fans whirring. If I’m streaming vid on blorptube while posting something from the emote picker, sometimes the video will just pause and stop loading until whatever process the emotes have kicked off completes. I don’t know why some emotes are visible while others aren’t it doesn’t appear to be related to order that they show up in the list

I think “Well I’m on the ESR of Firefox, maybe it’s just old” but then I boot into Linux with cutting-edge up to date Firefox and it still behaves largely the same.

I have wondered if it’s an internet speed thing but it seems to behave this way whether I’m on ethernet or 802.11n wireless, whether or not my VPN is on.

It also takes quite some time for emotes to load in the emote picker on Blorp, come to think of it.

I’ve got 16GB of RAM, that should be plenty. Yes I know the web has gotten more intensive since this computer was made 13 years ago but come on, compared to hell sites like twitter, facebook, and new.reddit, lemmy seems downright lightweight. NoScript and other blockers aren’t blocking a ton of bloat here.

I’m not criticizing the unsung heroic devs of Hexbear. I’m no good at web dev, hated it when I had to do it for work, and couldn’t fix or optimize this either. But I would like to understand what the root cause of this problem is and

(If the answer is “upgrade your hardware or live with it” then I’m living with it, because my precious little computer is my buddy and I’m not abandoning it)

  • CommunistCuddlefish [she/her]@hexbear.netOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    5 hours ago

    @makotech222@hexbear.net @Edie@hexbear.net @WhyEssEff@hexbear.net @LeninWeave@hexbear.net @RedWizard@hexbear.net @BoarAvoir@hexbear.net

    I’m calling a false alarm on this, and if anyone else complains tell them to disable their browser extensions 1 by 1 to test if any are slowing it down. I had an extension from MalwareBytes that was slowing it down. I’ve since removed that and the popup emote picker is fast again. I should have thought to test all that before asking for technical help. My apologies.

  • infuziSporg [e/em/eir]@hexbear.net
    link
    fedilink
    English
    arrow-up
    25
    ·
    2 days ago

    Because there are so many emotes that don’t actually get used, that end up there because someone once thought “hmm I think I’ll put that as an emote”. This is not merely a problem with loading thumbnails, but with the idea of using them as a means of communication in general.

    I’d love to see a list of how much each emote has been used, and especially which ones have been used less than 10 times.

    Lol @ the suspicion that “you must have more than 16 GB of RAM to use this webb sight” tho

    • Lussy [any, hy/hym]@hexbear.net
      link
      fedilink
      English
      arrow-up
      21
      ·
      2 days ago

      Didnt read allat, the emote library is the crown jewel of this site, this shit turned slow overnight.

      One of you nerds did something, I know it, I need it fixed stat

      • NephewAlphaBravo [he/him]@hexbear.net
        link
        fedilink
        English
        arrow-up
        19
        ·
        edit-2
        2 days ago

        it’s been laggy as shit for years, if it suddenly got worse recently i can’t say i noticed

        edit: i have noticed comments taking longer to go through after hitting send though, that’s been happening for just a couple months i think. different issue but possibly related by the timeframe

        • LeeeroooyJeeenkiiins [none/use name]@hexbear.net
          link
          fedilink
          English
          arrow-up
          6
          ·
          2 days ago

          I thought it was laggy on my phone and it is but actually what it was doing was loading the emoji picker way down the screen if i started typing characters too fast after the :

          I’d been dealing with it by starting over and typing slowly which would have it appear in my view but now it’s just like oh i guess i just have to scroll down

    • CommunistCuddlefish [she/her]@hexbear.netOP
      link
      fedilink
      English
      arrow-up
      16
      ·
      edit-2
      2 days ago

      I’d love to see a list of how much each emote has been used, and especially which ones have been used less than 10 times.

      Love that idea.

      16 GB

      Well comrade 9to5 has 32GB RAM and doesn’t have this problem. Coincidence?

    • Tabitha ☢️[she/her]@hexbear.net
      link
      fedilink
      English
      arrow-up
      8
      ·
      2 days ago

      I didn’t verify this with technology, but feels to me like you use almost your entire rate limit on the first page before it’s possible to search anything, them if you don’t find anything on your first search, nothing else bothers to load if it’s not already loaded or cached. Hard to say it’s for sure rate limit, but doesn’t feel like a problem of slow device to me. Maybe the emoji menu should implement pagination? And/Or exclude emojis from rate limit?

  • makotech222 [he/him]@hexbear.net
    link
    fedilink
    English
    arrow-up
    17
    ·
    2 days ago

    I’ve pushed an update to lazy load all the images instead of trying to load them all immediately. Should help a bit with both the emoji pickers.

  • WhyEssEff [she/her]@hexbear.net
    link
    fedilink
    English
    arrow-up
    20
    ·
    edit-2
    2 days ago

    the problem (on the images side, less familiar with the codebase) is partly an optimization problem with some images that still need to be downsized after the refork. Day-ish of grunt work I haven’t found a slot for?

    But yeah, I agree that there’s also an issue with quantity in a sense, less raw quantity but more so the accumulation of amount of data you need to load. I’ve been much more hesitant to do large batches of additions recently and instead have been largely adding emotes on a one by one basis when I do so.

    I have to find a time to assess what I can do on my end, unfortunately I have like 50 things going on ATM so oooaaaaaaauhhh

    • Thordros [he/him, comrade/them]@hexbear.net
      link
      fedilink
      English
      arrow-up
      16
      ·
      2 days ago

      If you can instruct me on what to do, I’ve got a gamer rig, funemployment time, some crude graphic design experience, and the power of autism available.

      It’s the least I can do to pay you back for that God of the Dead mega-mix I keep on my pump up playlist.

      I would put a salute emoji here, but, well…

    • LeninWeave [none/use name, any]@hexbear.net
      link
      fedilink
      English
      arrow-up
      10
      ·
      2 days ago

      I was thinking of this recently, and the other thing I noticed is that the emotes reload extremely often for me, even when I use them multiple times a day. Are they not configured to be cached? This might be an issue on my end.

  • I think the emotes need a better cache policy and possibly some pre fetching and more optimized lazy loading and cheaper thumbnails. I’ve done a lot of this type of work for like e-commerce sites, its annoying and tedious, but it is possible to make this type of thing fast on most devices.

    I have intentions to help with hexbear tech, but I haven’t got around to it yet.

      • BoarAvoir [they/them]@hexbear.net
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        2 days ago

        We could and have also accepted patches other ways (matrix primarily) but it’s currently the primary place. I’d appreciate any contributions! If you are on matrix reach out to carcosa or me about getting added to a dev chat when/if you’re ready

  • D61 [any]@hexbear.net
    link
    fedilink
    English
    arrow-up
    13
    ·
    2 days ago

    Most of the time, if I’m trying to post a comment:

    • I need to type everything in the comment box and click the submit button.

    • Select All and Cut everything out of the comment box while the hexbear logo is spinning in the submit box.

    • Click the Reload Page button. A little box with “Type Error” pops up at the bottom of the screen.

    • After the page reloads, paste everything back into the comment box and click submit. 90% of the time it works like a charm.-

    • BoarAvoir [they/them]@hexbear.net
      link
      fedilink
      English
      arrow-up
      13
      ·
      edit-2
      2 days ago

      This is concerning. It’s certainly not ever been bulletproof but it shouldn’t be failing out anywhere near every time (the Type Error is I think, expected when reloading while a request is in progress, but I’m assuming you reload because otherwise it never successfully posts?) Any further errors you can share? the developer console/network tab can show a lot of useful details but I’m not even sure where to start with this one. OS and browser details, I guess?

      edit: and this comment posted pretty much instantly for me, using a firefox fork on a like 4 year old linux box

      • D61 [any]@hexbear.net
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 day ago

        the Type Error is I think, expected when reloading while a request is in progress,

        the-more-you-know Good to know.

        Typically I’m lacking in patience to wait. Sometimes I’ll have multiple tabs open and just click the submit button and go do other things. On rare occasions, after clicking submit while the spinning hexbear icon is doing its thing and seems to be stalled, I can reload the page and the comment will have posted.

        Linux Mint, basic Firefox with Ublock and NoScript, on a frankenPC with a few parts that have got to be close to 20 years old by now (which is why I don’t think to mention it when skimming posts/comments about the site misbehaving).

  • RedWizard [he/him, comrade/them]@hexbear.net
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    2 days ago

    @Thordros@hexbear.net, @CommunistCuddlefish@hexbear.net You can find the repo that contains all the emoji here: https://github.com/Hexbear-Code-Op/hexbear-emotes and I think there is a full size and a reduced size folder contained within. You might want to look at imagemagick for bulk image conversion and resizing.

    Though, it might be more that @WhyEssEff@hexbear.net needs to literally log in and manually re upload smaller versions of the emoji through this interface:


    (this is from my instance)

    And that interface is not great. Looking at it right now, I don’t even think there is an option to “reupload” an emoji; you might have to delete it and re-add it, which I think is what the actual time crunch would be.

    Now, all that said, if you wanted to go fucking ham on this issue, you could use the CustomEmoji endpoint: https://lemmy.readme.io/reference/put_custom-emoji to automate the process of Fetching, then Deleting, then recreating the entire emoji list. You would need to have the Emoji hosted somewhere on the internet for it to work, but, that could be the GitHub repo. I assume when you provide it the image URL it automatically pulls the image from the remote location to the Lemmy server.

    So, in theory, there is a tool waiting to be built that would allow you to not only point your instance at an emoji GitHub repo and import it, but periodically sync the emoji from GitHub itself. Obviously, that’s outside the scope of the issue here. What is needed is just a script that can replace the existing emoji with smaller versions, retaining their short code and other data.

    Edit:

    If you wanted to get a JSON object of our big, beautiful emoji list, it’s here: https://hexbear.net/api/v3/site look under “custom_emoji”. (2749 objects! Woof!)

  • MayoPete [he/him, comrade/them]@hexbear.net
    link
    fedilink
    English
    arrow-up
    9
    ·
    2 days ago

    It would be really helpful if there was a page that listed all if the emotes so that I can tab over to it and have all of the options loaded for me to pick out.

    I also like that browser extension idea 🤔

  • BoarAvoir [they/them]@hexbear.net
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    2 days ago

    When you refer to the emote picker, do you mean the one that pops up when you start typing out the shortcode (e.g. :fidel ) or the one above the text input box under the little smiley icon?

    Both have performance issues to some degree, but there probably isn’t much you can do on your machine about it. Maybe there’s some sort of extension that can force cache them? It’s something we’ve tried addressing from the server side in the past with limited success, but it could use more work.

    • CommunistCuddlefish [she/her]@hexbear.netOP
      link
      fedilink
      English
      arrow-up
      13
      ·
      edit-2
      2 days ago

      I mean both. Here’s a pic of what I see 2 seconds after clicking the smiley icon:

      Here’s a pic of what I see 2 seconds after typing “:fidel-” in this comment input field:

      If there’s nothing I can do about it because it’s server side then there’s nothing I can do about it. Ultimately it’s a minor annoyance. I tried glancing through the Hexbear code on Github to see if I could try to diagnose the problem and all I got from it was a reminder that I am terrible at web dev.

  • 9to5 [any, comrade/them]@hexbear.net
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    2 days ago

    So im not kidding when I say the emotes pop up almost instant for me but I also got a 32gb of ram and a pretty beefy rig.

    EDIT : Im gonna say something controversial I LOVE our emojis/emoticons but I also think we probably have about 50% to many and should consider cutting down “some” of them to make it user friendlier