Skip to content

chore: release main - #1508

Merged
LucasSantana-Dev merged 1 commit into
mainfrom
release-please--branches--main
Jun 19, 2026
Merged

LucasSantana-Dev merged 1 commit into
mainfrom
release-please--branches--main

Conversation

@LucasSantana-Dev

@LucasSantana-Dev LucasSantana-Dev commented Jun 19, 2026 •

Copy link
Copy Markdown
Owner

🤖 I have created a release beep boop

2.18.0

2.18.0 (2026-06-19)

Features

Bug Fixes

  • add timeouts to unbounded external fetch calls (#1333) (38dde55)
  • auth: log session lookup failures in optional auth (#1286) (ff2b3ab)
  • autoplay: capture skip rejections (symmetric completion threshold) (#1276) (c282414)
  • autoplay: key track start-time per track, not per guild (#1275) (#1483) (0853a90)
  • autoplay: provenance-aware genre guards open the seed neighborhood (#1272) (405af1e)
  • autoplay: weight popularity over name similarity in similar mode (#1273) (cb24a7e)
  • backend: bound pagination limit on leaderboard + starboard entries (#1307) (c2b5cbe)
  • backend: degrade gracefully on external fetch timeouts (#1342) (#1345) (5de7b69)
  • backend: log swallowed spotify search errors (#1285) (#1318) (72a7431)
  • backend: replayed named creates return existing row (#1320) (#1326) (be2b30c)
  • backend: validate guildId snowflake on all 18 music routes (#1297) (b93cfb5)
  • bot: accurate reply when previous button has no history (#1191) (#1331) (eb9b2ea)
  • bot: bound all Spotify API fetches with an 8s abort deadline (#1302) (b283159)
  • bot: catch resume errors in skip delayed play (#1353) (#1354) (c2d2758)
  • bot: catch settings fetch errors in idle disconnect scheduling (#1361) (61b82e4)
  • bot: extend graceful bot-perm guard to mgmt + automod (#1502) (1ee510d)
  • bot: graceful bot-permission guard + moderation pilot (#1498) (#1499) (e2664ce)
  • bot: harden youtube extractor registration (#1468) (#1472) (2e7f1bb)
  • bot: queue summary position is milliseconds, not seconds (#1202) (#1330) (efa9800)
  • bot: skip startup session restore into empty voice channel (#1469) (dbcc08c)
  • bot: thread real Client into endGiveaway (#1383) (#1388) (d3b274a)
  • bot: wire setupwebmusichandler at startup (#1321) (#1351) (dc68e7e)
  • ci: grant review-tools caller the scopes its reusables require (#1424) (c215675)
  • ci: quality/Lint green again — core rules off for bot/shared at root lint (#1364) (#1365) (cc2322f)
  • compose: tag container logs so loki labels them by name (#1476) (4e956df)
  • deps: bump multer to 2.2.0 to fix high-severity dos advisory (#1493) (4d57ac8)
  • deps: bump qs to 6.15.2 and hono to 4.12.25 (audit) (#1295) (ae5d949)
  • deps: pin piscina 4.9.3 for high-severity rce advisory (#1504) (10b68e6)
  • docker: add C toolchain to deps-production for opus source-build fallback (#1310) (5ed7f11)
  • download: drop invalid --extract-flat flag from yt-dlp download (#1488) (9d29144)
  • frontend: default add-to-discord cta to public application id (#1495) (efda71e)
  • help: split large command categories across embed fields (#1489) (0fa5786)
  • player: warn not error on bridge exhaustion for unplayable tracks (#1507) (d7a4a58)
  • security: bump vite 8.0.16 + form-data 4.0.6 for high advisories (#1457) (58d21d5)
  • shared: env-isolate environment.test.ts (no secret dumps) (#1292) (588037c)
  • shared: log db error in feature-toggle override read (#1286) (#1411) (0dfc409)
  • shared: make read-then-write service paths atomic (#1199) (#1340) (ba1b840)
  • shared: normalize embed template name on gettemplate (#1327) (#1350) (d221b57)
  • shared: safe env parsing via parseIntEnv helper (#1209) (#1335) (32e3684)
  • shared: validate guildautomation json on read (#1194) (#1346) (93d9eea)
  • spotify: log oauth token-exchange failures (#1286 track b) (8306c35)
  • twitch: re-subscribe to EventSub after unexpected reconnect (#870) (#1395) (78a30f3)
  • twitch: refresh bot subscriptions on web add/remove (#870) (939d4b3)
  • web: clear auth check promise on settle, not via 100ms timer (#1311) (5cc8eef)
  • web: report swallowed member-context fetch error to Sentry (#1286 B3) (#1416) (85f141d)
  • web: route handled errors to Sentry, enforce no-console (#1296) (a34e777)

Performance Improvements

  • bot: bound external scrobbler track cache with lru+ttl (#1282) (#1316) (7f29efc)
  • shared: batch recommendation telemetry counts in one groupBy (#1308) (e5a5973)

This PR was generated with Release Please. See documentation.


Summary by cubic

Release 2.18.0 with smarter autoplay, a previous-track command, stronger security/telemetry, and Postgres-backed sessions. This improves stability across the bot, backend, and web apps.

  • New Features

    • Smarter autoplay with new ranking signals (implicit dislike, recency decay, replay boost), a guild opt-out, and outcome/skip telemetry.
    • Previous-track command end to end.
    • Security headers and CSP report-only with violation collection.
    • Session store moved from Redis to Postgres plus request-id correlation middleware.
  • Bug Fixes

    • Add timeouts and graceful fallbacks for external calls; bound pagination limits and validate guild IDs.
    • Harden bot behavior: permission guards, YouTube extractor registration, correct queue position and previous-button messaging, skip session restore into empty channels.
    • Improve observability: route handled errors to Sentry, surface swallowed errors, alert on Redis publish failures.
    • Security updates to dependencies (multer, qs, hono, vite, form-data) and pin piscina; add a C toolchain in Docker for opus fallback.

Written for commit d28bef3. Summary will update on new commits.

Review in cubic

@vercel

vercel Bot commented Jun 19, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
lucky Ready Ready Preview, Comment Jun 19, 2026 12:59am

@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@LucasSantana-Dev, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 55 minutes and 15 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4205eb54-4deb-4ef0-81f3-a4dca9d4b437

📥 Commits

Reviewing files that changed from the base of the PR and between 4b9fa33 and d28bef3.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (3)
  • .release-please-manifest.json
  • CHANGELOG.md
  • package.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release-please--branches--main

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@github-actions github-actions Bot added size/m dependencies Pull requests that update a dependency file labels Jun 19, 2026
@github-actions

Copy link
Copy Markdown

Failed to generate code suggestions for PR

@github-actions

Copy link
Copy Markdown
Warnings
⚠️

Branch release-please--branches--main doesn't follow the standard prefix convention (feature/, fix/, refactor/, chore/, docs/, ci/, test/, release/).

Generated by 🚫 dangerJS against d28bef3

@github-actions

Copy link
Copy Markdown

Size Change: +4.71 kB (+1.08%)

Total Size: 440 kB

📦 View Changed
Filename Size Change
packages/frontend/dist/assets/Admin-351-mgIf.js 2.29 kB +2.29 kB (new file) 🆕
packages/frontend/dist/assets/Admin-B-Vctfi2.js 0 B -2.3 kB (removed) 🏆
packages/frontend/dist/assets/AdminSupport-C5Y-Np_d.js 1.57 kB +1.57 kB (new file) 🆕
packages/frontend/dist/assets/AdminSupport-Co7xNyZV.js 0 B -1.57 kB (removed) 🏆
packages/frontend/dist/assets/AutoMessages-L2s8dpLU.js 0 B -3.21 kB (removed) 🏆
packages/frontend/dist/assets/AutoMessages-LBY8oiP7.js 3.21 kB +3.21 kB (new file) 🆕
packages/frontend/dist/assets/AutoMod-D9MqRec8.js 4.16 kB +4.16 kB (new file) 🆕
packages/frontend/dist/assets/AutoMod-DXpCgAs0.js 0 B -4.16 kB (removed) 🏆
packages/frontend/dist/assets/badge-Bqj8OdjL.js 500 B +500 B (new file) 🆕
packages/frontend/dist/assets/badge-HdchMBnF.js 0 B -501 B (removed) 🏆
packages/frontend/dist/assets/Card-BVuVQUSL.js 0 B -508 B (removed) 🏆
packages/frontend/dist/assets/Card-CprVSOsR.js 504 B +504 B (new file) 🆕
packages/frontend/dist/assets/Changelog-B_O2JA20.js 0 B -32.8 kB (removed) 🏆
packages/frontend/dist/assets/Changelog-CmossZ3N.js 37.6 kB +37.6 kB (new file) 🆕
packages/frontend/dist/assets/CommandsConfig-BCAZSU8C.js 0 B -1.5 kB (removed) 🏆
packages/frontend/dist/assets/CommandsConfig-DTl75lm-.js 1.5 kB +1.5 kB (new file) 🆕
packages/frontend/dist/assets/Config-CPvrkvCl.js 0 B -1.95 kB (removed) 🏆
packages/frontend/dist/assets/Config-DVSHKSY6.js 1.95 kB +1.95 kB (new file) 🆕
packages/frontend/dist/assets/CustomCommands-DSLtSoqk.js 2.11 kB +2.11 kB (new file) 🆕
packages/frontend/dist/assets/CustomCommands-tHbyTZv-.js 0 B -2.11 kB (removed) 🏆
packages/frontend/dist/assets/DashboardOverview-B9P7O3x3.js 0 B -3.9 kB (removed) 🏆
packages/frontend/dist/assets/DashboardOverview-j44BMZak.js 3.9 kB +3.9 kB (new file) 🆕
packages/frontend/dist/assets/Docs-Cmy7XiBq.js 17.6 kB +17.6 kB (new file) 🆕
packages/frontend/dist/assets/Docs-DFBTy9_V.js 0 B -17.6 kB (removed) 🏆
packages/frontend/dist/assets/DocsShell-C7OiHLRn.js 1.42 kB +1.42 kB (new file) 🆕
packages/frontend/dist/assets/DocsShell-Chd5DRZ2.js 0 B -1.42 kB (removed) 🏆
packages/frontend/dist/assets/EmbedBuilder-BJ3ZXd4b.js 3.32 kB +3.32 kB (new file) 🆕
packages/frontend/dist/assets/EmbedBuilder-DfncSB_c.js 0 B -3.32 kB (removed) 🏆
packages/frontend/dist/assets/Features-D91hc2rq.js 756 B +756 B (new file) 🆕
packages/frontend/dist/assets/Features-DHiWRWhi.js 0 B -755 B (removed) 🏆
packages/frontend/dist/assets/GuildAutomation-Bvbjx2VU.js 0 B -3 kB (removed) 🏆
packages/frontend/dist/assets/GuildAutomation-mRnnhAM2.js 3 kB +3 kB (new file) 🆕
packages/frontend/dist/assets/index-BZ1MLPuJ.js 0 B -56 kB (removed) 🏆
packages/frontend/dist/assets/index-Seqt6S3d.js 56 kB +56 kB (new file) 🆕
packages/frontend/dist/assets/input-BpkcSy7R.js 0 B -465 B (removed) 🏆
packages/frontend/dist/assets/input-D7FinaHT.js 462 B +462 B (new file) 🆕
packages/frontend/dist/assets/label-CdQjc9mv.js 475 B +475 B (new file) 🆕
packages/frontend/dist/assets/label-CLfbmScv.js 0 B -477 B (removed) 🏆
packages/frontend/dist/assets/Landing-C1EnZS4B.js 5.2 kB +5.2 kB (new file) 🆕
packages/frontend/dist/assets/Landing-C58uHy0s.js 0 B -5.2 kB (removed) 🏆
packages/frontend/dist/assets/LastFm-BOBC741K.js 1.94 kB +1.94 kB (new file) 🆕
packages/frontend/dist/assets/LastFm-CsMJlhxU.js 0 B -1.94 kB (removed) 🏆
packages/frontend/dist/assets/Levels-4VemPV0L.js 2.27 kB +2.27 kB (new file) 🆕
packages/frontend/dist/assets/Levels-CHhyLO93.js 0 B -2.27 kB (removed) 🏆
packages/frontend/dist/assets/Login-BmwNXYdS.js 0 B -2.5 kB (removed) 🏆
packages/frontend/dist/assets/Login-BoNEfI3J.js 2.49 kB +2.49 kB (new file) 🆕
packages/frontend/dist/assets/Lyrics-BVYwhL4r.js 1.33 kB +1.33 kB (new file) 🆕
packages/frontend/dist/assets/Lyrics-DfS7PV3X.js 0 B -1.34 kB (removed) 🏆
packages/frontend/dist/assets/Moderation-BmmiuVu1.js 0 B -3.76 kB (removed) 🏆
packages/frontend/dist/assets/Moderation-CJkUxcSZ.js 3.76 kB +3.76 kB (new file) 🆕
packages/frontend/dist/assets/Music-DDTKKEMa.js 0 B -5.88 kB (removed) 🏆
packages/frontend/dist/assets/Music-DLVVodXW.js 5.88 kB +5.88 kB (new file) 🆕
packages/frontend/dist/assets/MusicConfig-C7kR6ko7.js 1.64 kB +1.64 kB (new file) 🆕
packages/frontend/dist/assets/MusicConfig-Ee2G9c_q.js 0 B -1.65 kB (removed) 🏆
packages/frontend/dist/assets/PreferredArtists-C4DggYBS.js 3.79 kB +3.79 kB (new file) 🆕
packages/frontend/dist/assets/PreferredArtists-D7gqVLAM.js 0 B -3.79 kB (removed) 🏆
packages/frontend/dist/assets/PrivacyPolicy-C_wOb1ku.js 0 B -1.77 kB (removed) 🏆
packages/frontend/dist/assets/PrivacyPolicy-DHcbn6_B.js 1.77 kB +1.77 kB (new file) 🆕
packages/frontend/dist/assets/ReactionRoles-BKUPlhP9.js 1.87 kB +1.87 kB (new file) 🆕
packages/frontend/dist/assets/ReactionRoles-fiyeDIoB.js 0 B -1.87 kB (removed) 🏆
packages/frontend/dist/assets/SectionHeader-DVqVOutN.js 0 B -895 B (removed) 🏆
packages/frontend/dist/assets/SectionHeader-Oqy_gzaL.js 894 B +894 B (new file) 🆕
packages/frontend/dist/assets/select-CEmrqtwR.js 1.22 kB +1.22 kB (new file) 🆕
packages/frontend/dist/assets/select-RckTD8I3.js 0 B -1.23 kB (removed) 🏆
packages/frontend/dist/assets/ServerLogs-FLeMLEo-.js 0 B -3.06 kB (removed) 🏆
packages/frontend/dist/assets/ServerLogs-TOGCRkg7.js 3.06 kB +3.06 kB (new file) 🆕
packages/frontend/dist/assets/ServerSettings-C-pa7nk7.js 4.17 kB +4.17 kB (new file) 🆕
packages/frontend/dist/assets/ServerSettings-D0GppA1i.js 0 B -4.18 kB (removed) 🏆
packages/frontend/dist/assets/ServersPage-rMoTJD9u.js 2.99 kB +2.99 kB (new file) 🆕
packages/frontend/dist/assets/ServersPage-VV9bktlV.js 0 B -2.99 kB (removed) 🏆
packages/frontend/dist/assets/Skeleton-Cp2-1NbQ.js 0 B -235 B (removed) 🏆
packages/frontend/dist/assets/Skeleton-CYXNvYhS.js 235 B +235 B (new file) 🆕
packages/frontend/dist/assets/Spotify-BrHNC1Lv.js 0 B -1.94 kB (removed) 🏆
packages/frontend/dist/assets/Spotify-DQpnwtjF.js 1.94 kB +1.94 kB (new file) 🆕
packages/frontend/dist/assets/Starboard-BUuAvelG.js 1.77 kB +1.77 kB (new file) 🆕
packages/frontend/dist/assets/Starboard-DJiUYyMV.js 0 B -1.77 kB (removed) 🏆
packages/frontend/dist/assets/StatTile-CR_NsRxM.js 0 B -639 B (removed) 🏆
packages/frontend/dist/assets/StatTile-f6qpvohr.js 636 B +636 B (new file) 🆕
packages/frontend/dist/assets/Support-Dtxu1Zvt.js 0 B -1.53 kB (removed) 🏆
packages/frontend/dist/assets/Support-eaCmyFBJ.js 1.53 kB +1.53 kB (new file) 🆕
packages/frontend/dist/assets/switch-BTllnRY8.js 0 B -543 B (removed) 🏆
packages/frontend/dist/assets/switch-DJNSOzPJ.js 543 B +543 B (new file) 🆕
packages/frontend/dist/assets/TermsOfService-CW8p6LiA.js 0 B -1.59 kB (removed) 🏆
packages/frontend/dist/assets/TermsOfService-DUuq8unL.js 1.59 kB +1.59 kB (new file) 🆕
packages/frontend/dist/assets/TrackHistory-BlvUlRGw.js 2.29 kB +2.29 kB (new file) 🆕
packages/frontend/dist/assets/TrackHistory-MivzCZ-J.js 0 B -2.29 kB (removed) 🏆
packages/frontend/dist/assets/TwitchNotifications-C9_j7Vt0.js 0 B -2.44 kB (removed) 🏆
packages/frontend/dist/assets/TwitchNotifications-PBo86pHz.js 2.43 kB +2.43 kB (new file) 🆕
packages/frontend/dist/assets/useActiveHeading-DZQ2haHN.js 0 B -1.36 kB (removed) 🏆
packages/frontend/dist/assets/useActiveHeading-WTm-NqQ9.js 1.36 kB +1.36 kB (new file) 🆕
packages/frontend/dist/assets/useFeatures-D59oqpvD.js 0 B -2.06 kB (removed) 🏆
packages/frontend/dist/assets/useFeatures-mPEPdVy2.js 2.06 kB +2.06 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size
packages/frontend/dist/assets/api-Bjo1TiYM.js 3.51 kB
packages/frontend/dist/assets/index-DafcbtRZ.css 18 kB
packages/frontend/dist/assets/legalNav-B6k3CWsW.js 274 B
packages/frontend/dist/assets/rolldown-runtime-Cyuzqnbw.js 471 B
packages/frontend/dist/assets/routeMeta-BZjtwMbs.js 595 B
packages/frontend/dist/assets/sentry-DhXOA89y.js 3.76 kB
packages/frontend/dist/assets/usePageMetadata-DTv-6eVb.js 327 B
packages/frontend/dist/assets/vendor-forms-C-bof8GF.js 25.9 kB
packages/frontend/dist/assets/vendor-radix-DVFBfctr.js 38.9 kB
packages/frontend/dist/assets/vendor-react-2KsUHTcu.js 55.7 kB
packages/frontend/dist/assets/vendor-state-BOzOBCsh.js 24.2 kB
packages/frontend/dist/assets/vendor-ui-BO85gKJ7.js 65.4 kB

compressed-size-action

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 4 files

Auto-approved: Version bump for release 2.18.0; only changelog and manifest updates, no source code changes.

Re-trigger cubic

@sonarqubecloud

Copy link
Copy Markdown

@LucasSantana-Dev
LucasSantana-Dev merged commit 40f455e into main Jun 19, 2026
47 checks passed
@LucasSantana-Dev
LucasSantana-Dev deleted the release-please--branches--main branch June 19, 2026 01:06
@LucasSantana-Dev LucasSantana-Dev added autorelease: tagged Release PR has been tagged and removed autorelease: pending labels Jun 20, 2026
LucasSantana-Dev added a commit that referenced this pull request Jun 20, 2026
## Summary
- Adds `workflow_dispatch` trigger to release-please workflow
- Allows manual re-triggering when release-please aborts due to
`autorelease: pending` stuck on a previously-merged PR

## Why
Release-please aborted today with `⚠ There are untagged, merged release
PRs outstanding` because PR #1508 had `autorelease: pending` label still
set after v2.18.0 was released. Fixed the label on #1508; this
`workflow_dispatch` makes it easy to re-trigger without needing a dummy
commit.

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Enable manual runs of the `release-please` workflow by adding a
`workflow_dispatch` trigger. This lets us re-run releases when
`autorelease: pending` gets stuck or when `release-please` aborts due to
untagged merged PRs, without a dummy commit.

<sup>Written for commit 2ae9bdb.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/LucasSantana-Dev/Lucky/pull/1512?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->

This branch was successfully deployed

1 active deployment
Preview — d28bef35 Deployed Jun 19, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autorelease: tagged Release PR has been tagged dependencies Pull requests that update a dependency file size/m

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant