Commit graph

22 commits

Author SHA1 Message Date
cjkas
1fb4c4cfcd fix: stop sending stored passwords and PIN back to clients
The settings routes returned the WiFi passphrase, MQTT password and the
login password and PIN in plain text, and the debug log printed them and
the API key. Responses now carry hasPassphrase/hasPassword/hasPin flags,
logs mask the values, and an omitted secret keeps the stored one.

The UI loads secret fields empty and treats a blank field as "keep" while
the SSID or username is unchanged. Clearing a secret without changing the
SSID or username is listed in docs/KNOWN_ISSUES.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 14:34:18 +02:00
cjkas
72b37e5f8d refactor: apply shade model edits on loop() through ModelEditor
The 19 routes that changed rooms, shades, groups and repeaters on the web
server task (add, save, delete, link and unlink, setPaired, the sort
orders) now copy their request into a model_edit_t, queue it on the
LoopQueue and reply {status:accepted,requestId:N}. loop() applies it
(SomfyJson.cpp, next to fromJSON) and broadcasts requestResult {requestId,
ok, id, code, desc}. One edit at a time; a second gets 503, a body over
4 KB gets 413.

ModelEditor.h/.cpp holds the rules, tested natively: the lowest free id,
the next sort order, a free remote address, adding to and removing from
the group-member and repeater lists, and the GPIO pin-conflict check. They
replace the getNext*Id/getMax*Order copies, the remote-address search,
the list code and the inline pin checks. The pin check now uses the
protocol being saved and checks every pin against Ethernet, not only up.

/getNextRoom, /getNextShade, /getNextGroup, /groupOptions and a new
/repeaters (the UI already called it) are ModelSnapshot reads.

The web UI's editJSON() sends an edit, waits for its requestResult, then
reads the item back from /shade, /group, /room or /repeaters, so the
callbacks that used the old reply bodies are unchanged. No result within
5 s offers a reload; reads and edits told Busy are retried. It now also
refreshes its lists on shadeAdded/shadeRemoved/groupAdded/groupRemoved
from other clients, and procRoomRemoved keeps the right rooms.

Also fixed: a shade that fails validation is no longer added; linked
repeaters and sort orders are saved; linking reports a full list.

27 new native tests, 319 in all. Flash: esp32devdbg -11,484 bytes,
esp32dev -7,180 bytes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 14:34:39 +02:00
github-actions[bot]
b117c34cb8 chore: bump version to v3.0.14 2026-10-10 17:01:25 +00:00
Dennis
77f97498b0 Fix OTA update URLs to point to cjkas fork 2026-06-18 11:46:44 +02:00
github-actions[bot]
3ba27ad967 chore: bump version to v3.0.13 2026-04-22 12:21:50 +00:00
cjkas
4f7fa73313 fix the version number in UI. Enable the remember username/password functionality in browser. 2026-04-22 14:16:11 +02:00
github-actions[bot]
f51e90bb7c chore: bump version to v3.0.12 2026-04-20 16:32:44 +00:00
cjkas
26400c534f Fix off-by-one bug in RTW protocol decoder.
The RTW decoder formula encKey - 133 was off by one versus the
RTW encoder (which maps command N to encKey N + 132). This caused
every non-My RTW command to decode as the wrong button (e.g. Up
decoded as My, Down as MyUp). Also adds rawCmd diagnostic field to
received frames for protocol debugging.
2026-04-19 11:07:53 +02:00
github-actions[bot]
3b6e1d1e67 chore: bump version to v3.0.11 2026-04-11 21:53:01 +00:00
Shailen Sobhee
174f9a2287 cleaned code, as per inputs from cjkas 2026-04-11 12:08:55 +02:00
github-actions[bot]
2ca1b8bd61 chore: bump version to v3.0.11 2026-04-06 09:02:01 +00:00
Shailen Sobhee
3271327208 merge conflicts from 05.04 2026-04-05 19:08:01 +02:00
github-actions[bot]
e513f94a37 chore: bump version to v3.0.10 2026-04-04 10:57:03 +00:00
Shailen Sobhee
fe4aa83ed2 updated code logic to pic FW/App version from appversion instead of hard-coding in js/html/cpp files 2026-03-30 22:41:08 +02:00
Shailen Sobhee
ff1bb80adf huge app due to partition size issues 2026-03-30 14:52:40 +02:00
Shailen Sobhee
ff031eec92
Merge branch 'cjkas:main' into main 2026-03-30 14:48:11 +02:00
cjkas
0dbb1da2bf Tsury noise detection 2026-03-30 09:22:22 +02:00
Shailen Sobhee
1dafb7a3fa minor edits to see the GPIO pins on ESP32-C6-WROOM-1 2026-03-30 03:03:08 +02:00
cjkas
d0d903d55c more human friendly uptime 2026-03-24 19:23:35 +01:00
cjkas
c94819e928 fix crash 2026-03-24 19:22:56 +01:00
cjkas
a54651a961 update version 2026-03-12 14:17:34 +01:00
cjkas
a64b648f7a init 2026-03-10 20:23:48 +01:00