mirror of
https://github.com/esphome/esphome.git
synced 2026-10-07 11:26:39 +00:00
[serial_proxy] Enforce session scoping and RAW inertness for the port mode
Address review findings: - Only the live subscriber may set the mode, so a mode set by a client that never subscribes cannot persist past its session - With a subscriber attached, the mode alone decides whether the tap is served; tap_needs_port() bypasses it only while the port is unheld, and write_from_tap() is gated the same way, so RAW is inert by code - The explicit UNSUBSCRIBE path keeps the loop alive for a tap that still needs the port, mirroring the disconnect path in loop() - Mode values from the wire are validated; unknown values are refused with INVALID_ARGUMENT instead of stored and acknowledged OK - Add a test variant that defines USE_SERIAL_PROXY_TAP so the tap code paths compile in a real build
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
substitutions:
|
||||
tx_pin: GPIO4
|
||||
rx_pin: GPIO5
|
||||
|
||||
# Compile the tap code paths; no tap is attached, so this exercises the
|
||||
# null-tap branches that a normal build never defines.
|
||||
esphome:
|
||||
platformio_options:
|
||||
build_flags:
|
||||
- "-DUSE_SERIAL_PROXY_TAP"
|
||||
|
||||
packages:
|
||||
uart: !include ../../test_build_components/common/uart/esp32-idf.yaml
|
||||
serial_proxy: !include common.yaml
|
||||
Reference in New Issue
Block a user