summaryrefslogtreecommitdiff
path: root/desk/sur/nostrill.hoon
blob: ad826617aba9e3057cd69e5bef0f2b99b26afd2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/-  trill=trill-feed, nostr
|%
+$  state  state-0
+$  state-0
  $:  %0
      :: nostr config
      relays=(map @t relay-stats:nostr)
      keys=(lest keys:nostr)  :: cycled, i.keys is current one
      ::  own feed
      feed=feed:trill
      ::  nostr feed from relays
      =nostr-feed
      ::  profiles
      profiles=(map @ux user-meta:nostr)
      following=(map @ux =feed:trill)
      follow-graph=(map @ux (set follow))
      ::  for http requests
      pending=(map @t [pending=filter:nostr done=filter:nostr])
    :: TODO global feed somehow?

  ==
+$  nostr-feed  ((mop @ud event:nostr) gth)
++  norm        ((on @ud event:nostr) gth)
+$  follow  [pubkey=@ux name=@t relay=(unit @t)]
++  ui
  |%
  +$  poke
  $%  [%fols fols-poke]
      [%post post-poke]
      :: [%reac reac-poke]
      [%prof prof-poke]
      [%keys ~]  ::  cycle-keys
      [%rela relay-poke]
  ==
  +$  post-poke
  $%  [%add pubkey=@ux content=@t]
      [%rt id=@ux pubkey=@ux relay=@t]  :: NIP-18
      [%del pubkey=@ux]
  ==
  +$  fols-poke
  $%  [%add pubkey=@ux]
      [%del pubkey=@ux]
  ==
  +$  prof-poke
  $%  [%add pubkey=@ux meta=user-meta:nostr]
      [%del pubkey=@ux]
  ==
  +$  relay-poke
  $%  [%send host=@p id=@ relays=(list @t)]
  ==
  --
--