mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-19 13:35:10 +00:00
* Begins refactoring admin pms, with a focus on runtime safety and ease of understanding There's more I want to do here, mostly with spans and cleaning up sone logic flow to be easier to understand The primary thrust of it is making explicit any assumptions we make about values This is important because this is sensitive code, and runtimes are not acceptable, since they both leak information and could lead to dropped ahelps, which is almost worse. I'm also splitting the proc up into subsections, in an attempt to make it easier to reason about and work with As a side effect of this, some operations need to be done more then once to avoid potential debugger escalation. Related to this, I'm also no longer directly passing around client references through the procs. I instead pass the result of a pretty basic proc into each, to avoid issues with sleeping and such. Oh, and I fixed a bug that made it impossible to reply to remote ahelp responses. I hate this place. * Converts all uses of the linkify span to a macro. One of these doesn't have a closing span, not sure if that's a bug or a feature * Cleans up more logic embedded inside data, since this is critical code Changes the backup for replying to someone who logs out, instead of using the first person to send something to the ticket as our backup, we use the recipient's ckey. * some cleanup * Converts a few more things over to the pattern Reorganizes and deocuments sends_adminpm_message to be less hard to track/read * Cleans up a hanging proc that needed filtering * Does a passthrough over tgs, makes stealthmin keys actually unique * cleanup, screed at the top of the file * cleanup, comments, etc * Thanks trash, I can in fact not spell * ok yeah I really can't spell * updated comment to explain how code works * messsage -> message spellcheck * Nullchecking prevention if for whatever reason someone in the future adds code that lummox says can sneakily allow for Logout() to execute between this and the last time client was checked, this could potentially runtime without nullchecking Co-authored-by: Kylerace <kylerlumpkin1@gmail.com> Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>