Back to Neon MultiStream Chat
Build notes · fixes · improvements

Development Log

Follow the public development history of Neon MultiStream Chat, including platform integrations, emote support, reliability improvements, and release updates.

Current release: v1.3.74
v1.3.74

Velora Point Redeem Notices & IPC Bridge

  • Connected Velora Point redemption events over the desktop IPC bridge with dedicated gold styling, diamond currency points, and reward metadata.
  • Added Velora chatter join announcements with deduplication to highlight viewers entering chat.
  • Fixed Electron preload event binding for Velora redemptions and resolved message deduplication handling.
v1.3.73

Velora Subscriber & Channel Emote Parsing Fix

  • Added colon-wrapped pattern matching for Velora channel and subscriber emotes (e.g., :KlumaNodders:) so picker and colon-formatted codes render as images rather than literal text.
  • Preserved all Velora channel emote collections without dropping subscriber tiers during catalog loading.
  • Expanded sender emote discovery and catalog indexing to recognize colon-prefixed subscriber codes across connected channels.
v1.3.72

Velora Profile Card Text & Mark Fidelity

  • Replaced the text placeholder with the official supplied gold Velora SVG mark.
  • Safely convert rich-text profile bios to plain text before displaying them in chat.
v1.3.71

Inline Velora Creator Profile Previews

  • Recognize direct velora.tv creator links and load their public profile metadata on demand.
  • Render the avatar, display name, pronouns, live/category status, and bio over the creator banner within the chat message.
  • Keep generic link previews for all non-profile links.
v1.3.70

Velora Chatter Profile Metadata Cards

  • Added on-demand profile cards with the public Velora banner, avatar, display name, pronouns, bio, and direct profile link.
  • Show live state and stream category when that public metadata is available.
  • Cache opened profiles for the current session to avoid repeated profile requests.
v1.3.69

VPZone Connection Visibility & Stalled Handshake Detection

  • Show VPZone connection attempts and failures in chat and the persistent Notices view instead of silently updating only the Connections panel.
  • Detect stalled VPZone WebSocket handshakes after 12 seconds, report the failure, and continue automatic reconnection attempts.
v1.3.68

Kick Pusher Reconnect Advisory (Code 4200) Handling

  • Recognized Pusher WebSocket code 4200 ("Please reconnect immediately") and 4201 as routine protocol reconnect advisories.
  • Re-established chatroom socket subscriptions immediately without backoff delay or posting error notices.
v1.3.67

Velora staff-community Badge Mapping & Fallback Dot Cleanup

  • Mapped Velora API slug staff-community to VeloraCommunityManagement.png so Community Staff renders with its official badge image.
  • Removed arbitrary fallback dot element generation for unmapped badge entities.
v1.3.66

Velora Badge Key Hierarchy & Historical Message Refresh

  • Updated Velora badge resolution to prioritize specific badge slug and name candidates over generic category types like "custom" or "role".
  • Mapped all Community Staff badge aliases and direct image URLs across active and past messages.
v1.3.65

Fixed System Notice Layout & Permanent Notices Log

  • Adjusted system notice grid columns and spacing so platform tags never collide with notice text.
  • Added official asset mapping for Velora Community Staff badges (VeloraCommunityManagement.png).
  • Renamed the tab to Notices, permanently retaining connection errors, disconnects, and provider updates for the session.
  • Excluded high-frequency Twitch chat join notices from the permanent Notices history.
v1.3.64

Dedicated Errors History Tab & Compact ALL Label

  • Shortened the main combined chat tab label to ALL for cleaner layout and extra room in the tab bar.
  • Added a dedicated Errors tab (and multi-pane platform option) retaining historical connection errors, quota limits, and system notices across the entire session.
  • Supported live search query filtering and dedicated log clearing inside the Errors tab view.
v1.3.63

Velora Socket Transport & Handshake Reliability

  • Configured Socket.IO client with dual WebSocket and polling transport fallbacks for maximum connection reliability across varied network topologies.
  • Streamlined joinChannel handshake acknowledgment to prevent false connection timeout rejections.
  • Preserved dynamic Velora badge catalog cache across channel re-joins and socket reconnections.
v1.3.62

Kick Chat Keepalive & Chatroom ID Caching

  • Added 30-second automated keepalive ping intervals on the Pusher WebSocket to prevent intermediate router/proxy timeouts.
  • Cached resolved Kick chatroom IDs in both memory and the Electron main process, eliminating redundant HTTP calls and Cloudflare edge blocks upon reconnect.
  • Kick chat reconnects now subscribe instantly to known chatroom channels with zero discovery overhead.
  • Suppressed repetitive reconnection banners in the chat log on silent network recovery.
v1.3.61

Decoupled YouTube Live State & Quota Protection

  • Strictly isolate account authorization state from live chat polling — authenticated accounts no longer trigger automatic chat polling.
  • Restrict broadcast search strictly to confirmed active streams (broadcastStatus=active), ignoring scheduled and upcoming broadcasts.
  • Eliminate all recursive background retry timers when not live; status checks are strictly on-demand or upon explicit user action.
  • Add session-sticky quota limit enforcement (quotaBlocked) that instantly stops and locks all YouTube API calls when quota limits are reached.
v1.3.60

Fixed Windows Taskbar & Application Icon

  • Embed the Neon MultiStream icon and version metadata into the packaged executable.
  • Ship the application icon with the packaged app so the window icon loads correctly at runtime.
v1.3.59

Updated App Icon

  • App window, taskbar, and title bar now display the official TeamMidnite icon.
v1.3.58

Velora Event Badge Catalog & Dynamic API Sync

  • Dynamic sync with Velora badge catalog endpoint (/api/badges/catalog).
  • Support for official Velora event badges including Pride Month 2026, New Year 2026, Christmas 2025, and Halloween 2025.
  • Automatic animated and static asset rendering for all present and future catalog badges.
v1.3.57

Official Velora Badge Artwork Mapping

  • Render verified official Velora PNG badge assets for Broadcaster, VIP, Bot, and Staff.
  • Retain clean vector provider badge fallbacks for customizable or unmapped badge types.
v1.3.56

Native Velora Badge Fidelity & Authoritative UUID Ownership

  • Consume Velora presentation badges directly from message payload for 1-to-1 fidelity with Velora chat.
  • Evaluate channel ownership authoritatively using message.userId === message.channelId.
  • Eliminate synthetic badge manufacture from generic user roles or global permissions.
v1.3.55

Velora Broadcaster Redundant Badge Suppression & Bot Badges

  • Directly consume raw Velora badge arrays and suppress redundant channel-level subscriber/moderator badges for the broadcaster.
  • Preserve legitimate user badges for all other chatters (moderators, subscribers, VIPs, verified, and partners).
  • Add Velora bot badge styling and support for automated system accounts.
v1.3.54

Velora Badge Separation & Broadcaster Detection

  • Separate the source platform mark from user identity badges so Velora chatter accounts no longer manufacture broadcaster status.
  • Render genuine Velora user/channel badges (subscriber, moderator, VIP, verified, partner, staff, admin, and custom assets).
  • Deterministically award the pink camera Broadcaster badge only when the sender ID or username matches the connected channel owner.
  • Preserve legitimate user badges without discarding them when the broadcaster speaks.
v1.3.53

YouTube Live Chat & User Profile Avatars

  • Re-enable YouTube Live chat connection card and dedicated tab with active polling and message sending.
  • Support both youtube.readonly (view account & chat) and youtube (manage live chat) OAuth scopes.
  • Restore user profile image avatars for all signed-in NeonLogin accounts and linked platforms.
v1.3.52

Twitch join notices

  • Announce viewers on JOIN lines only, with no PART/leave notices.
  • Expire each notice after 20 seconds and deduplicate per user for 60 seconds so repeats do not flood the log.
  • Never announce the connector's own anonymous or logged-in nickname.
v1.3.51

YouTube Chat Temporarily Disabled

  • Disable YouTube status, message, emote, and send requests behind the YOUTUBE_CHAT_ENABLED flag.
  • Keep the YouTube tab and connection card visible, clearly marked OFF.
v1.3.50

