fix(popup): preserve hidden preferences with escaped provider IDs (#500)

* fix(popup): preserve hidden preferences with escaped provider IDs

The hidden-preference readers rejected JSON above 16384 UTF-16 code units even though 64 validated entries could serialize beyond that limit. Allow bounded 32768-unit input so saving another valid choice cannot clear the existing list.

Cover escaped provider IDs, exact reader bounds, and the production applet save/reparse/restore path. Update Unreleased, usage, and development guidance; TODO parity work and CLI contracts are unaffected.

* fix(popup): account for six-unit JSON escapes

The 32768-unit guard still dropped valid stored preferences when accepted 128-unit provider IDs used six-character Unicode escapes. Raise both bounded readers to 65536 units, above the validated worst-case row and section payloads.

Replay escaped high and low lone-surrogate IDs independently of the Qt serializer, verify native serialization too, and retain exact-boundary and over-limit checks. Update the development bound; Unreleased and usage guidance already cover the final behavior. TODO parity scope and CLI contracts remain unchanged.
5342cd7ce1Simone committed on 10/13/2026, 9:26:34 PM· committed by GitHubparentf3b3dae
9 files changedLine totals unavailable