Qoto's web UI stopped working for me. Attached screenshot is all I get, the stacktrace the error message gives me (hooray for JS minimization /s) can be found at https://pastebin.com/XGFmNtUN. My browser is Firefox 92.0.1 on Linux.
@robryk Weird im on the web page right now. Have you not be aable to refresh it?
@freemo No, refreshing lands me at the same error. The error appears after ~5s. During those 5s everything but the Home timeline is loaded, Home timeline contains just a spinner, and everything is nonresponsive.
@robryk have you per chance tried doing a hard reload instead (where it refreshes your cache)? Let me try that on my end too.
@robryk ok I deleted the suspect post. Can you do another hard reload and tell me if it fixed itself maybe?
@freemo Yup, it did fix itself. Thanks.
@robryk Oh wow, ok good to know. Well thats a bug and a vulnerability. :)
@freemo The annoying thing is that I don't know of any way to edit my filters other than the web UI, so the obvious solution had a bootstrapping problem.
@robryk well the problem should never happen in the first place. It seems that our generous character limit can be exploited by just filing the limit with emojis that ultimately take way too long to run and is rendered recursively for some reason.
@robryk next update I will keep the character limit but limit the number of emojis a post can have to something generous but reasonable (maybe 50 max)
@freemo Are you able to unminify that stack trace? This might be something terribly trivial to fix properly, if I could tell what's actually happening.
@robryk I dont know an easy way to do that off hand. Usually when im testing i run a test version of the server which has unminified js and thus the stacktraces point to locations in unminimified files. I know of no easy way to do this in production where everything is minified.
Have I mentioned I hate front-end development :)
@freemo BTW. It seems that presence of this post was also making Tootle use some extreme amounts of CPU.
@robryk ok decent chance the recursion thing will be the only clue... still think it might be that one post... hmm let me ask the user to delete it and see if it fixes it, one second.