From ffbc55163df0ab78d714aeceb43da89bff47643a Mon Sep 17 00:00:00 2001 From: Ev Bogue Date: Wed, 1 May 2019 21:48:59 -0500 Subject: abstract regenerate into function and call regenerate on sync --- bog.js | 29 +++++++++++++++++++++++++++++ gossip.js | 22 ++++------------------ views.js | 61 +------------------------------------------------------------ 3 files changed, 34 insertions(+), 78 deletions(-) diff --git a/bog.js b/bog.js index 072326c..53b721c 100644 --- a/bog.js +++ b/bog.js @@ -70,6 +70,35 @@ function getName (id) { return name } +// bog.regenerate -- regenerates main log by taking all of the feed logs, combinging them, and then sorting them + +function regenerate () { + var newlog = [] + var openedlog = [] + localforage.iterate(function(value, key, i) { + if (key[0] == '@') { + newlog = newlog.concat(value) + } + console.log(newlog) + }).then(function () { + newlog.forEach(function (msg) { + var pubkey = nacl.util.decodeBase64(msg.author.substring(1)) + var sig = nacl.util.decodeBase64(msg.signature) + var opened = JSON.parse(nacl.util.encodeUTF8(nacl.sign.open(sig, pubkey))) + opened.key = msg.key + + openedlog.push(opened) + }) + console.log(openedlog) + + openedlog.sort((a, b) => a.timestamp - b.timestamp) + + var reversed = openedlog.reverse() + console.log('REGENERATE') + localforage.setItem('log', reversed).then(function () {location.reload()}) + }) +} + // bog.log (feed) -- returns a specific feed if a parameter is passed, if not returns the entire log // EX: bog().then(log => { console.log(log)}) // EX: bog('@ExE3QXmBhYQlGVA3WM2BD851turNzwhruWbIpMd7rbQ=').then(log => { console.log(log)}) diff --git a/gossip.js b/gossip.js index 0023cb6..8e1693d 100644 --- a/gossip.js +++ b/gossip.js @@ -40,18 +40,8 @@ function sync (src, server, keys) { console.log('RECEIVING') var newlog = serverMsg.log.concat(srclog) console.log('NEWLOG') - localforage.getItem('log').then(log => { - if (log) { - var newpubliclog = serverMsg.log.concat(log) - localforage.setItem('log', newpubliclog) - } - }) - - localforage.setItem(src, newlog) - setTimeout(function () { - location.reload() - }, 1000) + localforage.setItem(src, newlog).then(function () {regenerate()}) console.log(newlog) } @@ -72,19 +62,15 @@ function sync (src, server, keys) { ws.onmessage = function (message) { var serverMsg = JSON.parse(message.data) console.log(serverMsg) - localforage.getItem('log').then(log => { + /*localforage.getItem('log').then(log => { if (log) { var newlog = serverMsg.log.concat(log) localforage.setItem('log', newlog) } - }) - - localforage.setItem(src, serverMsg.log) + })*/ - setTimeout(function () { - location.reload() - }, 1000) + localforage.setItem(src, serverMsg.log).then(function () {regenerate()}) } } }) diff --git a/views.js b/views.js index c108cfb..d447d49 100644 --- a/views.js +++ b/views.js @@ -55,68 +55,9 @@ function profilePage (src, keys) { } function publicPage (keys) { - var newlog = [] - - scroller.appendChild(h('button', { - onclick: function () { - var openedlog = [] - localforage.iterate(function(value, key, i) { - if (key[0] == '@') { - newlog = newlog.concat(value) - } - console.log(newlog) - }).then(function () { - newlog.forEach(function (msg) { - var pubkey = nacl.util.decodeBase64(msg.author.substring(1)) - var sig = nacl.util.decodeBase64(msg.signature) - var opened = JSON.parse(nacl.util.encodeUTF8(nacl.sign.open(sig, pubkey))) - opened.key = msg.key - - openedlog.push(opened) - }) - console.log(openedlog) - localforage.setItem('log', openedlog).then(function () {location.reload()}) - }) - } - }, ['Merge'])) - - scroller.appendChild(h('button', { - onclick: function () { - localforage.getItem('log').then(log => { - log.sort((a, b) => a.timestamp - b.timestamp) - console.log(log) - var reversed = log.reverse() - localforage.setItem('log', reversed).then(function () {location.reload()}) - }) - } - }, ['Sort'])) - scroller.appendChild(h('button', { onclick: function () { - var openedlog = [] - localforage.iterate(function(value, key, i) { - if (key[0] == '@') { - newlog = newlog.concat(value) - } - console.log(newlog) - }).then(function () { - newlog.forEach(function (msg) { - var pubkey = nacl.util.decodeBase64(msg.author.substring(1)) - var sig = nacl.util.decodeBase64(msg.signature) - var opened = JSON.parse(nacl.util.encodeUTF8(nacl.sign.open(sig, pubkey))) - opened.key = msg.key - - openedlog.push(opened) - }) - console.log(openedlog) - - openedlog.sort((a, b) => a.timestamp - b.timestamp) - - var reversed = openedlog.reverse() - - localforage.setItem('log', reversed).then(function () {location.reload()}) - }) - + regenerate() } }, ['Regenerate'])) -- cgit v1.2.3-70-g09d2