feat(schema): HyperDB v10 message.stickerNamesJson for sticker-only rows

Add optional stickerNamesJson string field (schema v10) so sticker-only
messages survive HyperDB encode/decode; bump db.json and message encodings.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-21 23:20:13 -04:00
co-authored by Cursor
parent 1257377840
commit 4b6414f348
3 changed files with 20 additions and 7 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
{ {
"version": 9, "version": 10,
"offset": 0, "offset": 0,
"schema": [ "schema": [
{ {
+13 -5
View File
@@ -6,7 +6,7 @@
const { c } = require('hyperschema/runtime') const { c } = require('hyperschema/runtime')
const VERSION = 9 const VERSION = 10
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
let version = VERSION let version = VERSION
@@ -156,11 +156,13 @@ const encoding3 = {
if (m.editedAt) c.uint.preencode(state, m.editedAt) if (m.editedAt) c.uint.preencode(state, m.editedAt)
if (version >= 9 && m.replyToId) c.string.preencode(state, m.replyToId) if (version >= 9 && m.replyToId) c.string.preencode(state, m.replyToId)
if (version >= 10 && m.stickerNamesJson) c.string.preencode(state, m.stickerNamesJson)
}, },
encode(state, m) { encode(state, m) {
const flags = const flags =
(m.editedAt ? 1 : 0) | (m.editedAt ? 1 : 0) |
((version >= 9 && m.replyToId) ? 2 : 0) ((version >= 9 && m.replyToId) ? 2 : 0) |
((version >= 10 && m.stickerNamesJson) ? 4 : 0)
c.string.encode(state, m.id) c.string.encode(state, m.id)
c.string.encode(state, m.channelId) c.string.encode(state, m.channelId)
@@ -172,6 +174,7 @@ const encoding3 = {
if (m.editedAt) c.uint.encode(state, m.editedAt) if (m.editedAt) c.uint.encode(state, m.editedAt)
if (version >= 9 && m.replyToId) c.string.encode(state, m.replyToId) if (version >= 9 && m.replyToId) c.string.encode(state, m.replyToId)
if (version >= 10 && m.stickerNamesJson) c.string.encode(state, m.stickerNamesJson)
}, },
decode(state) { decode(state) {
const r0 = c.string.decode(state) const r0 = c.string.decode(state)
@@ -190,7 +193,8 @@ const encoding3 = {
content: r4, content: r4,
createdAt: r5, createdAt: r5,
editedAt: (flags & 1) !== 0 ? c.uint.decode(state) : 0, editedAt: (flags & 1) !== 0 ? c.uint.decode(state) : 0,
replyToId: (version >= 9 && (flags & 2) !== 0) ? c.string.decode(state) : null replyToId: (version >= 9 && (flags & 2) !== 0) ? c.string.decode(state) : null,
stickerNamesJson: (version >= 10 && (flags & 4) !== 0) ? c.string.decode(state) : null
} }
} }
} }
@@ -884,11 +888,13 @@ const encoding22 = {
if (m.editedAt) c.uint.preencode(state, m.editedAt) if (m.editedAt) c.uint.preencode(state, m.editedAt)
if (version >= 9 && m.replyToId) c.string.preencode(state, m.replyToId) if (version >= 9 && m.replyToId) c.string.preencode(state, m.replyToId)
if (version >= 10 && m.stickerNamesJson) c.string.preencode(state, m.stickerNamesJson)
}, },
encode(state, m) { encode(state, m) {
const flags = const flags =
(m.editedAt ? 1 : 0) | (m.editedAt ? 1 : 0) |
((version >= 9 && m.replyToId) ? 2 : 0) ((version >= 9 && m.replyToId) ? 2 : 0) |
((version >= 10 && m.stickerNamesJson) ? 4 : 0)
c.string.encode(state, m.guildId) c.string.encode(state, m.guildId)
c.string.encode(state, m.authorId) c.string.encode(state, m.authorId)
@@ -898,6 +904,7 @@ const encoding22 = {
if (m.editedAt) c.uint.encode(state, m.editedAt) if (m.editedAt) c.uint.encode(state, m.editedAt)
if (version >= 9 && m.replyToId) c.string.encode(state, m.replyToId) if (version >= 9 && m.replyToId) c.string.encode(state, m.replyToId)
if (version >= 10 && m.stickerNamesJson) c.string.encode(state, m.stickerNamesJson)
}, },
decode(state) { decode(state) {
const r2 = c.string.decode(state) const r2 = c.string.decode(state)
@@ -914,7 +921,8 @@ const encoding22 = {
content: r4, content: r4,
createdAt: r5, createdAt: r5,
editedAt: (flags & 1) !== 0 ? c.uint.decode(state) : 0, editedAt: (flags & 1) !== 0 ? c.uint.decode(state) : 0,
replyToId: (version >= 9 && (flags & 2) !== 0) ? c.string.decode(state) : null replyToId: (version >= 9 && (flags & 2) !== 0) ? c.string.decode(state) : null,
stickerNamesJson: (version >= 10 && (flags & 4) !== 0) ? c.string.decode(state) : null
} }
} }
} }
+6 -1
View File
@@ -1,5 +1,5 @@
{ {
"version": 9, "version": 10,
"schema": [ "schema": [
{ {
"name": "user", "name": "user",
@@ -196,6 +196,11 @@
"name": "replyToId", "name": "replyToId",
"type": "string", "type": "string",
"version": 9 "version": 9
},
{
"name": "stickerNamesJson",
"type": "string",
"version": 10
} }
] ]
}, },