Omniplex
Blog
changelogomniplexpoppliorelease notesengineering

Teams Catch Up, Servers Get Reviewed, and Three New Ways to Discover Bots and Servers

Two and a half weeks of updates across Omniplex and Popplio: full parity for teams and packs, a real staff review pipeline for servers, three new discovery pages, and a long list of infrastructure and reliability work underneath it all.

codemeapixel

SLEEPY

15d ago

Since our last deep dive on August 16th, we've shipped two and a half weeks of updates across both Omniplex and Popplio. This one covers a lot of ground: teams and packs closing the gap with bots and servers, a real review pipeline for servers, three new ways to discover bots and servers, and a fair amount of infrastructure work underneath it all that doesn't show up on the site directly but makes everything else more reliable.


Teams and Packs Catch Up

Teams and packs have spent the last two weeks closing the feature gap with bots and servers.

  • Full search coverage. Teams and packs now show up in site search alongside bots and servers, with the same query and tag filtering.
  • Voting. Teams and packs can now be voted for, with the same cooldown and weekly double vote bonus bots and servers already had.
  • Reports and reviews. Team pages can now be reported and reviewed like everything else on the platform.
  • Webhooks. Teams can configure a webhook from their settings page, for the same events a bot or server can already send.
  • Vote credits. Votes cast for a team or pack can now be redeemed into shop credits, using the same conversion bots and servers use. Building this actually surfaced a real bug: the credit tier ladder had never been configured for anything but bots, so servers' existing credit flow was quietly computing zero credits regardless of how many votes they had. That's fixed now too.

Servers Get a Real Review Pipeline

Submitting a server used to skip review entirely and go live immediately. It now goes through the same claim, approve, deny, and unverify pipeline bots have always used, with a dedicated review queue for staff.

Reviewers also got two new signals to work with on a submission: an NSFW compliance check that flags a server tagged safe but with ungated age-restricted channels (and the reverse), and a moderation flag from an automated scan of the submitted description. Neither one auto-rejects anything. They're there to save a reviewer from having to join the server and look around by hand.

Three New Ways to Discover Bots and Servers

  • Server Templates. A new templates directory of user-submitted Discord server templates you can clone straight into your own server. Submitting one just takes a template code; Discord fills in the rest.
  • Similar Bots and Servers. Every bot and server page now has a "Similar" section at the bottom, ranked by how many tags it shares with what you're looking at.
  • Tag pages. Every tag on a bot or server page is now a link to its own browse page, listing everything on the platform tagged the same way, sorted by votes.
  • Voter Leaderboard. A new leaderboard page ranks the most active voters on the platform by total votes cast, all time, so a consistently active voter keeps their standing instead of losing it every time the monthly reset runs.

Notifications, Dashboards, and Smaller Fixes

  • Notification preferences: eight toggles on the dashboard let you mute a whole category of alert (reviews, votes, payments, shop, webhooks, staff applications, reports, account security) instead of it being all or nothing.
  • High priority notifications, like payment failures and account bans, now actually stand out in the bell with an urgent badge, and sort to the top.
  • Team settings' Overview tab is now a real activity dashboard: votes, members, bots, servers, review ratings, and banked credits as stat cards, plus a webhook activity summary.
  • Shop coupon codes can now actually be redeemed at checkout, and the shop page lists which public codes apply to what you're buying instead of you needing to already know one.
  • A handful of small but real bugs got fixed along the way: vote reminders weren't reaching your notification bell at all, animated emojis were rendering as static images, and push notifications silently failed to prompt on Chrome because we were asking for permission after the browser's gesture window had already closed.

Under the Hood

None of the above would be safe to keep shipping quickly without some less visible work underneath it.

  • The sqlc migration is complete. Every raw SQL call across the backend, hundreds of them, has been converted to type-safe generated code. The handful of places that genuinely can't be modeled that way are each documented in place.
  • Real schema migrations. Schema changes used to go through a folder of one-off SQL scripts applied by hand against production. There's now a proper versioned migration tool that tracks what's been applied and reads the same config the rest of the backend does.
  • A rate limit fix. An off by one error meant every rate limited route on the API let one extra request through before actually blocking. Limits are now exactly what they say they are.
  • Status page reliability. We tracked down and fixed the false "down" alerts some of you have seen on our status page. Health checks on the backend had no timeout under load, and the status page's own monitor had no tolerance for a single blip before flipping a monitor to down and firing an alert. Both are fixed now.
  • Config simplification. We removed a whole staging and beta environment layer that hadn't been needed in a while, cutting a lot of config duplication and a class of "forgot to update all four copies of this value" bugs along with it.
  • A generic badge system for staff, an auto-moderation pass for our Discord tooling, and a proper curated changelog system behind the scenes for the entries you're reading right now.

That's everything since the 16th. As always, the full technical changelog for both projects is public if you want the unabridged version.