Perchance - Create a Random Text Generator
⚄︎ Perchance
This is a Lemmy Community for perchance.org, a platform for sharing and creating random text generators.
Feel free to ask for help, share your generators, and start friendly discussions at your leisure :)
This community is mainly for discussions between those who are building generators. For discussions about using generators, especially the popular AI ones, the community-led Casual Perchance forum is likely a more appropriate venue.
See this post for the Complete Guide to Posting Here on the Community!
Rules
1. Please follow the Lemmy.World instance rules.
- The full rules are posted here: (https://legal.lemmy.world/)
- User Rules: (https://legal.lemmy.world/fair-use/)
2. Be kind and friendly.
- Please be kind to others on this community (and also in general), and remember that for many people Perchance is their first experience with coding. We have members for whom English is not their first language, so please be take that into account too :)
3. Be thankful to those who try to help you.
- If you ask a question and someone has made a effort to help you out, please remember to be thankful! Even if they don't manage to help you solve your problem - remember that they're spending time out of their day to try to help a stranger :)
4. Only post about stuff related to perchance.
- Please only post about perchance related stuff like generators on it, bugs, and the site.
5. Refrain from requesting Prompts for the AI Tools.
- We would like to ask to refrain from posting here needing help specifically with prompting/achieving certain results with the AI plugins (
text-to-image-plugin
andai-text-plugin
) e.g. "What is the good prompt for X?", "How to achieve X with Y generator?" - See Perchance AI FAQ for FAQ about the AI tools.
- You can ask for help with prompting at the 'sister' community Casual Perchance, which is for more casual discussions.
- We will still be helping/answering questions about the plugins as long as it is related to building generators with them.
6. Search through the Community Before Posting.
- Please Search through the Community Posts here (and on Reddit) before posting to see if what you will post has similar post/already been posted.
view the rest of the comments
Thank you for collecting those screenshots! Looks like you had to wait quite a while to capture that, and it's very useful in working out what's going on here.
That said, I certainly haven't got to the bottom of this. This SO answer: https://stackoverflow.com/a/29564247/11950764 says:
Which seems to indicate that there may be other connections (possibly in other tabs?) which are somehow taking a really long time, and so are "hogging" all the connections that Chrome will allow to perchance.org Would be interesting to note how many Perchance tabs are open when this next occurs - to see if it's more than ususal.
One thing I did noticed is that you still have lots of singular requests to the generatorStats API on your generator manager:
I posted a reply to one of your comments at some point about using the API to get a bunch of stats with a single request, like this:
Example: https://perchance.org/generator-list-with-stats-2-template#edit
Not sure if that'll help, but it might be worth a shot.
Strange that it works fine in Firefox though. I wouldn't rule out it being a problem with the Perchance server, because traffic has been increasing, so weird scaling problems can arise. I also see
ERR_QUIC_PROTOCOL_ERROR
sometimes, and I've tried to look into it, but to no avail. I'll keep an eye on this and try to keep digging into potential causes. If you get any other clues (like that it doesn't seem to be an issue on Firefox), I'd be glad to hear about them.Okay, so I got some more reports today. I woke up and opened my browser with a tab heading to the Comments Plugin page, with all the comments sections already loaded up. Then, I opened my Generator Manager, and it loaded just as usual, but when I saved it, it took a really long time, up to around 30 minutes, with usual long-stalling requests initiated by the
/api/cv
request. It even spit out aCouldn't get generator dependencies
error midway. I left only the Comments Plugin tab and the Generator Manager tab open for the rest of the time in the same browser while doing some outside work.After trying to save it again after a couple of minutes though, it did save pretty well.
Update: Now, almost every time I opened and saved my Generator Manager, the other generators I've opened seems to start loading for a very long time, while the saving requests from the generator hub page also clogs out of nowhere. It's in the 30-minute mark again.
Update again: There are some cases where the generator stalls at loading for an even longer time, from 40 minutes to almost an hour. The initial page load wasn't stalled, only the generator load after the perchance framework was loaded.
As shown in the screenshot below, I only left one other Perchance generator instance open and active during this period of time.
Sorry for the delay on this (and many other posts by you and others!). This is a super annoying bug - it's really important to me that Perchance is snappy, so I'm committed to solving this. I think I'm starting to get an idea of what's happening here.
For some reason the server isn't properly closing the connection, or Cloudflare has a bug with HTTP/3 which means it sometimes doesn't recognize when the connection has been closed, and this causes the browser to think that the content download is still in progress, even though it finished long ago. And that causes a stall while it waits. But it's strange because I thought with HTTP/2 and HTTP/3 the browser could "multiplex" downloads over a single connection so I'm not sure why one download is stalling the others.
I've disabled HTTP/3 for now to test if this was the issue. Can you let me know if it happens for you again? Also pinging @[email protected] in case you've run into this problem too. If this doesn't work, then I suspect it has to do with the server getting a bit overloaded, and not ending connections properly (though this still wouldn't explain the apparent lack of multiplexing, which I'll have to investigate - maybe there's still a concurrency limit and it's being hit somehow), and in that case maybe it's time for me to do a big server upgrade - in that case it'll probably take me a week or two of work but it'll be worth it.
I haven't been editing/creating (and saving) generators lately, so I haven't experienced some delays (might also because my timezone might be on the opposite where the traffic might be high). Also haven't experienced it (or maybe not realized that there was a problem) so I'll keep it in mind!
Great, thanks! I didn't notice the delay yet, but I'll reply once it happened again.
The final lookout
So, it turned out the "stalled connection" thing was probably the effect of having so many comment frames open under the "Comments Plugin" tab, each listening for new comments all the time, which is probably why it filled all the TCP connections that I ended up getting stalled connections so often while loading generators. I left that tab pinned for the rest of the browser session and thought that wasn't the core problem first.
And now, after switching the active pinned tab to the Comments Plugin Example page, which only has one comment frame, I somehow remedied the issue and haven't been easily getting the connection problem again. But again, thank you for describing all of them!
Yeah, I know that and actually have been using it to calculate the total views thing, but the repetitive
generatorStats
requests isn't necessarily a major problem anyways, but I think I'll need to use that alternative technique to retrieve the generator stats for each of the generators there, I suspect that was a repetitive call of thegeneratorStats
API for every generator item in the hub.And from this, I just got one suggestion for the
generator-stats-plugin
: What if you could do the same technique that you mentioned earlier within the plugin itself, those data you can then pass it through a variable, for example:And then, when you want to retrieve these data:
With that, everyone and not only me can use the
names
technique just by using the plugin. And thanks for the more descriptive explanation on the "connection stall" problem! 😊Yeah, the TCP connections limit makes more sense now. I don't have any time to find out the cause, but I suspect that's the issue.
I just fixed a bug with the saving process that was causing infinite "saving..." in some situations. Not sure if it's related, but if you don't see this problem again, then this bug fix was probably the reason.
Thanks! I'll check it on my PC later.