diff options
| author | Ev Bogue <ev@evbogue.com> | 2019-05-14 20:34:02 -0500 | 
|---|---|---|
| committer | Ev Bogue <ev@evbogue.com> | 2019-05-14 20:34:02 -0500 | 
| commit | 68f0710616286e6aee972e6ed4d4b55d27a96098 (patch) | |
| tree | 14cb41cedece438330b2149c1a4e87e9f670b354 | |
| parent | 6ce8ecd57f789815ebbdd6349af6bb94654254fd (diff) | |
auto-gossip on profile load and publish
| -rw-r--r-- | bog.js | 3 | ||||
| -rw-r--r-- | gossip.js | 23 | ||||
| -rw-r--r-- | views.js | 11 | 
3 files changed, 14 insertions, 23 deletions
| @@ -150,7 +150,7 @@ async function publish (post, keys) {      feed.unshift(message)      localforage.setItem(keys.publicKey, feed) - +    sync(keys.publicKey, keys)          return message    } else { @@ -175,6 +175,7 @@ async function publish (post, keys) {      var feed = [message]      localforage.setItem(keys.publicKey, feed) +    sync(keys.publicKey, keys)          return message    }  } @@ -1,10 +1,10 @@ -function sync (src, server, keys) { +function sync (src, keys) { +  var server = 'ws://localhost:8080/' +    var ws = new WebSocket(server + src) -  console.log(server) -  console.log(src) -  console.log(keys.publicKey) -   +  console.log('SYNCING') +    bog(src).then(srclog => {      if (srclog) {        open(srclog[0]).then(msg => { @@ -13,43 +13,30 @@ function sync (src, server, keys) {            seq: msg.seq,            requester: keys.publicKey          } -        console.log(req)          ws.onopen = function () {            ws.send(JSON.stringify(req))          }          ws.onmessage = function (message) {            var serverMsg = JSON.parse(message.data) -          console.log(serverMsg)            if (msg.seq === serverMsg.seq) { -            console.log('DO NOTHING')            } else if (msg.seq > serverMsg.seq) { -            console.log('SENDING')              var diff = msg.seq - serverMsg.seq -            console.log(diff)              var sendlog = srclog.slice(0, diff) -            console.log(sendlog)              var send = {                src,                log: sendlog,                requester: keys.publicKey              } -            console.log(send)              ws.send(JSON.stringify(send))            } else {              if (serverMsg.log) { -              console.log('RECEIVING')                var newlog = serverMsg.log.concat(srclog) -              console.log('NEWLOG') -                localforage.setItem(src, newlog).then(function () {regenerate()}) - -              console.log(newlog)              }                     }          }        })      } else { -      console.log('NO LOG!')        var req = {          src,          seq: null, @@ -5,12 +5,12 @@ function threadPage (src, keys) {  }  function profilePage (src, keys) { -  var server = 'ws://localhost:8080/' -    var profile = h('div', {classList: 'profile'})    scroller.appendChild(profile) +  sync(src, keys) +    var input = h('input', {placeholder: 'New name'})    profile.appendChild(h('a', {href: '#' + src}, [getName(src)])) @@ -32,13 +32,16 @@ function profilePage (src, keys) {    profile.appendChild(h('button', {      onclick: function () { -      sync(src, server, keys) +      sync(src, keys)      }    }, ['Sync feed']))    profile.appendChild(h('button', {      onclick: function () { -      localforage.removeItem(src).then(function () { regenerate() }) +      localforage.removeItem(src).then(function () { +        location.hash = ''  +        regenerate()  +      })      }    }, ['Delete feed'])) | 
