feed/obs/thread.jsView |
---|
1 | 1 … | var nest = require('depnest') |
2 | 2 … | var sort = require('ssb-sort') |
3 | 3 … | var ref = require('ssb-ref') |
| 4 … | +var isBlog = require('scuttle-blog/isBlog') |
| 5 … | +var Blog = require('scuttle-blog') |
| 6 … | + |
4 | 7 … | var { Array: MutantArray, Value, map, computed, concat } = require('mutant') |
5 | 8 … | |
6 | 9 … | exports.needs = nest({ |
7 | 10 … | 'backlinks.obs.for': 'first', |
8 | 11 … | 'sbot.async.get': 'first', |
9 | 12 … | 'message.sync.unbox': 'first', |
10 | 13 … | 'message.sync.root': 'first', |
11 | | - 'message.sync.isBlocked': 'first' |
| 14 … | + 'message.sync.isBlocked': 'first', |
| 15 … | + 'sbot.obs.connection': 'first' |
12 | 16 … | }) |
13 | 17 … | |
14 | 18 … | exports.gives = nest('feed.obs.thread') |
15 | 19 … | |
22 | 26 … | var { isBlocked, root } = api.message.sync |
23 | 27 … | |
24 | 28 … | var prepend = MutantArray() |
25 | 29 … | api.sbot.async.get(rootId, (err, value) => { |
26 | | - sync.set(true) |
27 | 30 … | if (!err) { |
28 | 31 … | var msg = unboxIfNeeded({key: rootId, value}) |
29 | 32 … | if (isBlocked(msg)) msg.isBlocked = true |
30 | | - prepend.push(Value(msg)) |
| 33 … | + |
| 34 … | + if (isBlog(msg)) { |
| 35 … | + |
| 36 … | + Blog(api.sbot.obs.connection).async.get(msg, (err, result) => { |
| 37 … | + if (!err) { |
| 38 … | + msg.body = result.body |
| 39 … | + prepend.push(Value(msg)) |
| 40 … | + sync.set(true) |
| 41 … | + } |
| 42 … | + }) |
| 43 … | + } else { |
| 44 … | + sync.set(true) |
| 45 … | + prepend.push(Value(msg)) |
| 46 … | + } |
| 47 … | + } else { |
| 48 … | + sync.set(true) |
31 | 49 … | } |
32 | 50 … | }) |
33 | 51 … | |
34 | 52 … | var backlinks = api.backlinks.obs.for(rootId) |
45 | 63 … | }) |
46 | 64 … | |
47 | 65 … | |
48 | 66 … | |
49 | | - |
| 67 … | + |
50 | 68 … | |
51 | 69 … | |
52 | 70 … | var messages = concat([prepend, replies]) |
53 | 71 … | |