also, set no-use-before-define in linter
mostly because code is being autogenerated by all the AI stuff using this prefix. it's also used in the stack trace.
a previous migration moved dkim keys into the database but looks like sometimes the domain has empty dkim keys. this could be because we do not add mail domain and domain in a transaction, so it's possible dkim was not generated?