Commit f8d403078d632490a3a821d929fa54b0f9673a6c
make recent post search wider (7 days, 4000 posts) and cache results
- improves ranking of friends on profiles (show active friends first)Matt McKegg committed on 4/7/2017, 1:59:06 AM
Parent: 396cc6e6e6fae7fff0c92425e4ef1a14e39b1204
Files changed
modules/page/html/render/public.js | changed |
modules/profile/obs/recently-updated.js | changed |
modules/page/html/render/public.js | ||
---|---|---|
@@ -110,9 +110,9 @@ | ||
110 | 110 | |
111 | 111 | return result |
112 | 112 | |
113 | 113 | function getSidebar () { |
114 | - var whoToFollow = computed([following, api.profile.obs.recentlyUpdated(200), localPeers], (following, recent, peers) => { | |
114 | + var whoToFollow = computed([following, api.profile.obs.recentlyUpdated(), localPeers], (following, recent, peers) => { | |
115 | 115 | return Array.from(recent).filter(x => x !== id && !following.has(x) && !peers.includes(x)).slice(0, 10) |
116 | 116 | }) |
117 | 117 | return [ |
118 | 118 | h('button -pub -full', { |
modules/profile/obs/recently-updated.js | ||
---|---|---|
@@ -12,32 +12,39 @@ | ||
12 | 12 | |
13 | 13 | exports.gives = nest('profile.obs.recentlyUpdated') |
14 | 14 | |
15 | 15 | exports.create = function (api) { |
16 | - return nest('profile.obs.recentlyUpdated', function (limit) { | |
16 | + var instance = null | |
17 | + | |
18 | + return nest('profile.obs.recentlyUpdated', function () { | |
19 | + load() | |
20 | + return instance | |
21 | + }) | |
22 | + | |
23 | + function load () { | |
24 | + if (instance) return | |
25 | + | |
17 | 26 | var stream = pull( |
18 | 27 | pullCat([ |
19 | - api.sbot.pull.feed({reverse: true, limit: limit || 500}), | |
28 | + api.sbot.pull.feed({reverse: true, limit: 4000}), | |
20 | 29 | api.sbot.pull.feed({old: false}) |
21 | 30 | ]) |
22 | 31 | ) |
23 | 32 | |
24 | 33 | var result = MutantPullReduce(stream, (result, msg) => { |
25 | - if (msg.value.timestamp && Date.now() - msg.value.timestamp < 24 * hr) { | |
34 | + if (msg.value.timestamp && Date.now() - msg.value.timestamp < (7 * 24 * hr)) { | |
26 | 35 | result.add(msg.value.author) |
27 | 36 | } |
28 | 37 | return result |
29 | 38 | }, { |
30 | 39 | startValue: new Set(), |
31 | 40 | nextTick: true |
32 | 41 | }) |
33 | 42 | |
34 | - var instance = throttle(result, 2000) | |
43 | + instance = throttle(result, 2000) | |
35 | 44 | instance.sync = result.sync |
36 | 45 | |
37 | 46 | instance.has = function (value) { |
38 | 47 | return computed(instance, x => x.has(value)) |
39 | 48 | } |
40 | - | |
41 | - return instance | |
42 | - }) | |
49 | + } | |
43 | 50 | } |
Built with git-ssb-web