Field-level CustomData: what is there, and does a bare string survive a round trip?
document 55643 pages 3
wrote a BARE-STRING marker onto TEXT.1.0
signHere:721E1:56198;H=55;L=190;T=1229;W=229;oimg=objImg_ABC1234
in memory reads back: signHere:721E1:56198;H=55;L=190;T=1229;W=229;oimg=objImg_ABC1234
saved.
after a fresh LoadDocument: HELD
signHere:721E1:56198;H=55;L=190;T=1229;W=229;oimg=objImg_ABC1234
So a field CAN hold a non-JSON CustomData server-side, and the #110 hazard is real:
JObject.Parse throws on this and the old catch replaced it with {}.
FieldStash.TryOpen (the #110 guard) against real values:
signHere:721E1:56198;H=55;L=190;T=1229;W=229;oimg=objImg_ABC1234 -> REFUSED: carries a signature marker
{"sdFontOrig":24} -> may stash
{"signHereId":"C51382A","instanceId":"9E9EB"} -> REFUSED: carries a signature marker
[1,2,3] -> REFUSED: custom data is in another format
not json at all -> REFUSED: custom data is in another format
-> may stash
cleaned up: deleted document 55643