Releases: bhaskarjha-com/sbobs
Releases · bhaskarjha-com/sbobs
v6.0.0 — One-Click Stream Setup
SessionPulse v6.0.0 — One-Click Stream Setup
A major release that turns SessionPulse into a true one-click stream setup. Quick Setup now auto-configures backgrounds, alert sounds, and overlays — all in a single button press. This release also resolves critical bugs in dock data connectivity and background scaling.
⚠️ Breaking Changes
- Overlay-first Quick Setup — Quick Setup no longer auto-creates 5 text sources (
SP Timer,SP Session,SP Count,SP Progress,SP Status). Overlays handle all visual display. Power users can still manually create text sources. - Asset directory reorganized — Screenshots moved to
assets/screenshots/, backgrounds inassets/backgrounds/, sounds inassets/sounds/.
✨ What's New
One-Click Stream Setup
- 3 AI-generated background images bundled in
assets/backgrounds/— color-matched to each session type (Focus: green, Short Break: blue, Long Break: purple) - 3 royalty-free alert sounds bundled in
assets/sounds/— play at session start for immediate audio feedback - Auto-assignment — Quick Setup auto-configures backgrounds + sounds when no custom paths are set
Overlay Improvements
- Bar overlay (
SP Overlay Bar) auto-created by Quick Setup - Progress bar fills all available space (removed
max-widthcap) - Improved typography and divider visibility
Compact Dock Redesign
- Dock height reduced from ~730px to ~280px — fits any OBS sidebar without scrolling
- Stats use readable inline text instead of large cards
- SP Status editor is collapsible (collapsed by default)
- Chat row and Stream stat auto-hide when not relevant
🐛 Critical Bug Fixes
Dock Data Connection (CRITICAL)
- Root cause:
process_overlay_control_command()cleared the SP Control text source everyscript_tick, wiping the state data the dock reads. Meanwhile, the dock'sfetch(session_state.json)was blocked by Chromium'sfile://security policy, and the text source fallback (SP Timeretc.) no longer existed. - Fix: Dock now reads state via SP Control over WebSocket (primary path). The Lua script no longer clears state data from SP Control — only actual commands get cleared.
Background Canvas Fitting (CRITICAL)
- Root cause: A type guard
type(obs.obs_video_info) ~= "function"silently disabled all canvas fitting. In OBS Lua,obs.obs_video_infois a userdata constructor, not a function. - Fix: Changed guard to
if not obs.obs_video_info, and rewrote fitting to use direct scale math instead of OBS bounds API.
📊 Test Coverage
| Suite | Tests | Status |
|---|---|---|
| Lua (runtime queue) | 75 | ✅ All passing |
| JS (frontend) | 104 | ✅ All passing |
| Total | 179 | ✅ |
📦 Installation
- Download the Source code (zip) from the Assets section below and extract it
- In OBS: Tools → Scripts → Add
session_pulse.luafrom the extracted folder - Click Quick Setup — backgrounds, sounds, overlays, and dock are all configured automatically
- Set a Start/Pause hotkey in Settings → Hotkeys → "SessionPulse"
- (Optional) Add the dock: View → Docks → Custom Browser Docks → set URL to
file:///path/to/timer_dock.html
Full Changelog: https://github.com/bhaskarjha-com/sbobs/blob/main/CHANGELOG.md
Full Changelog: v5.4.0...v6.0.0
SessionPulse v5.4.0
What's New
🚀 Quick Setup Wizard
One-click button that auto-creates text sources, ring overlay, Focus/Break scenes, and wires everything to the script settings. Setup goes from 11 manual steps to 1 click.
📚 Documentation Suite
6 comprehensive guides in docs/ — getting started, overlay customization, automation, integrations, mobile remote, and FAQ.
🧪 Testing & CI
122 automated tests (67 Lua + 55 JS) with GitHub Actions CI.
Previous (v5.3.1)
- Fixed CSV label injection (commas in labels)
- Fixed daily goal progress bar color reset
- Added label column to stats dashboard
Installation
- Download the Source code ZIP below
- OBS → Tools → Scripts → + → select
session_pulse.lua - Click 🚀 Quick Setup
- Set hotkeys → Start!