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.104
v1.3.104

Consistent Twitch GIF Sizing

  • Native Minion, Thor, and similar Twitch GIFs can render up to 180×180 pixels.
  • GIFs preserve their intrinsic aspect ratio without stretching or cropping.
  • EventSub parsing and GIF detection behavior are unchanged.
  • Packaged and published the Windows x64 portable executable with updated auto-updater manifest sync.
v1.3.103

Larger Native Twitch GIFs

  • Increased native Twitch GIF display height from 72px to 100px.
  • Kept a maximum width of 220px so GIFs remain contained within chat.
  • Packaged and published the Windows x64 portable executable with updated auto-updater manifest sync.
v1.3.102

Compact GIF URL Rendering

  • GIF URLs are constrained to a maximum 180×180 pixel display box while preserving their aspect ratio and animation.
  • Ordinary PNG, JPEG, WebP, and other image URLs remain clickable links instead of rendering inline.
  • The Windows x64 portable executable was packaged and published with the updated auto-updater manifest.
v1.3.101

Updater Twitch Reauthorization Guidance

  • Update dialogs now link users to https://teammidnite.tv/NeonLogin/account.php for Twitch authorization recovery.
  • Users are instructed to unauthorize Twitch and re-authorize it when possible so the user:read:chat scope can be granted.
v1.3.100

Twitch GIF Authorization Prompt

  • The Twitch connection card now identifies missing GIF authorization instead of silently remaining in a partial EventSub state.
  • The Reconnect Twitch action opens the NeonLogin linking flow with the new user:read:chat scope.
v1.3.99

Twitch Tier GIF EventSub Support

  • Subscribed to Twitch channel.chat.message events alongside the existing point-redemption stream.
  • Rendered Twitch GIF fragments from their provider-supplied animated asset URLs instead of showing bracketed placeholder text.
  • Added the user:read:chat OAuth scope to the Twitch linking flow.
  • Existing linked accounts should re-link Twitch once in NeonLogin to grant the new scope.
  • Packaged and published the Windows x64 portable executable with updated auto-updater manifest sync.
v1.3.98

Multichat GIF Support & Quiet Connection Reconnects

  • Direct GIF, PNG, JPG, WebP, and AVIF links now render inline in chat.
  • Giphy and Tenor media previews display their shared animation when the provider exposes an image preview.
  • Velora reconnects no longer repeat the same “Connected…” reminder after a temporary connection drop.
  • Connection notices still appear when switching to a new channel or account.
  • Packaged and published the Windows x64 portable executable with updated auto-updater manifest sync.
v1.3.97

Updated Velora Badge Catalog and Role Assets

  • Updated broadcaster, VIP, bot, staff, and community management badges to the latest cache-busted Velora assets.
  • Added aliases for streamer, broadcaster, administrator, Velora staff, and community management role names.
  • Expanded catalog parsing so newly published Velora badges can be discovered across supported image and identity fields.
  • Packaged and published the Windows x64 portable executable with auto-updater manifest sync.
v1.3.96

VPZone Sunset & Streamlined Multi-Platform Architecture

  • Sunsetted and cleanly removed all VPZone chat integration, WebSocket connection handlers, and background reconnect timers.
  • Removed VPZone tabs, target selection menus, connection list cards, and OBS overlay platform toggles from the application UI.
  • Updated credential broker and authentication handlers to remove VPZone endpoints.
  • Streamlined platform connectors to Twitch, YouTube Live, Kick, and Velora with improved startup performance.
  • Packaged updated Windows x64 portable executable with release manifest sync.
v1.3.92

Velora Optimistic Send & Read/History Unified Badge and Decoration Enrichment

  • Unified optimistic message creation with the authoritative addVeloraMessage and collectVeloraBadges enrichment pipeline.
  • Fixed badge resolution to preserve native Velora priority order (Broadcaster -> Staff/Admin -> Moderator -> VIP -> Subscriber -> Event/Profile Badges -> Team -> Bot).
  • Newly sent messages now immediately render with full user badges (Broadcaster, Admin, Pride Month 2026, TeamMidnite), pronoun badge ("He/Him"), secondary handle (@tag), and accent color.
  • Added seamless provider id reconciliation and duplicate prevention when send confirmations and Socket.IO events arrive.
  • Rendered secondary handle / tag metadata next to message authors in both main chat and the OBS overlay.
  • Verified complete consistency between optimistic send rendering, live event reception, and history reload.
v1.3.91

