Skip to content

Allow upgrading existing requests between regular and VIP#37

Merged
Jamesllllllllll merged 2 commits intomainfrom
codex/vip-request-upgrade-flow
Mar 23, 2026
Merged

Allow upgrading existing requests between regular and VIP#37
Jamesllllllllll merged 2 commits intomainfrom
codex/vip-request-upgrade-flow

Conversation

@Jamesllllllllll
Copy link
Copy Markdown
Owner

@Jamesllllllllll Jamesllllllllll commented Mar 22, 2026

Summary

Follow up on the VIP-token work in #18 by making it easy for viewers and moderators to convert an existing request between regular and VIP without creating a duplicate playlist item.

What Changed

  • Added chat-side request conversion so !vip <existing request> upgrades a matching existing regular request to VIP instead of adding a second copy.
  • Added the reverse flow so !sr <existing VIP request> downgrades that request back to regular and refunds the VIP token.
  • Added playlist-manager UI controls to convert an existing request between regular and VIP from the dashboard when the requester has enough tokens.
  • Made dashboard-triggered VIP conversion use the same token consume/refund logic and queue the same style of bot confirmation reply as chat commands.
  • Made those dashboard conversions return promptly instead of waiting on non-critical reply/audit follow-up work, which avoids timeout-driven false failures after the mutation already succeeded.
  • Kept the public playlist search total fix in this follow-up so the filtered Found X songs count stays correct across pages.
  • Added tests covering upgrade and downgrade behavior, and updated changelog/testing docs.

How To Test

  1. Run npm run typecheck.
  2. Run npm run format.
  3. Run npm run lint.
  4. Run npm run test.
  5. Run npm run build.
  6. Add two regular requests in chat, then run !vip <the second request> and confirm the existing request becomes VIP instead of duplicating.
  7. Run !sr <that same request> and confirm it becomes regular again and the VIP token is restored.
  8. In the dashboard playlist manager, use Make VIP and Make regular on a requester with tokens and confirm the row updates, the token balance changes, and the button does not get stuck in Saving....
  9. Confirm the public playlist search summary still shows the total filtered results across pages.

Screenshots Or UI Notes

  • Playlist manager rows now surface a VIP toggle for eligible requests instead of requiring chat-only conversion.
  • VIP conversion replies now explicitly state when a token was used or refunded.

Checklist

  • I tested the change locally
  • I updated docs or examples if needed
  • I called out any follow-up work or known limitations

Builds on #35
Refs #18

@github-actions
Copy link
Copy Markdown

Preview deployment updated.

App: https://request-bot-pr-37.jameskeezer.workers.dev
Frontend worker: request-bot-pr-37
Backend worker: request-bot-backend-pr-37

@github-actions
Copy link
Copy Markdown

Preview deployment updated.

App: https://request-bot-pr-37.jameskeezer.workers.dev
Frontend worker: request-bot-pr-37
Backend worker: request-bot-backend-pr-37

@Jamesllllllllll Jamesllllllllll merged commit 090ebb8 into main Mar 23, 2026
3 checks passed
@Jamesllllllllll Jamesllllllllll deleted the codex/vip-request-upgrade-flow branch March 23, 2026 00:01
Jamesllllllllll added a commit that referenced this pull request Apr 12, 2026
…-flow

Allow upgrading existing requests between regular and VIP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant