A 16/32-byte key is 32/64 hex chars while base64 PSKs are 24/44 chars, so
all-hex-and-32/64-long disambiguates cleanly. Widen the stored-PSK buffer to
fit a 64-char hex key.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Guard data[len]=0 against an over-long crafted payload (OOB store), and
match keywords against the whole folded message so a blocked word can't be
hidden in the self-declared sender name. Also drop the unguarded ctype.h.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Demote to a Configuration subsection with a "(When ... compiled in)"
heading, matching the GPS/Sensors/Bridge sections, and drop the
explicit build-flag callout.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Folds look-alike codepoints (fullwidth, math alphanumerics, circled/
squared letters, regional indicators, Cyrillic/Greek homoglyphs,
accented Latin) to plain ASCII and strips zero-width/combining marks
before matching keywords and sender names.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Extract the inline cursor-walk in handleRegionCmd into file-local
helpers (skipSpaces, rtrimSpaces, takeToken, splitNameJump,
processRegionDefSegment), grouped immediately above the consumer.
Behavior is identical; addresses PR #2540 review feedback on
readability.
Tighten the region def docs: collapse five Note callouts into three
grouped paragraphs (Behavior / Existing regions / Limits), add a
case-sensitivity caveat plus an error example, note the cursor reset
between split commands, and use generic placeholder names.
Add a new command `region bulk` for defining region hierarchies in a single line. This command allows users to create multiple regions in a single message. Updated the documentation to include usage examples and detailed parameter descriptions.
Tested in v1.13.
These commands don't work anymore:
```
get password
-> ??: password
set password secret
-> unknown config: password secret
```
This does work:
```
password secret
-> password now: secret
```