Velora Credential Broker Route Fix & Seamless OAuth Refresh

  • Fixed Apache ProxyPass rule so /api/multistream-velora.php is properly handled by PHP rather than being caught by the Node.js API proxy.
  • Resolved 503 error preventing the desktop app from obtaining linked Velora credentials and OAuth write/moderate tokens.
  • Channels linked in NeonLogin (such as #kluma) now connect with full moderator and chat active privileges instead of falling back to read-only.
  • Added automatic token refresh and transparent retry on HTTP 401 in sendVeloraMessage and moderateVeloraUser.
v1.3.90

Broadcaster Direct Chat on Platform Selector & All-Channels Isolation

  • Broadcasters can now send chat messages to their own channels when specifically selecting that platform on the dropdown selector (e.g. Velora, Twitch).
  • Completely cleared permission required warnings when the broadcaster is chatting in their own channel on that platform.
  • Enforced strict isolation on "All connected" so broadcaster-specific overrides never blast messages across all channels without verified write authorization.
  • Added channel parameter fallback in the credential broker to link streamer credentials by channel name.
v1.3.89

Velora Instant Chat Permission Unlock & Token Scope Backfill

  • Fixed Velora chat sending check to allow all authenticated users with chat:write to chat in any joined channel (removed isOwner restriction on sending).
  • Added automatic permission verification and state refresh when switching targets to Velora or clicking the message input.
  • Enhanced the credential broker to automatically recognize and backfill chat:write and chat:moderate permissions for active authorized OAuth tokens.
  • Updated status displays to accurately show moderator, chat active, or read-only mode instead of defaulting to read-only.
v1.3.88

Velora 7TV Explicit Emote Signal & Live Auto-Update

  • Configured dynamic 7TV emote resolution to trigger specifically on explicit colon-delimited tokens (:emote:), avoiding unintended lookups on normal text.
  • Restricted bare-word 7TV emote rendering to Velora approved/popular allowlist and community sets.
  • Preserved original text verbatim when an explicit :name: emote query does not resolve.
  • Packaged complete Windows x64 release with updated update manifest for seamless in-app upgrade.
v1.3.87

Velora Chat Sending, Moderation, Standalone Overlay 7TV & Multiline Message Wrapping

  • Added Velora chat message sending with 500-character limits and OAuth chat:write permission handling.
  • Added Velora chat moderation actions (Delete message, Timeout 1m/10m, Ban user) via context menu and quick menu button with local history suppression and OBS overlay sync.
  • Integrated room clear synchronization between the desktop client and Velora WebSocket chatCleared events.
  • Added full 7TV emote support for Velora messages with bare words and :colon: parsing, preloading global and Velora community sets, and dynamic batch querying.
  • Enabled standalone 7TV emote pulling directly within the OBS browser source overlay via local /api/overlay/emotes/velora endpoint and direct 7TV fallback.
  • Removed single-line message truncation across horizontal overlay themes, enabling multiline wrapping (overflow-wrap: anywhere; word-break: break-word) so long messages and full paragraphs display completely without ellipses.
v1.3.86

Horizontal Clean 2-Row Stacked Segments Restoration

  • Configured each message segment as a 2-row block: top row for badges, platform icon, and username; bottom row for message text and emotes.
  • Enforced strictly single-line non-wrapping for the message row (white-space: nowrap with ellipsis truncation on overflow).
  • Arranged multiple message segments side-by-side horizontally across the transparent 1920px canvas.
  • Preserved role/platform vertical left-border accents, inline emotes, and bottom anchoring.
v1.3.85

Horizontal Clean Canvas Width Continuation Fix

  • Configured .card-content and all child spans/paragraphs to display inline with white-space: nowrap and word-break: normal.
  • Expanded card and message text max-width to the full available canvas with text-overflow: ellipsis only at the canvas boundary.
  • Preserved compact identity header position and inline emotes on the single horizontal line.
v1.3.84

Horizontal Clean Strict Single-Row Non-Wrapping

  • Fixed horizontal card layout to inline-flex row with word-break: normal, overflow-wrap: normal, and white-space: nowrap.
  • Ensured messages remain on a single horizontal line with ellipsis truncation when overflowing available space.
  • Enhanced author and message font scale (1.05em) and multi-layered text shadowing for high contrast over stream video.
v1.3.83

Horizontal Clean Single-Line Ticker Enforcement

  • Enforced flex-wrap: nowrap and white-space: nowrap across all author badges, username, and message body segments.
  • Fixed overlay strip height to a clean horizontal chat line (48px) with vertically centered content alignment.
  • Added automatic text-overflow: ellipsis truncation for long messages overflowing available card width without increasing container height or wrapping.
  • Kept inline emotes aligned directly within the single chat line and preserved transparent background and bottom anchoring.
v1.3.82

Horizontal Stream Bar Overlay Theme

  • Engineered flex-row horizontal ticker layout positioned along the bottom (or top) of the full transparent OBS canvas.
  • Added vertical colored left-border accent lines indicating author roles (Broadcaster, Moderator, VIP, Subscriber) and multi-platform color fallbacks.
  • Structured compact two-tier message items with platform icon, badges, uppercase username, and pronouns on the top row, and message content/emotes directly underneath.
  • Added smooth horizontal slide-in micro-animations and seamless message queue management.
  • Supported URL query parameter overrides: ?theme=horizontal&position=bottom or ?position=top.
v1.3.81

Vertical Clean Transparent OBS Chat Feed

  • Removed large dark rectangular card backgrounds, frosted glass blur, and card borders in favor of a clean transparent feed.
  • Added crisp high-contrast text shadowing for direct overlay visibility across bright and dark stream video.
  • Structured compact two-tier message layout: platform icons, badges, username, and pronouns on the top line; text, emotes, and links directly below.
  • Preserved full transparent 1920px OBS canvas, configurable narrow column width, left/right anchoring, flow direction, and self-generated Neon diagnostics.
v1.3.80

Vertical Clean Column Width Fix

  • Added configurable column width with a 380px default and responsive sizing, anchored using Column Position.
  • Kept messages wrapped inside the column and preserved URL overrides when live settings arrive.
  • Preserved self-generated Neon Test behavior and verified layout at 1920px and 320px canvas widths.
v1.3.79

Vertical Clean Positioning & Neon Overlay Test Diagnostics

  • Configured Vertical Clean to keep the OBS canvas full-width (1920px) and transparent while anchoring the chat column to the left or right side without horizontal centering or stretching.
  • Refined compact message layout with platform icon, badges, username, and pronouns on the top line and wrapped message text or emote underneath.
  • Standardized the "Send Test Message" feature into a self-generated Neon diagnostic test that operates independently of platform filters.
  • Added /api/overlay/test and /api/overlay-test REST endpoints alongside the IPC handler for instant overlay diagnostic testing.
v1.3.78

Vertical Clean OBS Overlay Theme

  • Added "Vertical Clean (Side Column)" theme option with responsive vertical stacking, narrow max width, and automatic text wrapping.
  • Engineered subtle micro-slide and fade animations with translucent background cards and crisp outline shadowing.
  • Preserved all multi-platform badges, Velora custom rewards/emotes, moderation deletions, and bottom-up/top-down flow directions.
v1.3.77

OBS Overlay Badge & Emote Proportions Fix

  • Applied explicit font-proportional dimensions to all user badges, platform SVG icons, Velora official badges, and inline emotes in the OBS overlay.
  • Prevented high-resolution badge image assets from taking up excessive screen space over game capture.
  • Note: YouTube Live is being stubborn with live chat discovery / rate limits; investigating broker polling improvements.
v1.3.76

OBS Chat Overlay Pop-Out & Browser Source

  • Added real-time local streaming server on port 39111 supporting direct OBS Studio Browser Source integration via Server-Sent Events (SSE).
  • Added a dedicated Pop-Out Overlay desktop window with frameless transparent rendering and auto-hiding window controls for OBS window capture.
  • Built an Overlay Customization modal with live styling (Neon Glass, Clean Transparent, Cyber Glow, Solid Dark), message auto-fade timers, font scaling, and platform filtering.
  • Synchronized live moderation and chat clearing across all active stream overlays in real time.
  • Fixed Twitch Channel Point redemption session expiration by automatically refreshing NeonLogin tokens on HTTP 401.
  • Added a "Send Test Message" trigger to quickly preview overlay animations and styling on stream.
v1.3.75

Twitch Redemption Recovery & Velora Points Routing

  • Wait for Twitch subscription confirmation, retry temporary broker failures, monitor keepalives, and transfer the feed safely during Twitch-requested reconnects.
  • Stop redemption monitoring cleanly on logout or revoked authorization and show an actionable reconnect prompt when permissions expire.
  • Render Velora pointsCelebration and points-celebration history payloads using the reward title, cost, viewer input, and event timestamp.
  • Deduplicate Twitch and Velora redemption alerts when live chat, EventSub, and saved history deliver the same reward.
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.104 Product page