|
|
|
@ -661,6 +661,8 @@ const handleGetHistory = function (Env, Server, seq, userId, parsed) {
|
|
|
|
|
if (txid) { msg[0] = txid; }
|
|
|
|
|
Server.send(userId, [0, HISTORY_KEEPER_ID, 'MSG', userId, JSON.stringify(msg)], readMore);
|
|
|
|
|
}, (err) => {
|
|
|
|
|
// Any error but ENOENT: abort
|
|
|
|
|
// ENOENT is allowed in case we want to create a new pad
|
|
|
|
|
if (err && err.code !== 'ENOENT') {
|
|
|
|
|
if (err.message === "EUNKNOWN") {
|
|
|
|
|
Log.error("HK_GET_HISTORY", {
|
|
|
|
@ -680,6 +682,14 @@ const handleGetHistory = function (Env, Server, seq, userId, parsed) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// If we're asking for a specific version (lastKnownHash) but we receive an
|
|
|
|
|
// ENOENT, this is not a pad creation so we need to abort.
|
|
|
|
|
if (err && err.code === 'ENOENT' && lastKnownHash) {
|
|
|
|
|
const parsedMsg2 = {error:'EDELETED', channel: channelName, txid: txid};
|
|
|
|
|
Server.send(userId, [0, HISTORY_KEEPER_ID, 'MSG', userId, JSON.stringify(parsedMsg2)]);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (msgCount === 0 && !metadata_cache[channelName] && Server.channelContainsUser(channelName, userId)) {
|
|
|
|
|
handleFirstMessage(Env, channelName, metadata);
|
|
|
|
|
Server.send(userId, [0, HISTORY_KEEPER_ID, 'MSG', userId, JSON.stringify(metadata)]);
|
|
|
|
|