this post was submitted on 09 Mar 2024
3 points (71.4% liked)

Perchance - Create a Random Text Generator

441 readers
2 users here now

⚄︎ 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.

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 and ai-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.

founded 1 year ago
MODERATORS
3
Perchance Saving Bugs (files.mastodon.social)
submitted 8 months ago* (last edited 8 months ago) by [email protected] to c/[email protected]
 

Perchance Saving Bugs

There were a few instances where in the editor ended up failing to "save", but the generator saving process still succeeded and is still recorded in the revisions.

I was editing my generator hub page that day and saved it by clicking on the save button and then it errors after a classic 20 seconds...

I decided to check the DevTools network and it shows all the details behind that saving process, and things look suspicious, until the revisions told me wrong.

@perchance

top 10 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 8 months ago

@perchance My generator hub page is loaded with a lot of imports and due to the "save-after-reload" behavior, it took some time to "reload" and save unlike my other generators that use less imports (such as the Popularity Achievement Generator: https://perchance.org/popularity-achievement-generator).

But sometimes the reload can took a very long time (like 30 mins), so I think I'll just have to see the network tab to make absolute sure that the generator is actually saved 😆 (if anything seems to be wrong once again)

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago)

This isn't a full answer, but one thing which should help a bit here is to use this:

let generatorNameArray = ["generator-name", "another-generator-name"];
let generatorDataArray = await fetch("https://perchance.org/api/getGeneratorStats?names="+generatorNameArray.join(",")).then(r => r.json());

instead of making lots of separate requests (currently 138 requests for stats on power-generator-manager according to DevTools). The reason this should help is because (IIRC), the save process waits for the full page to reload in case of (currently undocumented) dynamic $meta info, and I think lots of requests may slow it down a bit.

I've added some code to potentially help speed things up, and ensure that "saving..." immediately shows when you hit ctrl+s, and prevents other save processes from starting at the same time, which I think could cause a traffic jam of save requests, or something.

Either way, the current code I have for saving isn't super ideal - it's definitely slower than it should be, especially for lots of imports, but the above two things should hopefully help a little bit until I get around to speeding it up.

[–] [email protected] 2 points 8 months ago

Update: I just noticed another change on the saving system. Instead of the "save-after-reload," it now sort of combines original save behavior and the last one, meaning that the save button will now say "saving" while it's also reloading.

But this change makes it kind of buggier that no matter how I wait, the button hangs on "saving" and the generator never saves (unlike the original that errors after 20 seconds and then reverts to the original state, allowing you to retry the save)

@perchance

[–] [email protected] 1 points 8 months ago (2 children)

@perchance The picture below is a screenshot I took a few days ago.

And one more bug I want to point out, every time you click on the save button, the save function will be executed (so if you click two times, it'll be run two times), making the revisions list clogging up with multiple saves from the exact same moment (see the revisions list in the image).

Please someone ping the Dev so they'll notice about this, I'm on a different platform.

[–] [email protected] 0 points 8 months ago (1 children)

@[email protected] - ping dev.

There were a few instances where in the editor ended up failing to “save”, but the generator saving process still succeeded and is still recorded in the revisions.

By 'failing' to save, the button didn't resolve to the disabled 'saved' button state, but it added a revision?

And one more bug I want to point out, every time you click on the save button, the save function will be executed (so if you click two times, it’ll be run two times), making the revisions list clogging up with multiple saves from the exact same moment (see the revisions list in the image).

I think it works as intended, since you clicked it two times, then it should return two saves. I would suggest not spamming the button xD.

Sometimes Perchance will throw a warning that saving has failed due to not being able to talk to the server.

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago) (1 children)

@VioneT "By ‘failing’ to save, the button didn’t resolve to the disabled ‘saved’ button state, but it added a revision?"

Yes, either the save button displays the "error" or stay in the "save" as it's not saved.

[–] [email protected] 0 points 8 months ago (1 children)

I would think that if an error occurred on saving, the save request might just 'save' the previous version that it has as a fallback to prevent issues.

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago)

@VioneT That might be the case, what could go wrong? 😆

As of what I can say, the new "save-after-reload" behavior is still a bit janky, considering that before it was implemented, the generator straight up saves but then the preview don't display the saved content in case auto-update mode isn't activated (except when the generator is created for the first time).

[–] [email protected] 1 points 8 months ago

Thanks so much @perchance, you're showing up! I might as well implement this in a future post-announcement update of my generator hub page after the Milestone Announcement has been launched to the ground in days.