Commit 9ac76bea4f88cc5ca22ff5d5f4a4c06980dda5b8
fix spacing and recursive error when fetching thread messages
Ev Bogue committed on 2/13/2019, 5:50:50 AMParent: 73e7d576ed222947d6e6508457bf26c7868b1786
Files changed
views.js | changed |
views.js | |||
---|---|---|---|
@@ -274,191 +274,193 @@ | |||
274 | 274 … | } | |
275 | 275 … | ||
276 | 276 … | var userStream = function (src) { | |
277 | 277 … | var content = h('div.content') | |
278 | - var screen = document.getElementById('screen') | ||
279 | - screen.appendChild(hyperscroll(content)) | ||
280 | - function createStream (opts) { | ||
281 | - return pull( | ||
282 | - More(sbot.userStream, opts, ['value', 'sequence']), | ||
283 | - pull.map(function (msg) { | ||
284 | - return render(h('div', msg)) | ||
285 | - }) | ||
286 | - ) | ||
287 | - } | ||
278 … | + var screen = document.getElementById('screen') | ||
288 | 279 … | ||
289 | - pull( | ||
290 | - createStream({old: false, limit: 10, id: src}), | ||
291 | - stream.top(content) | ||
292 | - ) | ||
280 … | + screen.appendChild(hyperscroll(content)) | ||
293 | 281 … | ||
294 | - pull( | ||
295 | - createStream({reverse: true, live: false, limit: 10, id: src}), | ||
296 | - stream.bottom(content) | ||
282 … | + function createStream (opts) { | ||
283 … | + return pull( | ||
284 … | + More(sbot.userStream, opts, ['value', 'sequence']), | ||
285 … | + pull.map(function (msg) { | ||
286 … | + return render(h('div', msg)) | ||
287 … | + }) | ||
297 | 288 … | ) | |
289 … | + } | ||
298 | 290 … | ||
299 | - var profile = h('div.content#profile', h('div.message')) | ||
291 … | + pull( | ||
292 … | + createStream({old: false, limit: 10, id: src}), | ||
293 … | + stream.top(content) | ||
294 … | + ) | ||
300 | 295 … | ||
301 | - if (screen.firstChild.firstChild) { | ||
302 | - screen.firstChild.insertBefore(profile, screen.firstChild.firstChild) | ||
303 | - } else { | ||
304 | - screen.firstChild.appendChild(profile) | ||
305 | - } | ||
296 … | + pull( | ||
297 … | + createStream({reverse: true, live: false, limit: 10, id: src}), | ||
298 … | + stream.bottom(content) | ||
299 … | + ) | ||
306 | 300 … | ||
307 | - var name = avatar.name(src) | ||
301 … | + var profile = h('div.content#profile', h('div.message')) | ||
308 | 302 … | ||
309 | - var editname = h('span', | ||
310 | - avatar.name(src), | ||
311 | - h('button.btn', 'New name', { | ||
312 | - onclick: function () { | ||
313 | - var nameput = h('input', {placeholder: name.textContent}) | ||
314 | - var nameedit = | ||
315 | - h('span', nameput, | ||
316 | - h('button.btn', 'Preview', { | ||
317 | - onclick: function () { | ||
318 | - if (nameput.value[0] != '@') | ||
319 | - tobename = nameput.value | ||
320 | - else | ||
321 | - tobename = nameput.value.substring(1, 100) | ||
322 | - var newname = h('span', h('a', {href: '#' + src}, '@' + tobename), h('button.btn', 'Publish', { | ||
323 | - onclick: function () { | ||
324 | - var donename = h('span', h('a', {href: '#' + src}, '@' + tobename)) | ||
325 | - sbot.publish({type: 'about', about: src, name: tobename}) | ||
326 | - localStorage[src + 'name'] = tobename | ||
327 | - newname.parentNode.replaceChild(donename, newname) | ||
328 | - } | ||
329 | - })) | ||
330 | - nameedit.parentNode.replaceChild(newname, nameedit) | ||
331 | - } | ||
332 | - }) | ||
333 | - ) | ||
334 | - editname.parentNode.replaceChild(nameedit, editname) | ||
335 | - } | ||
336 | - }) | ||
337 | - ) | ||
303 … | + if (screen.firstChild.firstChild) { | ||
304 … | + screen.firstChild.insertBefore(profile, screen.firstChild.firstChild) | ||
305 … | + } else { | ||
306 … | + screen.firstChild.appendChild(profile) | ||
307 … | + } | ||
338 | 308 … | ||
339 | - var editimage = h('span', | ||
340 | - h('button.btn', 'New image', { | ||
341 | - onclick: function () { | ||
342 | - var upload = | ||
343 | - h('span', | ||
344 | - hyperfile.asDataURL(function (data) { | ||
345 | - if(data) { | ||
346 | - //img.src = data | ||
347 | - var _data = dataurl.parse(data) | ||
348 | - pull( | ||
349 | - pull.once(_data.data), | ||
350 | - sbot.addblob(function (err, hash) { | ||
351 | - if(err) return alert(err.stack) | ||
352 | - selected = { | ||
353 | - link: hash, | ||
354 | - size: _data.data.length, | ||
355 | - type: _data.mimetype | ||
356 | - } | ||
357 | - }) | ||
358 | - ) | ||
309 … | + var name = avatar.name(src) | ||
310 … | + | ||
311 … | + var editname = h('span', | ||
312 … | + avatar.name(src), | ||
313 … | + h('button.btn', 'New name', { | ||
314 … | + onclick: function () { | ||
315 … | + var nameput = h('input', {placeholder: name.textContent}) | ||
316 … | + var nameedit = | ||
317 … | + h('span', nameput, | ||
318 … | + h('button.btn', 'Preview', { | ||
319 … | + onclick: function () { | ||
320 … | + if (nameput.value[0] != '@') | ||
321 … | + tobename = nameput.value | ||
322 … | + else | ||
323 … | + tobename = nameput.value.substring(1, 100) | ||
324 … | + var newname = h('span', h('a', {href: '#' + src}, '@' + tobename), h('button.btn', 'Publish', { | ||
325 … | + onclick: function () { | ||
326 … | + var donename = h('span', h('a', {href: '#' + src}, '@' + tobename)) | ||
327 … | + sbot.publish({type: 'about', about: src, name: tobename}) | ||
328 … | + localStorage[src + 'name'] = tobename | ||
329 … | + newname.parentNode.replaceChild(donename, newname) | ||
330 … | + } | ||
331 … | + })) | ||
332 … | + nameedit.parentNode.replaceChild(newname, nameedit) | ||
359 | 333 … | } | |
360 | - }), | ||
361 | - h('button.btn', 'Preview image', { | ||
362 | - onclick: function() { | ||
363 | - if (selected) { | ||
364 | - console.log(selected) | ||
365 | - var oldImage = document.getElementById('profileImage') | ||
366 | - var newImage = h('span.avatar--medium', h('img', {src: config.blobsUrl + selected.link})) | ||
367 | - var publish = h('button.btn', 'Publish image', { | ||
368 | - onclick: function () { | ||
369 | - sbot.publish({ | ||
370 | - type: 'about', | ||
371 | - about: src, | ||
372 | - image: selected | ||
373 | - }, function (err, published) { | ||
374 | - console.log(published) | ||
375 | - }) | ||
376 | - } | ||
377 | - }) | ||
378 | - upload.parentNode.replaceChild(publish, upload) | ||
379 | - oldImage.parentNode.replaceChild(newImage, oldImage) | ||
380 | - } | ||
381 | - /*if(selected) { | ||
382 | - api.message_confirm({ | ||
383 | - type: 'about', | ||
384 | - about: id, | ||
385 | - image: selected | ||
386 | - }) | ||
387 | - } else { alert('select an image before hitting preview')}*/ | ||
388 | - } | ||
389 | 334 … | }) | |
390 | 335 … | ) | |
391 | - editimage.parentNode.replaceChild(upload, editimage) | ||
392 | - } | ||
393 | - }) | ||
394 | - ) | ||
336 … | + editname.parentNode.replaceChild(nameedit, editname) | ||
337 … | + } | ||
338 … | + }) | ||
339 … | + ) | ||
395 | 340 … | ||
396 | - var avatars = h('div.avatars', | ||
397 | - h('a', {href: '#' + src}, | ||
398 | - h('span.avatar--medium#profileImage', avatar.image(src)), | ||
399 | - editname, | ||
400 | - h('br'), | ||
401 | - editimage | ||
402 | - ) | ||
341 … | + var editimage = h('span', | ||
342 … | + h('button.btn', 'New image', { | ||
343 … | + onclick: function () { | ||
344 … | + var upload = | ||
345 … | + h('span', | ||
346 … | + hyperfile.asDataURL(function (data) { | ||
347 … | + if(data) { | ||
348 … | + //img.src = data | ||
349 … | + var _data = dataurl.parse(data) | ||
350 … | + pull( | ||
351 … | + pull.once(_data.data), | ||
352 … | + sbot.addblob(function (err, hash) { | ||
353 … | + if(err) return alert(err.stack) | ||
354 … | + selected = { | ||
355 … | + link: hash, | ||
356 … | + size: _data.data.length, | ||
357 … | + type: _data.mimetype | ||
358 … | + } | ||
359 … | + }) | ||
360 … | + ) | ||
361 … | + } | ||
362 … | + }), | ||
363 … | + h('button.btn', 'Preview image', { | ||
364 … | + onclick: function() { | ||
365 … | + if (selected) { | ||
366 … | + console.log(selected) | ||
367 … | + var oldImage = document.getElementById('profileImage') | ||
368 … | + var newImage = h('span.avatar--medium', h('img', {src: config.blobsUrl + selected.link})) | ||
369 … | + var publish = h('button.btn', 'Publish image', { | ||
370 … | + onclick: function () { | ||
371 … | + sbot.publish({ | ||
372 … | + type: 'about', | ||
373 … | + about: src, | ||
374 … | + image: selected | ||
375 … | + }, function (err, published) { | ||
376 … | + console.log(published) | ||
377 … | + }) | ||
378 … | + } | ||
379 … | + }) | ||
380 … | + upload.parentNode.replaceChild(publish, upload) | ||
381 … | + oldImage.parentNode.replaceChild(newImage, oldImage) | ||
382 … | + } | ||
383 … | + /*if(selected) { | ||
384 … | + api.message_confirm({ | ||
385 … | + type: 'about', | ||
386 … | + about: id, | ||
387 … | + image: selected | ||
388 … | + }) | ||
389 … | + } else { alert('select an image before hitting preview')}*/ | ||
390 … | + } | ||
391 … | + }) | ||
392 … | + ) | ||
393 … | + editimage.parentNode.replaceChild(upload, editimage) | ||
394 … | + } | ||
395 … | + }) | ||
396 … | + ) | ||
397 … | + | ||
398 … | + var avatars = h('div.avatars', | ||
399 … | + h('a', {href: '#' + src}, | ||
400 … | + h('span.avatar--medium#profileImage', avatar.image(src)), | ||
401 … | + editname, | ||
402 … | + h('br'), | ||
403 … | + editimage | ||
403 | 404 … | ) | |
404 | - | ||
405 | - pull( | ||
406 | - sbot.userStream({id: src, reverse: false, limit: 1}), | ||
407 | - pull.drain(function (msg) { | ||
408 | - var howlong = h('span', h('br'), ' arrived ', human(new Date(msg.value.timestamp))) | ||
409 | - avatars.appendChild(howlong) | ||
410 | - console.log(msg) | ||
411 | - }) | ||
412 | - ) | ||
405 … | + ) | ||
406 … | + | ||
407 … | + pull( | ||
408 … | + sbot.userStream({id: src, reverse: false, limit: 1}), | ||
409 … | + pull.drain(function (msg) { | ||
410 … | + var howlong = h('span', h('br'), ' arrived ', human(new Date(msg.value.timestamp))) | ||
411 … | + avatars.appendChild(howlong) | ||
412 … | + console.log(msg) | ||
413 … | + }) | ||
414 … | + ) | ||
413 | 415 … | ||
414 | 416 … | ||
415 | - var buttons = h('div.buttons') | ||
416 | - | ||
417 | - profile.firstChild.appendChild(avatars) | ||
418 | - profile.firstChild.appendChild(buttons) | ||
419 | - buttons.appendChild(tools.mute(src)) | ||
417 … | + var buttons = h('div.buttons') | ||
418 … | + | ||
419 … | + profile.firstChild.appendChild(avatars) | ||
420 … | + profile.firstChild.appendChild(buttons) | ||
421 … | + buttons.appendChild(tools.mute(src)) | ||
420 | 422 … | ||
421 | - var writeMessage = h('button.btn', 'Public message ', avatar.name(src), { | ||
422 | - onclick: function () { | ||
423 | - opts = {} | ||
424 | - opts.type = 'post' | ||
425 | - opts.mentions = '[' + name.textContent + '](' + src + ')' | ||
426 | - var composer = h('div#composer', h('div.message', compose(opts))) | ||
427 | - profile.appendChild(composer) | ||
428 | - } | ||
429 | - }) | ||
423 … | + var writeMessage = h('button.btn', 'Public message ', avatar.name(src), { | ||
424 … | + onclick: function () { | ||
425 … | + opts = {} | ||
426 … | + opts.type = 'post' | ||
427 … | + opts.mentions = '[' + name.textContent + '](' + src + ')' | ||
428 … | + var composer = h('div#composer', h('div.message', compose(opts))) | ||
429 … | + profile.appendChild(composer) | ||
430 … | + } | ||
431 … | + }) | ||
430 | 432 … | ||
431 | - var writePrivate = h('button.btn', 'Private message ', avatar.name(src), { | ||
432 | - onclick: function () { | ||
433 | - opts = {} | ||
434 | - opts.type = 'post' | ||
435 | - opts.mentions = '[' + name.textContent + '](' + src + ')' | ||
436 | - opts.recps = [src, id] | ||
437 | - var composer = h('div#composer', h('div.message', compose(opts))) | ||
438 | - profile.appendChild(composer) | ||
439 | - } | ||
440 | - }) | ||
433 … | + var writePrivate = h('button.btn', 'Private message ', avatar.name(src), { | ||
434 … | + onclick: function () { | ||
435 … | + opts = {} | ||
436 … | + opts.type = 'post' | ||
437 … | + opts.mentions = '[' + name.textContent + '](' + src + ')' | ||
438 … | + opts.recps = [src, id] | ||
439 … | + var composer = h('div#composer', h('div.message', compose(opts))) | ||
440 … | + profile.appendChild(composer) | ||
441 … | + } | ||
442 … | + }) | ||
441 | 443 … | ||
442 | - buttons.appendChild(writeMessage) | ||
443 | - buttons.appendChild(writePrivate) | ||
444 | - buttons.appendChild(tools.follow(src)) | ||
445 | - buttons.appendChild(tools.block(src)) | ||
444 … | + buttons.appendChild(writeMessage) | ||
445 … | + buttons.appendChild(writePrivate) | ||
446 … | + buttons.appendChild(tools.follow(src)) | ||
447 … | + buttons.appendChild(tools.block(src)) | ||
446 | 448 … | ||
447 | - buttons.appendChild(h('button.btn', 'Generate follows', { | ||
448 | - onclick: function () { | ||
449 | - profile.firstChild.appendChild(tools.getFollowing(src)) | ||
450 | - profile.firstChild.appendChild(tools.getFollowers(src)) | ||
451 | - } | ||
452 | - })) | ||
449 … | + buttons.appendChild(h('button.btn', 'Generate follows', { | ||
450 … | + onclick: function () { | ||
451 … | + profile.firstChild.appendChild(tools.getFollowing(src)) | ||
452 … | + profile.firstChild.appendChild(tools.getFollowers(src)) | ||
453 … | + } | ||
454 … | + })) | ||
453 | 455 … | ||
454 | - buttons.appendChild(h('button.btn', 'Generate blocks', { | ||
455 | - onclick: function () { | ||
456 | - profile.firstChild.appendChild(tools.getBlocks(src)) | ||
457 | - profile.firstChild.appendChild(tools.getBlocked(src)) | ||
458 | - } | ||
459 | - })) | ||
460 | - buttons.appendChild(h('a', {href: '#wall/' + src}, h('button.btn', avatar.name(src), "'s wall"))) | ||
456 … | + buttons.appendChild(h('button.btn', 'Generate blocks', { | ||
457 … | + onclick: function () { | ||
458 … | + profile.firstChild.appendChild(tools.getBlocks(src)) | ||
459 … | + profile.firstChild.appendChild(tools.getBlocked(src)) | ||
460 … | + } | ||
461 … | + })) | ||
462 … | + buttons.appendChild(h('a', {href: '#wall/' + src}, h('button.btn', avatar.name(src), "'s wall"))) | ||
461 | 463 … | ||
462 | 464 … | } | |
463 | 465 … | ||
464 | 466 … | var privateMsg = function (src) { | |
@@ -496,26 +498,26 @@ | |||
496 | 498 … | } | |
497 | 499 … | }) | |
498 | 500 … | ) | |
499 | 501 … | ||
500 | - | ||
501 | 502 … | sbot.get(src, function (err, data) { | |
502 | 503 … | if (err) { | |
503 | 504 … | var message = h('div.message', 'Missing message!') | |
504 | 505 … | content.appendChild(message) | |
505 | 506 … | } | |
506 | 507 … | if (data) { | |
507 | - data.value = data | ||
508 | - data.key = src | ||
509 | - console.log(data) | ||
510 | - var rootMsg = render(data) | ||
508 … | + var message = {} | ||
509 … | + message.value = data | ||
510 … | + message.key = src | ||
511 … | + console.log(message) | ||
512 … | + var rootMsg = render(message) | ||
511 | 513 … | ||
512 | 514 … | if (content.firstChild) { | |
513 | 515 … | content.insertBefore(rootMsg, content.firstChild) | |
514 | 516 … | } else { | |
515 | 517 … | content.appendChild(rootMsg) | |
516 | 518 … | } | |
517 | - if (data.value.content.type == 'git-repo') { | ||
519 … | + if (message.value.content.type == 'git-repo') { | ||
518 | 520 … | pull( | |
519 | 521 … | sbot.backlinks({query: [{$filter: {value: {content: {type: 'git-update'}}, dest: src}}]}), | |
520 | 522 … | pull.drain(function (msg) { | |
521 | 523 … | if (msg.value) { | |
@@ -526,8 +528,9 @@ | |||
526 | 528 … | } | |
527 | 529 … | ||
528 | 530 … | } | |
529 | 531 … | }) | |
532 … | + | ||
530 | 533 … | } | |
531 | 534 … | ||
532 | 535 … | var keyPage = function () { | |
533 | 536 … | var screen = document.getElementById('screen') | |
@@ -765,8 +768,8 @@ | |||
765 | 768 … | else | |
766 | 769 … | search(src.substr(1).split('%20').join(' ')) | |
767 | 770 … | } else { | |
768 | 771 … | everythingStream() | |
769 | - checkInvite() | ||
772 … | + //checkInvite() | ||
770 | 773 … | } | |
771 | 774 … | ||
772 | 775 … | } |
Built with git-ssb-web