S-UI:部分入站列表被 SQLite 误读为 JSONB,修复将随下一版本发布
在客户端保存报 malformed JSON 的问题讨论中,alireza0 说明,内置 SQLite 3.49.1 在 BLOB 的首字节与长度符合 JSONB 头时,会将其按 JSONB 读取,因此只有部分入站列表失败,例如 [1, 2] 和 [1,23],而 [1,2]、[1,2,3] 可以正常工作。他表示已在所有相关 JSON 函数调用中将列转换为 TEXT,并加入回归测试,修复将包含在下一次发布中。
作者原文@alireza0Thanks for the detailed report.
The root cause is slightly different from the BLOB theory: the bundled SQLite (3.49.1) reads a BLOB as JSONB when its first byte and length happen to match a JSONB header. That's why only some inbound lists fail — e.g.
[1, 2]or[1,23](6 bytes) break, while[1,2]or[1,2,3]work.Fixed by casting the columns to TEXT inside the JSON functions, as you suggested, everywhere they're used. A regression test is included. It will be in the next release.