Twitch Point Redeem Fix

  • Restore the redemption broker on the server so redemption requests no longer return Service Unavailable.
  • Allow already-linked Twitch accounts to re-authorize so missing redemption permission can be granted without unlinking.
  • Show a clickable Reconnect action on the Twitch card and retry automatically after re-authorization.
v1.3.49

Twitch Channel Point Redeems

  • Receive custom reward redemptions through Twitch EventSub, including rewards without viewer input.
  • Display the viewer, reward title, typed input, and point cost without duplicating the IRC message.
  • Prompt existing users to reconnect Twitch once when the redemption permission is missing.
v1.3.48

Responsive Platform Tabs

v1.3.47

Historical Velora Badges

v1.3.46

Linked Message Author Alignment

v1.3.45

Preview Layout and Velora Badges

v1.3.44

Clickable Links and Rich Previews

v1.3.43

Galaxy Stars Restored

v1.3.42

Kick same-origin chat recovery

  • Resolves every linked Kick slug from its account ID instead of relying on a hardcoded or stale locally saved username.
  • Falls back to Kick's real same-origin web context when its edge rejects direct background chatroom discovery.
  • Detects subscription timeouts and provider rejections, reports them clearly, and reconnects with bounded backoff.
  • Does not require users with an existing valid Kick link to reconnect their account.
v1.3.41

Kick chat recovery and subscriber-emote fix

  • Moves Kick chatroom discovery into the desktop browser session so Kick no longer rejects the renderer request origin.
  • Reports Kick as connected only after the channel subscription is confirmed, with visible failures and automatic retries.
  • Fixes historical Velora subscriber emotes when channel or emote capitalization differs between provider responses.
  • Renames the visible application to “Neon MultiStream Chat” and moves the version into the Connections panel.
v1.3.40

VPZone follow event recovery

  • Fixes VPZone follows and other recent events disappearing from the combined chat after a socket reconnect, because VPZone replays recent events on every connection.
  • Accepts the per-connection event replay after each reconnect while preventing duplicate floods against messages already rendered.
v1.3.39

Velora registration referral links

  • Adds a “Register on Velora” link to the desktop connection card and the add-channel form, opening velora.tv/register?ref=Kluma in your browser.
  • Promotes Velora on the Neon Multistream product page with its official gold mark, a platform badge, and a create-account call to action.
  • Swaps generic placeholder icons for the official Kick, VPZone, and Velora brand marks in the product page platform badges.
  • Renders official Kick and VPZone logos in desktop chat badges and connection cards instead of K and V text placeholders.
  • Fixes restored Velora chat history by requesting it with the resolved channel UUID, so historical messages and their subscriber emotes now load.
v1.3.38

External Velora subscriber emotes

  • Discovers a Velora sender's channel emote set when they use subscriber emotes outside their own channel.
  • Caches external emote catalogs and rerenders the original message as soon as its asset is available.
v1.3.37

Gigantified Velora emotes

  • Increases Velora emotes from 42px to 52px when a message uses Gigantify.
  • Keeps ordinary Velora emotes at their existing larger size.
v1.3.36

Velora emote and effect reliability

  • Delivers the Velora emote catalog with the confirmed chat connection to eliminate the post-connect loading race.
  • Corrects compound glow and galaxy selectors so their individual colors render accurately.
  • Restricts the animated star field to galaxy effects.
v1.3.35

Velora chat emotes

  • Loads Velora public and channel-aware emote collections when chat connects.
  • Renders exact emote codes using Velora animated WebP assets.
v1.3.34

Official Velora chat icon

  • Replaces the placeholder Velora chat V with the supplied SVG mark.
  • Uses the icon on both the connection card and Velora message badges.
v1.3.33

Velora handshake reliability

  • Resolves a Velora channel to its provider UUID before subscribing to real-time chat.
  • Reports Connected only after Velora confirms the channel join.
  • Adds handshake timeouts, actionable errors, and an Experimental label while stability testing continues.
v1.3.32

Real-time Velora chat effects

  • Replaces the initial polling connector with Velora real-time Socket.IO chat.
  • Renders Velora glow, galaxy, rainbow, and Gigantify message effects.
  • Carries pronouns, badges, author colors, timestamps, and message deletion events into the unified chat.
v1.3.31

