* 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.
9 files changedLine totals unavailable