Skip to content

Conversation

@willyliu-17
Copy link
Collaborator

Stability & Crash Fixes

  • Fixed multiple crashes occurring during shutdown, logout, authorization, and stream stopping.

  • Resolved memory safety issues and hanging processes when exiting.

Chat System

  • Refactored chat to use native OBS Browser Dock and integrated Ably.

  • Improved connectivity, reconnection logic, and history loading for Twitch and YouTube.

Multi-RTMP

  • Enhanced error reporting and added re-authorization prompts.

  • Fixed "Stop All" functionality and optimized video/audio encoder settings.

UI & Features

  • Added support for gift animations in the preview window.

  • Renamed "Rock Zone" to "Rock Area" and fixed list display and deletion bugs.

  • Expanded crash report collection capabilities in diagnostics.

* fix crash in twitch chat client

* update windows package scripts

* fix combobox crash error

* remove duplicate confirm of delete rtmp

* add authfailed process

* add title for multirtmp dock

* update services for multi-rtmp

* remove unknown settings

* fix status processing error

* add default encoders for multi-rtmp

* update video&audio property settings

* remove unused config

* remove  redundant fields for video & audio

* fix audio & video config loading

* restructure preview code

* Update preview structure

* Update multi-rtmp config window size

* update multi-rtmp config buttons

* fix start stream error

* update youtube server list

* sort chat dock structure

* fix chat message scrolling

* Add chatDock dependency check

* sort rockzone & streamlist code

* add wsclient to simplify twitch chatclient

* sort ws and twitch chat client

* change log type

* update receive twitch chat message

* update twitch chat message processing

* remove debug log

* Update youtube api access

* change close chatDock hint

* Update youtube chat connection message

* Update youtube chat message display

* remove debug log

* set youtube refresh token async

* update multi-rtmp start stream

* Add multi-rtmp error list display

* add re-auth

* Update multi-rtmp error messages

* Update item status & name style

* optimize error processing

* fix preview size error

* update log

* debug env input

* Harden auth dialog lifecycle to avoid segfault on urlChanged by using WA_DeleteOnClose and queued accept; reauthorize button text clarifications

* update exiting chatdock confirmation

* set invisible if authorized

* add ably chat client

* Update chat message transmit

* update ably chat messages processing

* use ws server transmit ably chat

* Update ably chat client connection

* fix ably client break error

* fix 17live chat connection status

* remove unused dock dependency

* fix potential crash issue

* simplify chat web code

* clang code

* remove hardcode display text

* re-sort ably chat client

* add queue for chat messages

* fix crash error

* load chat history

* fix React error

* fix react dom error

* fix stuck in ws session

* fix access memory conflict

* fix potential crash issues

* optimize initializ

* fix stuck error

* fix twitch crash error

* fix: crash for invalid handler

* Fix: error variable

* init hidden ably relay

* restructure ably relay with js

* update for windows

* update ci scripts

* update for exit clean

* fix crash error

* handle shutdown gracefully

* fix preview unused paint func

* update twitch chat connection status

* Update youtube chat connection status

* update multi-rtmp config settings

* Update youtube & twitch auth & unauth

* update locale

* clang format

* fix youbube play error

* fix missing locale keys

* fix status condition

* set roomInfo default values if no stream

* fix landscape caption error

* fix twitch chat client exit error

* adjust twitch chat client connect time

* set Youtube stream status

* set twitch server url by service config

* fix exit stuck error

* stop stream immediately

* fix multi-rtmp output stop

* remove shutdown timer to avoid too long wait

* avoid request with empty token

* add log for output

* remove unused path

* import SChannel for windows tls

* add log for twitch chat check

* SChannel connect with twitch chat

* fix none join error

* fix close stream output error when exit obs

* optimize exit process

* update  preview config settings

* fix browser source loading conflict

* remove unused widgets

* fix closing multi-rtmp config

* fix closing multi-rtmp config dialog

* initialize varibles to avoid crash in Windows

* Fix uninitialized variables and cleanup unused code

* Add RockZone empty list placeholder and fix ghost item

* reload chat connection after startstream

* Fix crash by delaying chat reload on stream start

* Fix RockZone empty items and improve memory safety

* Improve memory safety in UI widgets using QPointer

* Fix invalid static_cast on QPointer and use qobject_cast for safety

* fix config display error

* update customevent whatever

* fix error local for Auth.Help

* fix custom event error

* stop eventcooldown when stop stream

* update vff to support queue

* Change "Rock Zone" to "Rock Area"

* Fix preview reopen: recreate display; stop cooldown after close

* UI+core tweak

* Ctor decl fix

* Bind QTimer to main thread; stop via invokeMethod across callbacks

* Bind chat to Twitch stream lifecycle

* Start/stop YouTube chat with stream; min poll interval 10s

* Wrap+center notification text; limit label width

* update priview notification

* Move notification text to dock; remove in-widget bar; preserve preview behavior

* fix missing locale keys

* Prevent delete deadlock: call destroy on core thread when available

* remove config when deleting stream