Velora public chat

  • Adds Velora as a first-class chat tab and pane option.
  • Reads public Velora channel chat with automatic polling, retries, and message deduplication.
  • Saves the selected Velora channel per identity and clearly labels the connector as read-only.
v1.3.30

Persistent Twitch connection keepalive

  • Sends an active Twitch IRC keepalive every minute so quiet chats remain connected.
  • Reconnects only when Twitch fails to answer the connection keepalive instead of treating normal chat silence as a dead socket.
  • Uses the same stable connection health checks for primary and extra Twitch chats.
v1.3.29

Chat scrolling and new-message follow

  • Fixes the chat viewport so mouse-wheel and scrollbar navigation work normally.
  • Automatically follows new messages while the viewer is at the bottom.
  • Preserves the current position when the viewer scrolls up to read older messages.
v1.3.28

Long-running multichat stability

  • Keeps primary and extra Twitch chats alive with watchdogs and automatic reconnects.
  • Prevents emote refreshes from disabling Twitch connection monitoring.
  • Bounds chat memory use and batches rendering and history writes so busy chats remain responsive.
v1.3.27

Current Alejo pronouns API

  • Uses Alejo Pereyra's current api.pronouns.alejo.io/v1 API, matching current Chatterino.
  • Keeps the legacy API as a migration fallback.
  • Rechecks missing pronouns after two minutes instead of caching them for 30 minutes.
v1.3.26

Twitch badges and pronouns

  • Renders official Twitch global and channel-specific badge images from Twitch Helix.
  • Shows opt-in Twitch pronouns from Alejo Pereyra's Pronouns API beside chat identities.
  • Caches pronoun results and keeps symbolic badge fallbacks when either service is unavailable.
v1.3.25

VPZone offline chat connection

  • Discovers linked VPZone accounts through the authenticated broker even when the initial NeonLogin payload omits VPZone fields.
  • Connects to VPZone public read-only chat when OAuth tokens are missing, including while the stream is offline.
  • Refreshes expiring VPZone OAuth tokens and preserves automatic WebSocket recovery.
v1.3.24

Twitch profile avatar

  • Shows the signed-in user's current Twitch profile picture in the desktop header.
  • Uses a generic Twitch logo when Twitch has no profile picture or the image cannot load.
v1.3.23

Official Twitch chat glyph

  • Replaces the generic Twitch T chat marker with the recognizable Twitch logo glyph.
v1.3.22

Always-on Twitch and VPZone chat recovery

  • Reconnects Twitch chat automatically after network interruptions, computer sleep, and stale IRC connections.
  • Keeps retrying VPZone chat after WebSocket or broker failures instead of remaining disconnected.
  • Detects silent VPZone connection failures with heartbeat checks and repairs them automatically.
v1.3.21

Compact default window sizing

  • Opens the desktop window at 578 × 1000 by default.
  • Keeps the window resizable with a 578-pixel minimum width to protect the platform tabs.
v1.3.20

Linked-chat empty-state correction

  • Hides Set up connections when a chat provider is already linked or configured.
  • Shows a quiet connected-state message while waiting for chat activity.
  • Shows a distinct no-results message when filtering chat.
v1.3.19

Account-isolated chat and connection security fix

  • Isolated saved chat history and monitored channels by NeonLogin identity.
  • Removed hardcoded developer-channel auto-connections.
  • Only auto-connects Twitch and Kick when linked to the active account.
  • Resets live connections and visible messages when the signed-in identity changes.
  • Ignores late Kick events from a previous account connection.
v1.3.18

VPZone button state binding & Check for Updates integration

  • Drove VPZone row subtitle and button state from single authoritative isLinked boolean.
  • Updated VPZone button state to Linked when connected, matching YouTube and Kick.
  • Added Check for Updates button to Streaming connections modal.
  • Bumps release binary to v1.3.18.
v1.3.17

In-app update downloader target fix

  • Updated in-app update prompt target URL to point to the secure download broker.
  • Guarantees instant update download without static path 404 issues.
  • Bumps release binary to v1.3.17.
v1.3.16

Download headers & build cache-busting release

  • Updated downloads directory headers to prevent browser/CDN 404 caching.
  • Fresh build v1.3.16 for desktop client.
