Skip to content

feat: add suggestion box widget#29

Merged
webbertakken merged 2 commits intomainfrom
feat/suggestion-box
Feb 20, 2026
Merged

feat: add suggestion box widget#29
webbertakken merged 2 commits intomainfrom
feat/suggestion-box

Conversation

@webbertakken
Copy link
Copy Markdown
Owner

Summary

  • Suggestion box widget: viewers submit via !suggest <text>, vote via !vote <hexId>, broadcaster toggles done
  • Channel point redemption path for affiliate+ streamers (non-affiliate chat fallback)
  • Rust-backed persistence with debounced auto-save
  • Frontend logging utility routing to Rust tracing
  • Chat widget hideCommands option to filter ! command noise
  • HMR-safe event bus subscriptions and IRC socket handling

Fixes included

  • loadSuggestions race condition: async load no longer clobbers in-flight suggestions
  • allocateHexId infinite loop guard when all 256 IDs active
  • Duplicate chat messages after HMR (orphaned WebSocket)
  • Hex ID visibility in narrow widget layouts

Test plan

  • 82 unit tests pass (lint, typecheck, clippy clean)
  • End-to-end: !suggest test in Twitch chat creates persistent suggestion
  • Widget layout verified in narrow (docked right) mode
  • Chat duplicates fixed after restart/HMR

- Suggestion box widget: viewers submit via `!suggest <text>`, vote via `!vote <hexId>`
- Channel point redemption support for affiliate+ streamers
- Rust-backed persistence to suggestions.json with debounced auto-save
- Frontend logging utility (log.ts) routing to Rust tracing
- Chat widget: hideCommands option to filter `!` messages
- EventSub: channel point redemption event mapping
- HMR-safe event bus subscriptions and IRC socket handling
- Fix: loadSuggestions race condition (async load vs in-flight additions)
- Fix: allocateHexId guard against infinite loop at 256 active IDs
- Auth: added channel:read:redemptions scope
@webbertakken webbertakken enabled auto-merge (squash) February 20, 2026 20:21
@webbertakken webbertakken merged commit 5febe0b into main Feb 20, 2026
8 checks passed
@webbertakken webbertakken deleted the feat/suggestion-box branch February 20, 2026 20:30
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