refactor custom emoji schema; make reactions work

This commit is contained in:
Cadence Ember 2023-09-20 00:37:15 +12:00
parent c7ddf638db
commit 92dee012fc
9 changed files with 70 additions and 34 deletions

View file

@ -29,7 +29,7 @@ async function emojisToState(emojis) {
},
url
}
db.prepare("INSERT OR IGNORE INTO emoji (emoji_id, animated, mxc_url) VALUES (?, ?, ?)").run(emoji.id, +!!emoji.animated, url)
db.prepare("INSERT OR IGNORE INTO emoji (id, name, animated, mxc_url) VALUES (?, ?, ?, ?)").run(emoji.id, emoji.name, +!!emoji.animated, url)
}).catch(e => {
if (e.data.errcode === "M_TOO_LARGE") { // Very unlikely to happen. Only possible for 3x-series emojis uploaded shortly after animated emojis were introduced, when there was no 256 KB size limit.
return

View file

@ -41,7 +41,8 @@ function getDiscordParseCallbacks(message, useHTML) {
/** @param {{animated: boolean, name: string, id: string, type: "discordEmoji"}} node */
emoji: node => {
if (useHTML) {
const mxc = select("emoji", "mxc_url", "WHERE emoji_id = ?").pluck().get(node.id)
const mxc = select("emoji", "mxc_url", "WHERE id = ?").pluck().get(node.id)
// TODO: upload and register the emoji so it can be added no matter what
if (mxc) {
return `<img data-mx-emoticon height="32" src="${mxc}" title=":${node.name}:" alt=":${node.name}:">`
} else {