v1.3.15

VPZone & platform account link state-binding fix

  • Fixed VPZone connection state binding in Streaming connections modal.
  • Ensured backend account-link data is the single source of truth.
  • Disentangled account linked status from active live-chat session status across all platform rows.
  • Added diagnostic logging for VPZone account link state & user identification.
v1.3.14

Streamlined connections menu & Join Extra Channels interface

  • Re-worded the "Add a chat" section into "JOIN EXTRA CHANNELS" with explicit Twitch/Kick channel inputs.
  • Updated VPZone initial card status and button handlers.
  • Bumps release binary to v1.3.14.
v1.3.13

Unified platform channel display & connection status

  • Updated all platform cards to explicitly show "Connected to #user" with authenticated channel handles.
  • Refined YouTube and VPZone offline and linked connection status details.
  • Bumps release binary to v1.3.13.
v1.3.12

Multi-platform user account isolation & VPZone disconnect controls

  • Removed all hardcoded fallback defaults across Twitch, YouTube Live, Kick, and VPZone.
  • Ensured every chat connector dynamically connects to the authenticated user’s own linked accounts.
  • Added interactive Connect and Disconnect controls for VPZone in the Connections menu.
  • Updated unlinked platform states to show clear prompts and link-account actions.
v1.3.11

Chat clearing and automatic cleanup

  • Added a toolbar button that clears the selected platform or all combined chat.
  • Automatically clears a monitored Twitch creator’s messages when their channel is removed.
  • Clears the previous creator’s messages when Twitch or Kick is replaced, or YouTube or VPZone is unhooked.
  • Synchronizes cleared messages with local history so they do not return after restart.
  • Published SHA-256: 06878e015d8353a359d77b001ee521be1dbb84ad5b9e69d253e989b7ba3e74e2.
v1.3.10

User badges and channel attribution

  • Added broadcaster, moderator, VIP, subscriber, founder, member, and verified-style badges when supplied by each platform.
  • Added a channel label beneath usernames so combined chat shows where every message was posted.
  • Included badge and channel metadata in locally restored chat history.
v1.3.9

Automatic update notifications

  • Checks the official release manifest shortly after the app starts.
  • Prompts when a newer version is available and opens the official installer download.
  • Stays silent when the app is current or the device is offline.
v1.3.8

Multi-chat monitoring and persistent history

  • Added an add-chat selector for Twitch, Kick, YouTube Live, and VPZone.
  • Added persistent local chat history with the latest 500 messages restored at full brightness.
  • Added removable monitored Twitch channels and right-click Twitch moderation actions.
  • Improved username contrast automatically for dark chat backgrounds.
v1.3.7

Complete YouTube emoji coverage

  • Added YouTube’s public generic emoji catalog with thousands of supported entries and shortcuts.
  • Added on-demand discovery for channel member and subscriber emotes after they appear in live chat.
  • Cached emoji data to minimize network requests and avoid additional YouTube Data API quota.
v1.3.6

YouTube custom emoji rendering

  • Converted YouTube colon codes into their proper live-chat images.
  • Supported consecutive custom emojis without requiring spaces between them.
v1.3.5

Native VPZone emote maps

  • Matched VPZone’s official embedded-chat behavior by reading each message’s emote map.
  • Added support for both bare emote names and colon-wrapped codes.
v1.3.4

VPZone emote groundwork

  • Added VPZone emote catalog and live-message metadata support.
  • Improved linked-account connection reliability.
v1.3.3

Kick emotes

  • Rendered Kick emote tokens through Kick’s public image service.
  • Supported repeated static and animated emotes.
v1.3.2

Cleaner chat history

  • Made temporary connection notices fade and disappear after 20 seconds.
  • Kept real viewer messages in place so chat remains easy to follow.
v1.3.1

Reliable releases and emote loading

  • Fixed duplicate Twitch connections and doubled messages.
  • Added resilient Twitch, FFZ, BetterTTV, and 7TV emote loading.
  • Improved live/offline detection and preserved dimmed chat from previous streams.
  • Introduced unique release filenames to prevent browser and CDN cache collisions.
Download v1.3.74 Product page