mirror of
https://github.com/mikedilger/gossip.git
synced 2024-09-29 00:11:01 +00:00
Load last contact list data at startup so we have data on the people-followed page
This commit is contained in:
parent
162c1e0727
commit
add7c99303
@ -147,6 +147,33 @@ impl People {
|
||||
|
||||
// Start the periodic task management
|
||||
pub fn start() {
|
||||
// Load our contact list from the database in order to populate
|
||||
// last_contact_list_asof and last_contact_list_size
|
||||
if let Some(pk) = GLOBALS.signer.public_key() {
|
||||
if let Ok(Some(event)) = GLOBALS.storage.fetch_contact_list(&pk) {
|
||||
if event.created_at.0
|
||||
> GLOBALS
|
||||
.people
|
||||
.last_contact_list_asof
|
||||
.load(Ordering::Relaxed)
|
||||
{
|
||||
GLOBALS
|
||||
.people
|
||||
.last_contact_list_asof
|
||||
.store(event.created_at.0, Ordering::Relaxed);
|
||||
let size = event
|
||||
.tags
|
||||
.iter()
|
||||
.filter(|t| matches!(t, Tag::Pubkey { .. }))
|
||||
.count();
|
||||
GLOBALS
|
||||
.people
|
||||
.last_contact_list_size
|
||||
.store(size, Ordering::Relaxed);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
task::spawn(async {
|
||||
loop {
|
||||
// Every 3 seconds...
|
||||
@ -178,8 +205,9 @@ impl People {
|
||||
let one_day_ago = Unixtime::now().unwrap().0 - (60 * 60 * 8);
|
||||
|
||||
if let Ok(vec) = GLOBALS.storage.filter_people(|p| {
|
||||
p.followed &&
|
||||
p.relay_list_last_received < one_day_ago && among_these.contains(&p.pubkey)
|
||||
p.followed
|
||||
&& p.relay_list_last_received < one_day_ago
|
||||
&& among_these.contains(&p.pubkey)
|
||||
}) {
|
||||
vec.iter().map(|p| p.pubkey).collect()
|
||||
} else {
|
||||
|
@ -151,9 +151,11 @@ where
|
||||
settings.recompute_feed_periodically = numstr_to_bool(value)
|
||||
}
|
||||
"feed_recompute_interval_ms" => {
|
||||
if let Ok(x) = value.parse::<u32>() {
|
||||
if let Ok(mut x) = value.parse::<u32>() {
|
||||
// Force longer intervals for currently slower LMDB:
|
||||
if x<5000 { x = 5000; }
|
||||
if x < 5000 {
|
||||
x = 5000;
|
||||
}
|
||||
|
||||
settings.feed_recompute_interval_ms = x;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user