Footer enhancements and performance optimizations #9

Merged
deco merged 10 commits from footer-enhancements into main 2025-07-22 23:01:23 +03:00
Owner
No description provided.
deco added 10 commits 2025-07-22 22:58:14 +03:00
- Added team and stream counts displayed when OBS disconnected
- Added counts display alongside live status when OBS connected
- Moved OFFLINE/IDLE status indicators to left column for better balance
- Fixed green dot positioning to be properly next to "Connected" text
- Added custom CSS for status dots since Tailwind classes weren't applying
- Enhanced footer layout with better visual hierarchy

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Handle new standardized API response format for streams endpoint
- Extract data from { success: true, data: [...] } wrapper
- Maintain backward compatibility with old API format
- Fixes TypeError: streams.forEach is not a function

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Clean up all backward compatibility checks for old API format
- All endpoints now consistently return { success: true, data: [...] }
- Simplify response handling across all components and pages

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update /api/getActive to return { success: true, data: {...} } format
- Add proper error handling with standardized error responses
- Update main page to handle new response format for active sources
- Remove unused variables and clean up code
- Add trim() to file reads to handle whitespace properly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update streams API to join with teams table and return StreamWithTeam data
- Modify stream lookup maps to generate proper stream group names with team prefixes
- Format: {team_name}_{stream_name}_stream to match obsClient.js logic
- Update type signatures throughout to support team_name and group_name fields
- Now properly matches text file contents with database streams for dropdown selection

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Bumped font size for better visibility of team name text overlays in OBS
- Applied to both text source creation and update scenarios

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Include team name prefix in optimistic update stream group generation
- Format: {team_name}_{stream_name}_stream to match backend file writes
- Prevents dropdown from reverting to wrong value after selection
- Now dropdown shows correct selection immediately without requiring page refresh

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Further increased font size for better visibility of team name text overlays

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Added "Resources" to SYSTEM_SCENES array in verifyGroups API
- Resources scene will no longer be flagged as orphaned in OBS verification
- Prevents system scenes from showing up as cleanup candidates

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Update documentation to reflect recent enhancements
All checks were successful
Lint and Build / build (pull_request) Successful in 2m47s
c1f1c17763
- Updated CLAUDE.md with comprehensive recent changes:
  - Enhanced footer with team/stream counts and status indicators
  - Fixed active source detection and dropdown optimization
  - OBS text size improvements (96pt font)
  - API standardization and performance optimizations
  - System scene protection (Resources added to bypass list)
  - Improved error handling and user experience

- Updated README.md with key feature additions:
  - Enhanced footer functionality
  - Performance optimizations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Author
Owner

Summary

  • Added real-time team and stream counts to footer with smart polling
  • Fixed OBS connection status display with proper green dot positioning
  • Improved footer layout with OFFLINE/IDLE moved to left column for better balance
  • Fixed active source detection by including team names in stream lookup
  • Standardized all API responses to consistent { success: true, data: [...] } format
  • Fixed dropdown optimistic updates to show correct selections immediately
  • Increased OBS text font size to 96pt for better visibility
  • Added "Resources" scene to system scene bypass list for orphaned cleanup
  • Removed backwards compatibility code for cleaner codebase
  • Updated documentation to reflect all enhancements

Technical Changes

  • Enhanced Footer component with counts API integration and visual status indicators
  • Fixed stream lookup maps to generate proper {team_name}_{stream_name}_stream format
  • Standardized /api/streams to return StreamWithTeam data with JOINed team information
  • Updated /api/getActive to use standardized response format
  • Improved optimistic UI updates to match backend file writing format
  • Added custom CSS for status dots (Tailwind classes weren't working)
  • Performance optimizations with smart polling and visibility detection

Test Plan

  • Footer displays team/stream counts correctly
  • OBS connection status shows green dot next to "Connected"
  • OFFLINE/IDLE status moved to left column
  • Active sources properly detected on page load and navigation
  • Dropdown selections work immediately without page refresh
  • All API responses use standardized format
  • Text overlays in OBS use larger 96pt font
  • Resources scene not flagged as orphaned
  • Build succeeds and documentation updated

🤖 Generated with Claude Code

## Summary - Added real-time team and stream counts to footer with smart polling - Fixed OBS connection status display with proper green dot positioning - Improved footer layout with OFFLINE/IDLE moved to left column for better balance - Fixed active source detection by including team names in stream lookup - Standardized all API responses to consistent `{ success: true, data: [...] }` format - Fixed dropdown optimistic updates to show correct selections immediately - Increased OBS text font size to 96pt for better visibility - Added "Resources" scene to system scene bypass list for orphaned cleanup - Removed backwards compatibility code for cleaner codebase - Updated documentation to reflect all enhancements ## Technical Changes - Enhanced Footer component with counts API integration and visual status indicators - Fixed stream lookup maps to generate proper `{team_name}_{stream_name}_stream` format - Standardized `/api/streams` to return StreamWithTeam data with JOINed team information - Updated `/api/getActive` to use standardized response format - Improved optimistic UI updates to match backend file writing format - Added custom CSS for status dots (Tailwind classes weren't working) - Performance optimizations with smart polling and visibility detection ## Test Plan - [x] Footer displays team/stream counts correctly - [x] OBS connection status shows green dot next to "Connected" - [x] OFFLINE/IDLE status moved to left column - [x] Active sources properly detected on page load and navigation - [x] Dropdown selections work immediately without page refresh - [x] All API responses use standardized format - [x] Text overlays in OBS use larger 96pt font - [x] Resources scene not flagged as orphaned - [x] Build succeeds and documentation updated 🤖 Generated with [Claude Code](https://claude.ai/code)
deco merged commit 78410124a5 into main 2025-07-22 23:01:23 +03:00
deco deleted branch footer-enhancements 2025-07-22 23:01:24 +03:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: deco/obs-ss-plugin-webui#9
No description provided.