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,并加入回归测试,修复将包含在下一次发布中。

作者原文

Thanks 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.