* add tplink multitrans support
* 已经能成功播放音频了
* 初步能通讯了
* finish
* add tplink multitrans support
* 已经能成功播放音频了
* 初步能通讯了
* cleanup
* clean up
* Code refactoring for #1995
---------
Co-authored-by: Your Name <you@example.com>
Co-authored-by: Alex X <alexey.khit@gmail.com>
* Expose ports 1984 and 8554 in Dockerfile
* Update Dockerfile
* Update hardware.Dockerfile
* Expose additional ports in Rockchip Dockerfile
* Move docker expose ports to single line
---------
Co-authored-by: Alex X <alexey.khit@gmail.com>
Based on PCAP analysis of official Mi Home app traffic:
- Official app sends PING every ~1 second
- Previous 5-second interval was too slow, causing connection resets
Simply reduce keepalive timeout from 5s to 1s.
Based on PCAP analysis of official Mi Home app traffic, the keepalive
mechanism was incorrect:
Before (broken):
- Sent PING every 5s only when receiving data
- Responded to PING with PONG
After (fixed):
- Send PING every 1 second independently via dedicated goroutine
- Don't respond to PING with PONG (official app doesn't either)
- Both sides send PING bidirectionally as heartbeats
The official app sends 199 PING messages and 0 PONG messages in a
typical session. This fix matches that behavior.
Fixes connection resets after prolonged streaming sessions with
Xiaomi cameras using the CS2 P2P protocol.
Enhances the YAML linter to validate scalar values against enum and pattern constraints defined in the schema. Adds utility functions for value comparison, schema constraint collection, and applies these checks during linting to provide more precise error messages for invalid values.
Adds logic to trigger the suggestion widget when completing a property if it expects a block or has value suggestions, improving the user experience in the config editor.
Simplifies the logic for handling block scalar content by restructuring the conditional checks for blockScalarParentIndent. This improves readability and ensures correct processing of indented lines.
Replaces optional chaining with explicit null checks and more robust object property access throughout the file. Refactors destructuring and object spreading to use Object.assign for better compatibility. These changes improve code reliability and compatibility with older browsers or environments lacking support for newer JavaScript features.
Updated the editor configuration in config.html to set wordBasedSuggestions to false and disable word suggestions in the suggestion widget. This change aims to refine the suggestion behavior for a more focused coding experience.
Refactored the logic for detecting the YAML language in Monaco editor to handle cases where getLanguages may not be available or Monaco is not loaded. This increases robustness and prevents potential runtime errors.
Introduces a hover provider to the YAML editor using Monaco, displaying property descriptions from the schema when hovering over keys. This enhances the editor's usability by providing inline documentation for YAML properties.
Adds detection for inconsistent indentation and unexpected indentation at the document root. Enhances block scalar handling by tracking parent indentation and skipping content lines accordingly. Also improves error reporting for missing map keys or list items.