diff options
| author | Adam Soltys <[email protected]> | 2022-12-22 13:42:00 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-12-22 13:42:00 -0800 |
| commit | a487b5a2b80d270771f9932c17d2b6babf0fd49a (patch) | |
| tree | 86d2b894f33d383012752e0a1bd01744f2548fb3 /lib | |
| parent | 728ac80f9cc8a3268bdced6339f58936bd69648b (diff) | |
| download | coinos-server-a487b5a2b80d270771f9932c17d2b6babf0fd49a.tar.gz coinos-server-a487b5a2b80d270771f9932c17d2b6babf0fd49a.zip | |
return mock user objects for anon pubkeys
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/nostr.js | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/nostr.js b/lib/nostr.js index 53c8d7d1..477d2b12 100644 --- a/lib/nostr.js +++ b/lib/nostr.js @@ -18,6 +18,8 @@ let timeout; pool.on("event", async (relay, sub, ev) => { try { if (sub === "live") { + let { pubkey } = ev; + if (Math.abs(Math.floor(Date.now() / 1000) - ev.created_at) > 7200) return; @@ -34,16 +36,31 @@ pool.on("event", async (relay, sub, ev) => { } coinos.send(["EVENT", ev]); - if (ev.kind === 1) broadcast("event", ev); + + ev.user = JSON.parse(await redis.get(`user:${pubkey}`)) || { + username: pubkey.substr(0, 6), + pubkey, + anon: true + }; + + if (ev.kind === 1) { + broadcast("event", ev); + } } } else { let pubkey = sub; clearTimeout(store.timeouts[pubkey]); - store.fetching[pubkey] = true; + ev.user = JSON.parse(await redis.get(`user:${pubkey}`)) || { + username: pubkey.substr(0, 6), + pubkey, + anon: true + }; + await redis.sAdd(pubkey, ev.id); await redis.set(`ev:${ev.id}`, JSON.stringify(ev)); + store.fetching[pubkey] = true; store.timeouts[pubkey] = setTimeout( () => (store.fetching[pubkey] = false), 100 |