* update locale RockZone.PokeUser

* Hide PowerShell window; use LiteralPath; pwsh fallback; folder fallback if zip fails

* Cleanup tokens and chats when deleting Multi-RTMP config

* add local storage for browser source

* Replace relay with Ably chat client integration

* Warn and skip when VFF fields missing or empty

* add output video settings

* comment auto resize output video

* remove old chat relay funcs

* Fix CEF parent to container; restore tab rendering

* update cef versions

* Remove preview widget minimum size; follow dock width

* Send YouTube chat break on stop

* Fix property widget crash and ghost UI artifacts

* Add error dialogs for failed stream creation and start

* Add gift loading overlay to preview dock

* Prevent duplicate gift API calls during loading

* Fix paintEngine warning and refactor preview initialization

* Fix shutdown crash by disconnecting signals in destructor

* Fix stop stream stuck in connecting state by handling null output

* Fix Stop All button failing for connecting streams

* Add chat dock loading overlay and support async gift fetching

* Fix unused variable warning in MacOS diagnostics collector

* Support collecting OBS crash reports with .ips extension and OBS_ prefix

* Recursively collect latest 5 OBS crash reports including subdirectories

* Extend crash report collection window to 30 days

* Relax OBS crash report prefix check to obs/OBS without underscore

* Initialize PreviewWidget with overlayUrl to ensure immediate availability

* update log

* Fix UI freeze by making streaming and Ably operations async; add safety checks.

* update log flag

* fix thread conflict

* remove log

* update diagnostics progress display

* Improve async safety, diagnostics UI, and fix crashes/freezes.

* Implement graceful shutdown and fix duplicate server logs

* Fix Ably chat connection instability and inaccurate status reporting

* Fix ChatDock layout issues on tab switch and resize

* delete dummy_source immediately

* add locale Live.Create.Failed

* Refactor threading to use QThreadPool and fix compilation errors

* Replace OneSevenLiveChatDock with OneSevenLiveChatRoomDock and update build config

* Refactor: Use OBS native browser dock instead of custom QCefView

* Refactor chat dock to use OneSevenLiveChatWidget for better CEF integration

* remove customized cef integration

* Refactor AuthDialog to use obs-browser panel and fix crash

* Fix auth error dialog z-order and freeze issues

* Fix shutdown crash: properly destroy chatDock and process deferred deletions.

* support macOS universal build

* Ensure streaming fully stops before destroying outputs to prevent audio crash

* Fix chat dock sizing on Intel: use zero-margin layout; overlay uses contentsRect

* update macOS ci build

* fix ci script error

* fix preconfig for Windows

* update Live.Create.GetSelfInfoFailed locale

* clear Youtube & Twitch tokens when logout

* fix pointer lost

* play ext gift cartoon

* fix: undeclared identifier 'gm'

* fix: check extID empty before getGiftByID

* refactor: simplify gift playback logic and improve readability

* fix: validate vffURL and vffJson are not empty in hasVFF check

* add log to check cartoon info

* fix vff player block error

* Ably resume fix

* Fix: Treat WebSocket close code 1000 as normal closure

* Fix: Async callback crashes using QPointer protection

* Feat: Add localized error message for phone verification (code 39)

* Fix crash on logout: correct destruction order and add safety checks

* fix lost platform in history

* Fix crash by destroying floating chat dock on close

* Fix CEF initialization and cleanup to match OBS Studio pattern

* Add detailed logging for chat dock visibility and lifecycle to debug crash

* Fix double browser close crash by calling shutdown before deleteLater

* Avoid re-initializing CEF if already initialized by OBS Studio

* Fix exit crash by calling shutdown on chat widget in closeAllDocks

* fix rockviewers display

* fix update item empty state

* Prevent crash toggling chat dock; default size 400x600

* update create rtmp error handling

* set default gift message display when gift info is not exist

* refresh gifts data when starting live

* fix chatDock initial size

* Fix flickering stats display; unify YouTube phase timeouts; restore readonly scope for chat

* update youtube connection

* fix initial dock size

* update Api.Error.Generic

* Refactor YouTube orchestration: select stream, create if absent, transition live, sequential timeouts, chat discovery triggered

* add alert when stop stream for other stream

* fix duplicate connect signal

* fix delete widget

* comment Youtube functions

* close all websocket connection before logout

* setting docks to nullptr before logout

* fix play cartoon logic

* Add Windows non-installer zip artifact in CI and build script

* clear rockzone when close live

* don't fetch rockviewers default

* Fix RockZone list item deletion; prevent double free crash

* fix checkInLevel display

* Diagnostics: collect all OBS logs, no 5-file cap

* Format code in src with clang-format

* fix redefine

---------

Co-authored-by: Zhu Yu <mike.zhuyu@gmail.com>
@willyliu-17 willyliu-17 requested a review from YC-Chang December 15, 2025 06:59
@gemini-code-assist
Copy link

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@willyliu-17 willyliu-17 merged commit 837f017 into main Dec 15, 2025
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.

3 participants