Skip to content

feat: add support event message toggle - #34

Merged
BP602 merged 11 commits into
mainfrom
codex/update-rewards-ui-and-user-settings
Sep 16, 2025
Merged

BP602 merged 11 commits into
mainfrom
codex/update-rewards-ui-and-user-settings

Conversation

@BP602

@BP602 BP602 commented Sep 5, 2025

Copy link
Copy Markdown
Owner

Summary

  • style subscription, donation, and reward events with custom background
  • allow users to hide or show support events
  • handle receiving subscription, donation, and reward events from Kick

Testing

  • npm run lint

https://chatgpt.com/codex/tasks/task_e_68ba26fb56c0833198caf45126aadeb7

@BP602

BP602 commented Sep 5, 2025

Copy link
Copy Markdown
Owner Author

#30, #31, #29, #28, #32

@BP602

BP602 commented Sep 12, 2025

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector 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.

Codex Review: Here are some suggestions.

https://github.com/BP602/KickTalk/blob/dc86e7f9147a1d3bab30532db4cacc4a51168044/src/renderer/src/components/Messages/MessagesHandler.jsx#L27-L35
[P2] Respect silenced users for support event messages

The new support-event message types (subscription, donation, reward, stream_*) bypass the silencing filter. The filtering logic returns early for any message whose type is neither reply nor message, so the silencedUserIds check is never applied. As a result, silenced users’ support events will still render even though their regular chat messages are hidden, which defeats the point of silencing disruptive users who spam donations or subs. Consider applying the silencedUserIds filter whenever a message carries a sender.id, regardless of its type, or explicitly filtering these new types alongside standard messages.


Reply with @codex fix comments to fix any unresolved comments.

About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you open a pull request for review, mark a draft as ready, or comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex fix this CI failure" or "@codex address that feedback".

@BP602

BP602 commented Sep 12, 2025

Copy link
Copy Markdown
Owner Author

test cases

  • gift 1 sub
  • gift multiple subs
  • redeem channel points
  • stream start
  • stream end
  • subs
  • resubs
  • Goals progress (follower milestones)
  • Hosts
  • Raids
  • Bans
  • Timeouts
  • kick gifts

BP602 and others added 4 commits September 13, 2025 23:00
…telemetry

- Add explicit handlers for ChannelSubscriptionEvent and GiftsLeaderboardUpdated
- Fix channel extraction regex to handle reward events from chatroom_* format
- Enhance SupportEventMessage with sparkle icon and structured formatting
- Add comprehensive SCSS styling for reward events with custom backgrounds
- Fix context menu to hide reply option for support events (no content field)
- Add telemetry span creation for ReplyCapture validation errors with rich attributes
- Fix profile link fallback to use username when slug is undefined
Add handling for gift subscriptions, donations, rewards, and regular subs in SupportEventMessage.jsx, including gifted user display, count/total logic, and event-specific colors/backgrounds. Update Message.scss with icon tints (purple for subs, green for donations, gold for rewards, warm for gifts) and styling for usernames, actions, costs, and counts. Introduce gift-box.svg icon and import sparkle/gift icons. Minor updates to Message.jsx rendering, ChatProvider.jsx, CosmeticsProvider.jsx for metadata parsing, and sharedKickPusher.js for event processing. Add untracked donation-replay.js for replay functionality.
  - Show "StreamerName is now live: Title" with red bg + record icon
  - Show "StreamerName has ended the stream" with gray bg + eye icon
  - Add clickable usernames and bold keywords
  - Integrate with existing support events system
@BP602
BP602 force-pushed the codex/update-rewards-ui-and-user-settings branch from dc86e7f to a3fe477 Compare September 13, 2025 21:34
Added "ws" (^8.18.3) to dependencies for WebSocket support in the application. Introduced npm scripts "collect-events" and "analyze-events" to run event collector and analyzer tools from scripts/event-collection, enabling easier debugging and performance analysis of user events. Updated package-lock.json accordingly.
Refactor the SupportEventMessage component to use Phosphor Icons library
instead of individual SVG assets for event types (reward, subscription,
donation, stream_live, stream_end). This replaces <img> tags with conditional
icon components, adds consistent sizing (24px), fill weights where needed, and
improves accessibility by moving alt text to aria-labels on icons.
…pe support

Normalize ChatMessageEvent type "celebration" (metadata.celebration.type=subscription_*) to support:subscription with months from total_months
Add 15s dedupe across celebration-derived and explicit Subscription|Donation|Tip|Reward events to prevent duplicates
Add pooled receiver catch‑all: emit raw for unknown non‑pusher events mapped to chatrooms; telemeter unknown_event_mapped/unmapped
Wire raw through ConnectionManager and ChatProvider; record telemetry only (no UI impact)
Update docs/kick-websocket-channels.md with celebration subtype and classification guidance
@BP602

BP602 commented Sep 15, 2025

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 👍

About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you open a pull request for review, mark a draft as ready, or comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex fix this CI failure" or "@codex address that feedback".

… handling

  - Add chat mode telemetry tracking with type mismatch detection
  - Implement comprehensive support event parsing (host, raid, goal progress, moderation)
  - Update InfoBar with unified chat mode detection logic across multiple sources
  - Add ChatEvents settings section for event configuration
  - Enhance SupportEventMessage with typed icons and structured data display
  - Add safeChatroomIdMatch helper with telemetry reporting for ID type mismatches
  - Update connection manager and Kick API services for improved event handling
  - Remove large event collection file from git tracking (kept in .gitignore)
@BP602

BP602 commented Sep 15, 2025

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector 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.

Codex Review: Here are some suggestions.

Reply with @codex fix comments to fix any unresolved comments.

About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you open a pull request for review, mark a draft as ready, or comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex fix this CI failure" or "@codex address that feedback".

Comment thread src/renderer/src/components/Messages/MessagesHandler.jsx Outdated
@BP602

BP602 commented Sep 16, 2025

Copy link
Copy Markdown
Owner Author

Aso fixed emote only mode not being recognized

@BP602
BP602 merged commit e1dd4c8 into main Sep 16, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant