v1.3.2-beta
Pre-releaseAdded
-
Sign-in on beta and staging is now restricted to Bug Hunters (instance
owners bypass it, so they can't lock themselves out of their own
environment). Rejected cleanly at the OAuth login step
(checkBugHunterOnly, same pattern as the existingcheckBanScope),
plus a matching global check inapi/uapi.gofor defense in depth on
any session issued before this. Reads the sameusers.bug_hunters
columnSpecRoleSyncalready keeps in sync with the Bug Hunter Discord
role no new sync mechanism, no new schema. -
Real account bans: a new
BanUser/UnbanUserRPC action (new
ban_userspermission) setsusers.banned, distinct from
AppBanUser/AppUnbanUser's much narrowerapp_bannedflag. Nothing
previously set the column at all despiteapi/uapi.goalready rejecting
every authenticated request from a banned user except sessions scoped
ban_exempta full account ban was completely unreachable through any
staff action. -
VoteBanAdd/VoteBanRemovenow supportServer,Team, andPackin
addition toBot(all four carry an identicalvote_bannedcolumn).
ForceRemovenow supportsServerandPackin addition toBot
thekick/protected-bots behaviour stays bot-only, since neither has a
"leave the guild" equivalent. This is the reports-can't-act-on-non-bot-
content gap: reports against a server or pack had no staff action to
take beyond bots. -
A generic badge system: a staff-managed catalog (
badges) plus a
flexible assignment table (entity_badges), so a new purely-decorative
badge is a catalog row and an assignment from now on, not a new column,
backend flag, and frontend branch every time. NewAssignBadge/
UnassignBadgeRPC action (newassign_badgespermission, works on
User/Bot/Server/Team) reaches every entity type through the same
Actions menu as every other staff action, and a new
GET /{target_type}/{target_id}/badgespublic route reads them back.
Deliberately separate from the functional badges already on
users/bots/servers (premium, certified, developer,bug_huntersthe
last one specifically because it's synced from a Discord role by
SpecRoleSync, not manually assigned, so it stays exactly as-is)
newmanage_badgespermission gates the catalog itself. -
Bots can now document their own commands and post changelog/announcement
entries, gated by the sameedit_botsentity permission (owner or team)
that already gates editing a bot's settings no new permission needed.
PUT /bots/{id}/commandsreplaces the whole command list (same
full-replace convention asextra_links);POST/DELETE /bots/{id}/changelogsappend and remove individual entries (same
convention as reviews). Both are public to read.