var HK = module.exports; /* getHash * this function slices off the leading portion of a message which is most likely unique * these "hashes" are used to identify particular messages in a channel's history * clients store "hashes" either in memory or in their drive to query for new messages: * when reconnecting to a pad * when connecting to chat or a mailbox * thus, we can't change this function without invalidating client data which: * is encrypted clientside * can't be easily migrated * don't break it! */ HK.getHash = function (msg, Log) { if (typeof(msg) !== 'string') { if (Log) { Log.warn('HK_GET_HASH', 'getHash() called on ' + typeof(msg) + ': ' + msg); } return ''; } return msg.slice(0,64); }; // historyKeeper should explicitly store any channel // with a 32 character id HK.STANDARD_CHANNEL_LENGTH = 32; // historyKeeper should not store messages sent to any channel // with a 34 character id HK.EPHEMERAL_CHANNEL_LENGTH = 34;