Skip to content

Integrate Jayian stream UX, recording, and input improvements#145

Merged
zortos293 merged 21 commits intodevfrom
feat/jayian-pr-review
Mar 9, 2026
Merged

Integrate Jayian stream UX, recording, and input improvements#145
zortos293 merged 21 commits intodevfrom
feat/jayian-pr-review

Conversation

@zortos293
Copy link
Collaborator

@zortos293 zortos293 commented Mar 9, 2026

Summary

  • integrate Jayian's stream sidebar, screenshots, recording, keyframe recovery, and stream settings improvements onto dev
  • keep the previously integrated variant persistence and simultaneous multi-input support
  • resolve dev merge conflicts and keep the branch green with current typecheck/build requirements

Verification

  • npm run typecheck
  • npm run build

Jayian1890 and others added 21 commits February 27, 2026 16:08
- Introduced `requestKeyframe` method in GfnSignalingClient to send keyframe requests with reason, backlog frames, and attempt count.
- Added IPC handler for keyframe requests in the main process.
- Updated preload API to include `requestKeyframe` method.
- Enhanced StreamView component to manage sidebar tabs for preferences and shortcuts.
- Implemented decoder pressure detection and recovery mechanisms in GfnWebRtcClient, including bitrate reduction and keyframe requests.
- Updated diagnostics to track decoder pressure state and recovery attempts.
- Styled sidebar tabs for better user experience.
- Introduced new settings for recording shortcuts in settings.ts and App.tsx.
- Implemented recording API methods in preload/index.ts for starting, stopping, and managing recordings.
- Enhanced StreamView component to handle recording state, display recording controls, and show recordings in a sidebar.
- Added CSS styles for recording indicators and recording cards in styles.css.
- Updated IPC channels in ipc.ts to support recording operations.
- Defined new types for recording requests and entries in gfn.ts.
…ming

Remove exclusive input mode switching that prevented concurrent use of
different input methods. Previously, when a controller was active, mouse
and keyboard input would be suppressed, and vice versa.

Changes:
- Remove activeInputMode property and mode switching logic
- Remove input mode checks from mouse/keyboard event handlers
- Modify gamepad keepalive to work continuously instead of mode-dependent
- Allow all input types (controller, mouse, keyboard) to work simultaneously

This enables users to use controllers for gameplay while still having
access to mouse/keyboard for UI navigation and other inputs.

(cherry picked from commit 5893a98)
@zortos293 zortos293 changed the title Integrate Jayian PR picks: input concurrency and variant persistence Integrate Jayian stream UX, recording, and input improvements Mar 9, 2026
@zortos293 zortos293 merged commit 50b195d into dev Mar 9, 2026
6 checks passed
@zortos293 zortos293 deleted the feat/jayian-pr-review branch March 9, 2026 02:53
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.

2 participants