ESPSomfy-RTS/test
cjkas 0df740df6a feat: web UI on socket protocol 2 (step 2b)
The UI talks to the device over the one socket at /ws: the sync fills the
shade model, its events redraw the lists, and every read, command, edit,
setting, scan and reboot is an op. Only /loginContext, /login and the file
transfers stay on HTTP, so a page load opens no other connection.

- The 8080 socket, editJSON/requestResult and the /controller, /rooms,
  /shades, /groups, /room, /shade, /group, settings and command routes are
  no longer used by the UI.
- An edit's callback gets the item once its event is in (ProtoClient
  waitFor); busy edits and saves are sent again.
- The token is kept in sessionStorage. When /ws is refused and
  /loginContext says a login is needed, the client stops retrying and the
  login panel opens. Backup and uploads send the token.
- A banner shows when the device speaks another protocol version.
- Removed dead code: the /pairShade call and its unused /unpairShade twin,
  loadLogin, login.html (broken, linked from nowhere), Secure Config Only's
  checkbox (protocol 2 has two modes) and the HTTP helpers nothing uses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:12:54 +01:00
..
e2e feat: web UI protocol 2 client layer, JS and CSS bundles (step 2a) 2026-10-25 15:00:23 +01:00
fixtures/proto2 fix: deletes send their removal after the reply; test_reboot waits for the restart 2026-10-25 13:07:17 +01:00
js feat: web UI on socket protocol 2 (step 2b) 2026-10-25 20:12:54 +01:00
stubs fix: only touch the task watchdog from tasks that are subscribed to it 2026-10-21 13:45:04 +02:00
test_configheader fix: stop the 5 s boot wait, tell the client about a bad restore 2026-10-19 18:08:16 +02:00
test_ethphy feat: keep Ethernet settings independent of the framework 2026-10-19 21:13:49 +02:00
test_frame fix: turn a group's sun flag on, not off, for MQTT sunFlag 1 2026-10-12 20:55:21 +02:00
test_json feat: socket protocol 2 core on ws://host/ws 2026-10-24 11:03:07 +02:00
test_logging refactor: time steps with ElapsedTimer::lap() 2026-10-13 15:39:14 +02:00
test_loopqueue fix: settings ops review findings 2026-10-25 10:27:53 +01:00
test_modeleditor fix: deletes send their removal after the reply; test_reboot waits for the restart 2026-10-25 13:07:17 +01:00
test_motion fix: default a set-favorite request's tilt to the favorite tilt 2026-10-14 15:57:49 +02:00
test_mqttcommands refactor: split the transports into the modules GLOSSARY.md names 2026-10-16 13:47:56 +02:00
test_proto fix: settings ops review findings 2026-10-25 10:27:53 +01:00
test_protoassembly fix: edit ops review findings 2026-10-24 18:10:06 +02:00
test_protoedits fix: edit ops second review findings 2026-10-24 18:29:34 +02:00
test_protoops fix: edit ops second review findings 2026-10-24 18:29:34 +02:00
test_protosettings fix: drop Secure Config Only permissions from protocol 2 2026-10-25 11:11:19 +01:00
test_protoslots fix: protocol 2 core review findings 2026-10-24 13:17:15 +02:00
test_pulse refactor: move the RX pulse decoder into PulseDecoder 2026-10-13 21:21:05 +02:00
test_radioscheduler refactor: name radio jobs as GLOSSARY.md does 2026-10-13 15:13:03 +02:00
test_rollingcode test: cover the radio queue rules, shade TX state, rolling codes and web command hold 2026-10-12 20:26:33 +02:00
test_secrets fix: keep stored secrets when an older UI sends them empty 2026-10-18 20:07:31 +02:00
test_sensors fix: move only the tilt of a tilt-only shade for sun and wind 2026-10-13 21:14:20 +02:00
test_shadebehaviour docs: move open known issues to GitHub, drop the finished plans 2026-10-21 13:27:49 +02:00
test_shadechanges refactor: send shade and group changes once per loop() pass 2026-10-16 10:40:44 +02:00
test_shaderequests fix: command op replies that said ok when nothing was done 2026-10-24 13:46:00 +02:00
test_shadesettings refactor: hold shade settings in ShadeSettings and RemoteSettings 2026-10-16 20:31:39 +02:00
test_shadetx test: name the ticket tests as GLOSSARY.md does 2026-10-13 15:35:15 +02:00
test_snapshot test: prove no read item can outgrow the snapshot unit 2026-10-17 23:29:04 +02:00
test_snapshot_limits test: prove no read item can outgrow the snapshot unit 2026-10-17 23:29:04 +02:00
test_taskwdt fix: only touch the task watchdog from tasks that are subscribed to it 2026-10-21 13:45:04 +02:00
test_txbuffer fix: keep a repeater frame until the radio queue takes it 2026-10-12 18:31:39 +02:00
test_txjob refactor: let one RadioScheduler own the radio job queue 2026-10-12 20:36:32 +02:00
test_utils fix: send socket events only from loop() 2026-10-21 15:27:21 +02:00