Releases: Kimsec/Stream-Control
Releases · Kimsec/Stream-Control
v1.1.0
Changelog
Added
- NOW ON GUNICORN FOR PRODUCTION 🥳
- Advanced panel is now grouped into sections: MiniPC, Chatbot, and Backend.
- Chatbot moderation UI: Add banned word/sentence (add-only) with a show/hide form (Add + Cancel).
- API endpoint:
POST /api/banned_wordsto append entries to the chatbotbanned_words.txtwith auto reload of wordlist. - Backend section: IP bans button linking to
/bans.
Fixed
- GUI scale tweaks
v1.0.0
Changelog
v1.0.0
🎉 First stable release! The testing phase is officially over - Stream Control v1.0.0 is now considered stable
Changed (v1.0.0)
- Chat tab layout now keeps the overall page height consistent whether the Twitch preview is visible or hidden by dynamically offsetting the chat container via
--preview-offset. - Preview toggle logic watches the embed height with a
ResizeObserver, ensuring the Twitch chat automatically shifts to sit directly under the live preview without introducing scroll.
Improvements
- Code polish across the preview/chat
- Fine-tuned the ResizeObserver wiring so preview height changes propagate instantly.
- General UI touch-ups (button states, modal handling) to keep the stable release feeling snappy.
v0.9.5
📢 v1.0.0 stable release coming soon! This is the final pre-release before v1.0.0. We're polishing the last details and conducting final testing.
This release represents the final feature set before our stable v1.0.0 release. We're now focusing on:
- Final stability testing
- Documentation improvements
- Bug fixes only
Changelog:
Added
-
Twitch viewer count in the OBS tab with live-only polling
- New API:
GET /twitch/stream_inforeturns{ is_live, viewer_count, title, game_name, started_at } - Frontend polls only while streaming; interval configurable via
window.__VIEWER_POLL_MS(default 10s)
- New API:
-
Top Twitch player embed
- Edge-to-edge container, muted autoplay, correct
parenthandling via template attributes - Double-click Chat tab to toggle; fully unloads iframe on hide to stop audio/data
- Uses the logged-in broadcaster automatically (cached from
/twitch/channel_info) for instant show - Prevent text selection on double-click for a clean gesture
- Edge-to-edge container, muted autoplay, correct
-
Power action confirmations
- Shared confirmation modal for Restart/Shutdown (in addition to Stop Stream)
- Repair Backend confirmation modal (restarts nginx and StreamGuard)
-
Guard robustness
- Health HTTP server now supports graceful shutdown, address reuse, and retry binding to tolerate fast systemd restarts
- Token validator triggers forced EventSub resubscription when a previously invalid token becomes valid again
- Bitrate guard supports
LIVE_SCENE_LOW_GRACE_SECto ignore low-bitrate blips immediately after switching to LIVE
-
Title/Category editor UX
- Debounced category search with request aborts; minimum 2 chars; similarity-ranked results (top 6)
- Prefills from a 5‑minute channel info cache and shows placeholders while loading
-
Restream editor UI
- Switched to class-based selectors; grid layout; cleaner icon buttons; compact mobile view (hide RTMP until editing)
-
Health panel mapping refined
- ChatGuard dot shows
wswhen WebSocket is up but subscription not yet confirmed; added stunnel service state mapping
- ChatGuard dot shows
Fixed
- Eliminated "Address already in use" on rapid
systemctl restartof StreamGuard (health server binds with reuse + retries) - Prevented accidental text selection when toggling the Twitch player
- Corrected chat fullscreen sizing and z-index so the player stays above the chat iframe
- Logs viewer polish: stale message guards and no duplicate backlog when following
v0.8.5
Changelog
Added
- Logs Viewer in the web UI (Mini‑PC tab → Logs):
- Service dropdown (StreamGuard, Chatbot, Nginx, Stunnel Kick, Stream Control)
- Line count selector (25/50/100), Follow mode via WebSocket
- Journalctl‑style timestamps (e.g., "Sep 08 04:56:38:"), color highlighting
- Clean switching without mixing logs, auto‑scroll, and buffer trimming
- API:
GET /api/logs?service=<key>&lines=<n>, WS:/ws/logs?service=<key>
- Health Indicators expanded:
- Shows Chatbot, Nginx, Stunnel, StreamGuard, ChatGuard, SLS, OBS, Twitch Events WS, Raid AutoStop, Token
- Concise labels and unified dot styling (ok/offline/error)
- Repair Backend button on Mini‑PC tab to restart core services (nginx and StreamGuard)
- IP Banning support with admin UI at
/bansand persistentbans.json
Changed
- Status emojis replaced with unified health dots across the UI
- EventSub resubscribe logic hardened:
- Immediate attempt on
session_welcome - Forced resubscribe when token transitions to valid
- Backoff to prevent spamming
- Immediate attempt on
Fixed
- Logs initial load always respects the selected line count (default 25)
- Prevent stale WebSocket messages when switching services in Logs Viewer
- Minor CSS/layout refinements for logs and mobile