media: Ed25519-подписи блоков, local_attrs, MediaBlockReader, файловые вложения

This commit is contained in:
Evgeny committed 2026-07-27 17:09:31 +03:00
1 parent 6b765de5cc
commit d4a396f888
20 files changed
+851 -70

No files matched your search

+4 -2
View File
@@ -170,7 +170,7 @@ QString DbManager::getChannelLastMessage(const QString& channelId) const {
QList<MessageRow> DbManager::getMessages(const QString& chId, int limit) const {
QList<MessageRow> list;
QString sql = QStringLiteral(
"SELECT id, node_id, data, timestamp, chain_hash, author_signature"
"SELECT id, node_id, data, timestamp, chain_hash, author_signature, local_attrs"
" FROM \"%1\" ORDER BY timestamp DESC, author_signature DESC LIMIT ?").arg(msgTableName(chId));
sqlite3_stmt* stmt = prepareOrNull(sql.toUtf8().constData());
if (!stmt) return list;
@@ -190,6 +190,7 @@ QList<MessageRow> DbManager::getMessages(const QString& chId, int limit) const {
m.datahash = 0;
m.chainHash = colBlob(stmt, 4);
m.signature = colBlob(stmt, 5);
m.localAttrs = QByteArray((const char*)sqlite3_column_text(stmt, 6));
m.isOutgoing = (m.authorNodeId == myId);
m.isRead = true;
list.prepend(m);
@@ -201,7 +202,7 @@ QList<MessageRow> DbManager::getMessages(const QString& chId, int limit) const {
QList<MessageRow> DbManager::getMessagesSince(const QString& chId, qint64 sinceId) const {
QList<MessageRow> list;
QString sql = QStringLiteral(
"SELECT id, node_id, data, timestamp, chain_hash, author_signature"
"SELECT id, node_id, data, timestamp, chain_hash, author_signature, local_attrs"
" FROM \"%1\" WHERE id > ? ORDER BY id ASC").arg(msgTableName(chId));
sqlite3_stmt* stmt = prepareOrNull(sql.toUtf8().constData());
if (!stmt) return list;
@@ -219,6 +220,7 @@ QList<MessageRow> DbManager::getMessagesSince(const QString& chId, qint64 sinceI
m.datahash = 0;
m.chainHash = colBlob(stmt, 4);
m.signature = colBlob(stmt, 5);
m.localAttrs = QByteArray((const char*)sqlite3_column_text(stmt, 6));
m.isOutgoing = (m.authorNodeId == myId);
m.isRead = true;
list.append(m);