Skip to content

Add stream UX improvements, auth/subscription updates, and CI/build hardening#125

Merged
zortos293 merged 11 commits intomainfrom
dev
Feb 21, 2026
Merged

Add stream UX improvements, auth/subscription updates, and CI/build hardening#125
zortos293 merged 11 commits intomainfrom
dev

Conversation

@zortos293
Copy link
Collaborator

@zortos293 zortos293 commented Feb 21, 2026

Summary

This PR merges dev into main and ships a broad set of product, UX, and build/release improvements.

Added

  • Added stream session timer and WebRTC time-limit warnings
  • Added better loading/game presentation UX improvements
  • Added expanded README/product docs coverage for current feature set

Updated

  • Updated auth/subscription flows and related UI handling
  • Updated fullscreen and keyboard shortcut behavior for in-stream controls
  • Updated CI/CD runner configuration and release workflow alignment
  • Updated release/build pipeline support across platforms

Fixed

  • Fixed multiple fullscreen and ESC handling edge cases
  • Fixed arm64 deb packaging path/tooling issues
  • Fixed workflow inconsistencies and build reliability issues

Validation Notes

Recommended smoke checks after merge:

  • Login + region/provider auth flow
  • Launch session, fullscreen toggle, escape/shortcut behavior
  • Release build pipeline execution

zortos293 and others added 11 commits February 17, 2026 00:37
* Add microphone toggle and stream UIs

* fix(mic): Attach microphone track to correct transceiver and allow keyboard lock

- Attach mic track after remote description and target mid=3 recvonly transceiver
- Added MicrophoneManager.attachTrackToPeerConnection for late attachment
- Allowed keyboardLock permission in Electron handlers
- Improves mic audio send and keyboard lock during fullscreen

Co-authored-by: Capy <capy@capy.ai>

* fix(electron): Allow fullscreen and pointer lock permissions

- Allowed fullscreen, automatic-fullscreen, pointerLock, and speaker-selection permissions
- Prevents Electron permission handler from blocking requestFullscreen/pointerLock
- Fixes user-gesture fullscreen and pointer lock failures in stream

Co-authored-by: Capy <capy@capy.ai>

* fix(StreamView): Ensure video element focus for pointer lock and fullscreen

- Added local ref management with setVideoRef callback
- Added useEffect to auto-focus video element when stream is ready
- Added onClick handler to focus video when clicked
- This ensures pointer lock and fullscreen work correctly when interacting with stream

Co-authored-by: Capy <capy@capy.ai>

* fix(focus): Restore video focus when leaving Settings page during streaming

- Added useEffect in App.tsx to restore focus to video element when navigating away from Settings
- This fixes mouse/pointer lock and fullscreen issues when using F8 or clicking buttons
- The focus was being lost to Settings page inputs and not restored

Co-authored-by: Capy <capy@capy.ai>

* fix(microphone): Prevent window blur from releasing keys during mic permission

- Added check in onWindowBlur to skip key release during mic permission request
- This prevents mouse/keyboard input from breaking when getUserMedia() causes brief focus loss
- The micState === 'permission_pending' check keeps keys pressed during the permission dialog

Co-authored-by: Capy <capy@capy.ai>

* fix(microphone): Add Electron permission handlers and device enumeration

- Added session.setPermissionRequestHandler for microphone permissions
- Added session.setPermissionCheckHandler for microphone checks
- Added macOS systemPreferences.askForMediaAccess on startup
- Fixed SettingsPage to enumerate actual microphone devices
- Added Mic icon to settings UI
- Shows permission error if mic access is denied

Co-authored-by: Capy <capy@capy.ai>

* feat(webrtc): Implement microphone support for cloud sessions.
@zortos293 zortos293 changed the title Merge dev into main: latest feature and stability updates Add stream UX improvements, auth/subscription updates, and CI/build hardening Feb 21, 2026
@zortos293 zortos293 merged commit 60030b6 into main Feb 21, 2026
11 checks passed
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.

1 participant