You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Certification approval (reviewLogicCert/reviewLogicCertServer in apps/logic.go) now automatically grants BotDeveloper/ CertifiedDeveloper roles to a certified bot's owner(s), or every
member of a certified server's owning team, provided they're already in
the main guild — previously only the bot's own CertBot role was
granted, and owners had to know to run ibb!getbotroles themselves.
GET /list/stats gained total_banned_users and total_vote_banned_bots,
aggregate COUNT(*) queries over the existing banned/vote_banned
columns, for the Moderation Transparency page's new "Platform safety"
section. Public, no PII — same pattern as the existing report-stats
endpoint.
Fixed
A Discord API failure while granting a bot's own CertBot role during
certification (e.g. the bot not currently being in the server) used to
hard-fail the entire review, leaving the application stuck "pending"
even though bots.type had already been committed as certified
separately. It's now logged as a warning instead of aborting the review.
GetOwnedBy (arcadia/impls/entities.go) only checked team ownership
for bots, silently missing bots owned directly — meaning a direct owner
got "you don't own any bots" from /getbotroles even when they
genuinely did. Added the missing OR owner = $1 branch.
/staff/tickets?open=true was 500ing: 8 legacy ticket rows had messages stored as a JSON object instead of an array, and pgx.RowToStructByName fails the whole result-set scan on a single
row's type mismatch. Normalized the affected rows; create_ticket
already always writes a real array, so this was legacy data, not a
recurring bug.