Skip to content

v1.3.0

Choose a tag to compare

@CodeMeAPixel CodeMeAPixel released this 16 Aug 05:23
· 3 commits to production since this release
1f3570d

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.