This includes the ability to "shadowban" new users who have not yet been
approved. We do not have UI for approving these users.
Migrate deserving users to new Approved status
Add post fetching helpers as well
The logic in the thread/post stuff is definitely getting redundant, but
I'm not sure I'm yet ready to try to abstract any of it away.
The next thing to do is probably to update blogs and other places that
fetch threads/posts, and delete the old helpers.
Move forums and blogs fully to new helpers
Use the helpers on the landing page too
that was easy!
Fix up some spots I missed
Check user status and use helpers on the profile page
We don't need to do this any more, since our database backups now
include the migration table. The seedfile command also no longer
requires the user to type a password.
This also prevents the Discord history bot from running when it has no
credentials.
Clean up several TODOs
Implement the full disconnect / resume flow
Detect zombied connections and restart
Implement the random delay on reconnect
Implement message sending!!
(with a goofy feedback loop on the echo bot)
Fix the feedback loop in the echo bot
Clean up the Discord gateway code
Many things are methods now to reduce the amount of explicit plumbing.
Connection handling should be a little more robust, and we have an
actual error handling strategy now.
Allow sending multiple Discord messages at once
Delete irrelevant tests
uhh, start rate limiting
Add per-route rate limiting
Add global rate limit handling
Handle context cancellation in Discord REST code
Allow changing buckets per route
Add the showcase rejection bot
Add library bot
Threads can stand alone now. Threads can be attached to resources
directly without requiring a category. In addition, a lot of wiki stuff
and library discussion stuff was deleted because we're not gonna port
it.
I am in the middle of:
- porting the landing page
- making some db changes to help with that
- deleting the member and memberextended tables
Mainly the last one. Doing so requires us to update all the other tables
that currently point at member and memberextended so that the foreign
keys will point directly to users. The big thing that we still have yet
to do is links, and actually copying data from the member and
memberextended tables to users.