-
Notifications
You must be signed in to change notification settings - Fork 44
[rebased]Implement scrcpy web #254
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
vangie
wants to merge
29
commits into
main
Choose a base branch
from
vangie/implement-scrcpy-web-rebased
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Add new implementations of scrcpy to support web usage.
…adb_expose commands to utilize new client-server architecture
- Introduced a global verbose flag to enable detailed logging. - Refactored logging in control stream handling to utilize the new logger. - Updated WebRTC client to include ping measurement for latency tracking. - Improved UI components in live view for better user interaction and visibility. - Adjusted CSS styles for a more responsive layout and enhanced user experience.
- Updated device connection handling to utilize a new bridge manager for WebRTC. - Introduced new transport layers for H.264 and MSE streaming. - Refactored existing code to improve modularity and maintainability. - Added new utility functions for random string generation and verbose logging. - Enhanced the live view interface with improved layout and functionality. - Updated various components to support new streaming modes and improved user experience.
- Added support for new audio codec options in H.264 streaming mode. - Improved logging for audio stream processing and connection handling. - Refactored device connection logic to provide better error handling and debugging information. - Updated live view components to reflect changes in streaming modes and improve user experience. - Removed unused MSE client code to streamline the codebase.
- Implemented touch, key, and scroll event handling in the ControlService using scrcpy for device source management. - Added video reset event handling to improve device control capabilities. - Refactored event handling methods to include error logging and device source validation. - Updated AndroidLiveView component to support new mouse and touch event bindings for H264 mode. - Enhanced H264Client to manage control WebSocket connections and send control actions for improved interactivity.
- Updated logging in ClipboardHandler, ControlService, KeyHandler, ScrollHandler, and TouchHandler to include debug-level messages for better traceability. - Improved error handling in audio streaming by implementing connection health monitoring and reconnection logic. - Refactored WebMMuxer to streamline error handling and improve logging during audio frame writing. - Enhanced MSEAudioProcessor with detailed error logging and reconnection strategies for improved streaming reliability.
…H264Client - Updated AndroidLiveView to dynamically adjust video dimensions based on H264 client's canvas size and orientation. - Improved resizing strategy to prioritize screen space utilization in both landscape and portrait modes. - Enhanced H264Client with a resize observer and orientation change handling for better responsiveness to device resolution changes. - Added logging for resolution changes and canvas updates to improve debugging and user experience.
…ming - Replaced standard log calls with a structured logger in ControlService and TouchHandler for improved log management. - Enhanced logging in HandleTouchEvent and HandleVideoResetEvent to include detailed context for better traceability. - Updated API handlers to streamline device action handling and improve error responses. - Refactored streaming handlers to utilize the new logger for better debugging and error reporting. - Improved device connection handling in DeviceHandlers for better clarity and maintainability.
- Bumped Go version to 1.24.0 and updated various dependencies for better performance and security. - Enhanced logging in ControlService to provide clearer context during touch event handling. - Refactored audio streaming logic to support new codec options and improve error handling. - Removed unused MSE transport code to streamline the codebase and improve maintainability. - Updated API handlers to include new device streaming functionality.
…ionality - Replaced ADBRouter with ADBExposeRouter for better organization of ADB expose routes. - Updated APIHandlers to streamline device management by directly delegating to DeviceHandlers. - Removed deprecated streaming router and integrated streaming logic directly into device handlers. - Enhanced device control and streaming implementations for improved performance and clarity. - Improved logging and error handling across device management endpoints.
- Added functions to set HTTP headers for WebM and raw Opus audio streaming. - Introduced a new method to start streaming responses with appropriate headers. - Refactored audio handling in DeviceHandlers to streamline AAC streaming implementation. - Removed deprecated streaming test file and related streaming logic for improved clarity and maintainability.
… transport implementation - Deleted ControlHandler and ControlHandlerWrapper for H.264 and WebRTC as they are no longer needed. - Updated WebRTC transport to directly use the shared control handler for improved clarity and maintainability. - Refactored device handlers to utilize a new method for retrieving ADB devices, enhancing code organization. - Removed unused streaming utility functions to clean up the codebase.
…port implementation - Deleted fMP4StreamWriter and its associated test file to simplify the codebase. - Removed fMP4 streaming handler and related logic from device handlers for improved clarity and maintainability. - Updated device handlers to utilize new streaming methods, enhancing overall organization and performance.
- Replaced direct table rendering logic with a unified approach using the util package. - Updated box_list and device_connect_list commands to utilize the new RenderTable function for improved consistency and maintainability. - Removed redundant table rendering code from device_connect_list, streamlining the output generation process.
- Added GboxDeviceID to the device output structure for improved identification in JSON and text formats. - Updated device connection status checks to handle cases where GboxDeviceID is not assigned, displaying a placeholder. - Refactored device API to dynamically retrieve the current profile, enhancing flexibility in API calls. - Removed deprecated device connection API handlers to streamline the codebase and improve maintainability.
Contributor
TestGru AssignmentSummary
Tip You can |
mingshun
previously approved these changes
Oct 28, 2025
* ⭐ feat: enhance device registration with reg_id support - Added reg_id field to device structures and updated related APIs. - Refactored connection commands to handle reg_id effectively. - Prioritized local reg_id over cloud data for consistency. - Improved error handling and logging for better traceability. * feat: enhance FMP4Muxer audio configuration handling - Added default audio configuration for cases where audio parameters are missing. - Refactored initialization logic to ensure proper handling of audio settings. - Improved error handling when extracting SPS/PPS from video frames.
- Added version and build ID headers for client verification. - Enhanced health checks to validate server version and build ID. - Updated server versioning to reflect current version and commit ID. - Improved error handling for robust server communication.
0724f05 to
729dce4
Compare
- Introduced a debug step to list contents of the live-view package and the repository root before installation. - Added a check for the presence of pnpm-lock.yaml, terminating the CI if the file is missing, to ensure proper dependency management.
729dce4 to
343063b
Compare
- Added new field for display resolution in metadata. - Implemented method to retrieve display resolution via ADB. - Updated registration handler to include resolution in metadata.
- Introduced DeviceDTO for consistent device representation. - Updated connection and unregister commands to use DeviceDTO. - Enhanced output formatting and sorting for device lists. - Changed unregister command to accept Serial No or Transport ID.
- Deleted ExecuteDeviceConnectLinuxConnect function for clarity. - Updated commands to use DeviceDTO for consistency. - Enhanced metadata handling and output formatting. - Refactored connection and unregistration commands.
mingshun
previously approved these changes
Nov 5, 2025
- Added IsConnected field to DeviceDTO for connection status. - Implemented ReconnectRegisteredDevices for server start reconnections. - Updated device listing to show connection status. - Refactored server and handler interfaces for new checks.
mingshun
previously approved these changes
Nov 6, 2025
- Introduced reconnection state tracking with attempts and retries. - Updated DeviceDTO with reconnection status and attempt info. - Implemented health check and reconnection logic in DeviceKeeper. - Added API endpoints for device reconnection state. - Enhanced file handlers for working directory and env configs.
…ration handling (#264) - Added HandleDeviceAppium for proxying Appium requests. - Enhanced unregisterLocalDevice with improved error messaging. - Refactored delDevice to return a boolean for session management. - Introduced logging middleware for better request logging.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.