Commit dba1ec48c08d0594936b838fc855835948a3aef2
add a chache to message/html/subject
mix irving committed on 2/13/2018, 9:05:15 PMParent: 202db7a1462af5a1b1dbeb6b5c220468060f96ea
Files changed
message/html/subject.js | changed |
message/html/subject.js | |||
---|---|---|---|
@@ -12,23 +12,27 @@ | |||
12 | 12 … | 'sbot.async.get': 'first', | |
13 | 13 … | }) | |
14 | 14 … | ||
15 | 15 … | exports.create = function (api) { | |
16 … | + var subjectCache = {} | ||
17 … | + | ||
16 | 18 … | return nest('message.html.subject', subject) | |
17 | 19 … | ||
18 | 20 … | function subject (msg) { | |
19 | 21 … | if (msg === undefined) debugger | |
20 | 22 … | // test if it's a message ref, or a full message object | |
23 … | + // a message ref is generally passed in if we're fetching the subject of a root message | ||
21 | 24 … | if (isMsg(msg)) { | |
25 … | + if (subjectCache[msg]) return subjectCache[msg] | ||
26 … | + | ||
22 | 27 … | var subject = Value() | |
23 | 28 … | ||
24 | 29 … | api.sbot.async.get(msg, (err, value) => { | |
25 | 30 … | if (err) throw err | |
26 | - | ||
27 | - subject.set(getMsgSubject({ | ||
28 | - key: msg, | ||
29 | - value: api.message.sync.unbox(value) | ||
30 | - })) | ||
31 … | + | ||
32 … | + var _subject = getMsgSubject({ key: msg, value: api.message.sync.unbox(value) }) | ||
33 … | + subject.set(_subject) | ||
34 … | + subjectCache[msg] = _subject | ||
31 | 35 … | }) | |
32 | 36 … | ||
33 | 37 … | return subject | |
34 | 38 … | } |
Built with git-ssb-web