There is no good mysql driver for Common Lisp, especially one that
supports Mariadb ootb. The horrific format used by cl-dbi for table
columns is franky unusable and though clsql is a pain to set up and
its ffi is arcane bullshittery it still does a better job.
Never doing databases in cl again.
Result<T> is a fundamentally good idea, but just doesn't fit into bantflags properly. We don't implement the other functional extensions that would make it useful, and our use case is so small that the extra safety we get isn't worth the code complexity. It was just used as a wrapper around a tuple like (T thingWeVerifyAgainstBusinessLogic, bool failed, string errorMessage), and we can ignore the bool by using default and checking for null. Less code, easier to read.
Since we only rely on awaiting a promise once, and all other differences between the scripts are just function identifiers, we can check for the version of GreaseMonkey at runtime, choose the correct functions and wrap the one async call in an if statement. These 15 or lines of code mean I don't have to maintain two scripts anymore.
The script also checks to see if you have the wrong version of bantflags for your userscript manager. Some general improvements to posting flags on 4chan.
Technically breaking changes for GreaseMonkey version 1.x hence the minor version bump but I don't think anyone actually still uses it and the script is built on features that because standard in browsers after GM 2.