[17:35:01] In case any Hackathon folks are interested in tweaking Cat-a-lot and making some community folks quite happy :) [17:35:02] Forwarded from fuzheado: FYI, a recent discussion thread related to Commons might be of interest to the GLAM wiki community: [17:35:03] 1. TL;DR - the Cat-a-lot gadget for conveniently re-categorizing images now intentionally runs significantly slower than in the past to comply with API etiquette and best practices, and to prevent Mediawiki performance problems (ie. crashing/freezing the wiki). [17:35:05] 2. The performance difference of the new Cat-a-lot is large enough (minutes instead of seconds) that it has caused concern about the usability of the gadget, given its popularity and use cases where hundreds of files might be operated upon. [17:35:06] 3. Cat-a-lot was recently recognized as a Cool Tool winner at Wikimania, and as a highly popular tool for GLAM wiki users in the recent GLAM CSI survey (https://docs.google.com/presentation/d/164ADDmkyg8U9csbiYZn8ko00n3Chl7kWmdM9-sU2Z68/edit#slide=id.g2f0c002e8d2_3_274) [17:35:08] 4. The emergency fix to slow down Cat-a-lot was needed, but is widely recognized as non-ideal. A developer familiar with Javascript can be expected to do a better job of finding a better balance of safety and speed. [17:35:09] 5. Each side of this discussion are justified in having concerns, though SRE (site reliability engineering) needs to take priority, or no one gets an operational Mediawiki site. It brings up questions about how we might better collaborate or coordinate across the tech/dev and editor/contributor communities going forward. [17:35:11] More details here: https://commons.wikimedia.org/wiki/MediaWiki_talk:Gadget-Cat-a-lot.js#Very_slow_performance [17:58:02] I recently picked up some JS experience unrelated to Wikimedia and was thinking about putting new skills fresh in my mind to use for cat-a-lot. (re @fuzheado: FYI, a recent discussion thread related to Commons might be of interest to the GLAM wiki community: [17:58:03] 1. TL;DR - the Cat-a-lot gad...) [17:58:07] but would like first some clarification about the await/async situation. was it just that it doesn't work on some older user agents? but maybe that doesn't matter so much because cat a lot users probably use newer browsers than e.g. readers or editors at large. [17:58:44] is there a recommended code snippet for detecting if client is await/async compatible? [18:04:55] I don't think it should be a problem for any modern browser of the last decade, should it? [18:09:36] see [[phab:T370304#10107091]] [18:09:36] if there was a suggested easy way to detect compatibility we could be faster for compatible clients and current slow status quo for incompatible? [18:09:38] or just warn people to upgrade if incompatible. (re @fuzheado: I don't think it should be a problem for any modern browser of the last decade, should it?) [18:10:13] no link bot huh [18:11:50] also could use some clarity from @Ladsgroup or anyone about comments at [[special:diff/914490753/914864583]] [18:11:51] "no forking shall be done as it will endanger reliability of the site." and [18:11:53] "If a volunteer is willing to, they can refactor the gadget to make sure the edits are done in serial and then reduce the sleep time to 0.5s which would make it slightly faster" [18:11:54] where am I supposed to refactor if I can't fork? [18:13:44] I think what is implied here is "no forking shall be done and implemented as a replacement to Cat-a-lot to get around the etiquette problem" but maybe @Ladsgroup can elaborate (re @jeremy_b: also could use some clarity from @Ladsgroup or anyone about comments at [[special:diff/914490753/914864583]] [18:13:45] "no forking shall ...) [18:23:12] No forking as in no repeating exact same issue [18:23:25] Yes [18:23:38] Please set a fork to fix it. Don't worry [18:24:52] So no "Cat-a-lot 2 Electric Boogaloo Same Same But Different" :) [18:26:37] This looks like a neat solution: https://stackoverflow.com/a/46127368 (re @jeremy_b: is there a recommended code snippet for detecting if client is await/async compatible?) [18:27:18] was just looking at that (re @tuukkahastrup: This looks like a neat solution: https://stackoverflow.com/a/46127368) [18:27:38] Did you try asking ChatGPT or CoPilot? :) (re @jeremy_b: was just looking at that) [18:29:47] I don't have original search query which I gave up on. [18:29:48] later started from scratch with https://www.google.com/search?q=async+await+compatibility+trsting+js [18:29:50] which gave me: [18:29:51] https://stackoverflow.com/questions/46126977/can-i-detect-async-await-available-in-browser [18:29:53] which was marked as dupe of the one linked above (re @fuzheado: Did you try asking ChatGPT or CoPilot? :))