I think this fixes the questionable archaic sequence / author order issue.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3813 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
55
core/ssb.js
55
core/ssb.js
@ -240,16 +240,27 @@ function ebtReplicateSendClock(request, have) {
|
||||
}
|
||||
|
||||
function formatMessage(row) {
|
||||
var message = {
|
||||
previous: row.previous,
|
||||
author: row.author,
|
||||
sequence: row.sequence,
|
||||
timestamp: row.timestamp,
|
||||
hash: row.hash,
|
||||
content: JSON.parse(row.content),
|
||||
signature: row.signature,
|
||||
};
|
||||
return message;
|
||||
if (row.sequence_before_author) {
|
||||
return {
|
||||
previous: row.previous,
|
||||
sequence: row.sequence,
|
||||
author: row.author,
|
||||
timestamp: row.timestamp,
|
||||
hash: row.hash,
|
||||
content: JSON.parse(row.content),
|
||||
signature: row.signature,
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
previous: row.previous,
|
||||
author: row.author,
|
||||
sequence: row.sequence,
|
||||
timestamp: row.timestamp,
|
||||
hash: row.hash,
|
||||
content: JSON.parse(row.content),
|
||||
signature: row.signature,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function ebtReplicateRegisterMessageCallback(request) {
|
||||
@ -308,37 +319,21 @@ ssb.addRpc(['createHistoryStream'], function(request) {
|
||||
if (keys) {
|
||||
var message = {
|
||||
key: row.id,
|
||||
value: {
|
||||
previous: row.previous,
|
||||
author: row.author,
|
||||
sequence: row.sequence,
|
||||
timestamp: row.timestamp,
|
||||
hash: row.hash,
|
||||
content: JSON.parse(row.content),
|
||||
signature: row.signature,
|
||||
},
|
||||
value: formatMessage(row),
|
||||
timestamp: row.timestamp,
|
||||
};
|
||||
} else {
|
||||
var message = {
|
||||
previous: row.previous,
|
||||
author: row.author,
|
||||
sequence: row.sequence,
|
||||
timestamp: row.timestamp,
|
||||
hash: row.hash,
|
||||
content: JSON.parse(row.content),
|
||||
signature: row.signature,
|
||||
};
|
||||
var message = formatMessage(row);
|
||||
}
|
||||
request.send_json(message);
|
||||
}
|
||||
ssb.sqlStream(
|
||||
'SELECT previous, author, id, sequence, timestamp, hash, content, signature FROM messages WHERE author = ?1 AND sequence >= ?2 ORDER BY sequence',
|
||||
'SELECT previous, author, id, sequence, timestamp, hash, content, signature, sequence_before_author FROM messages WHERE author = ?1 AND sequence >= ?2 ORDER BY sequence',
|
||||
[id, seq ?? 0],
|
||||
sendMessage);
|
||||
ssb.addEventListener('message', function(message_id) {
|
||||
ssb.sqlStream(
|
||||
'SELECT previous, author, id, sequence, timestamp, hash, content, signature FROM messages WHERE id = ?1 AND author = ?2',
|
||||
'SELECT previous, author, id, sequence, timestamp, hash, content, signature, sequence_before_author FROM messages WHERE id = ?1 AND author = ?2',
|
||||
[message_id, id],
|
||||
function (row) {
|
||||
sendMessage(row);
|
||||
|
Reference in New Issue
Block a user