diff options
Diffstat (limited to 'app/lib/nostrill/follows.hoon')
| -rw-r--r-- | app/lib/nostrill/follows.hoon | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/app/lib/nostrill/follows.hoon b/app/lib/nostrill/follows.hoon index fb477d6..a1af70a 100644 --- a/app/lib/nostrill/follows.hoon +++ b/app/lib/nostrill/follows.hoon @@ -1,19 +1,25 @@ /- sur=nostrill, nsur=nostr, comms=nostrill-comms, feed=trill-feed -/+ lib=nostrill, js=json-nostr, nostr-client, sr=sortug, constants, gatelib=trill-gate, feedlib=trill-feed, jsonlib=json-nostrill +/+ lib=nostrill, js=json-nostr, nostr-client, sr=sortug, constants, gatelib=trill-gate, feedlib=trill-feed, jsonlib=json-nostrill, mutations-nostr |_ [=state:sur =bowl:gall] ++ handle-add |= =user:sur ^- (quip card:agent:gall _state) ?- -.user %urbit =/ c (urbit-watch +.user) :- :~(c) state - %nostr =/ nclient ~(. nostr-client [state bowl]) + %nostr =/ mutan ~(. mutations-nostr [state bowl]) + =/ rl get-relay:mutan + ?~ rl ~& >>> "no relay!" `state + =/ wid -.u.rl + =/ relay +.u.rl + =/ nclient ~(. nostr-client [state bowl wid relay]) :: TODO now or on receival? =. following.state (~(put by following.state) user *feed:feed) =/ graph (~(get by follow-graph.state) [%urbit our.bowl]) =/ follows ?~ graph (silt ~[user]) (~(put in u.graph) user) =. follow-graph.state (~(put by follow-graph.state) [%urbit our.bowl] follows) - =^ cards state (get-user-feed:nclient +.user) + =^ cards relay (get-user-feed:nclient +.user) + =. relays.state (~(put by relays.state) wid relay) [cards state] == ++ handle-del |= =user:sur |
