summaryrefslogtreecommitdiff
path: root/desk/lib/nostril
diff options
context:
space:
mode:
Diffstat (limited to 'desk/lib/nostril')
-rw-r--r--desk/lib/nostril/mutations.hoon117
1 files changed, 0 insertions, 117 deletions
diff --git a/desk/lib/nostril/mutations.hoon b/desk/lib/nostril/mutations.hoon
deleted file mode 100644
index f7de23b..0000000
--- a/desk/lib/nostril/mutations.hoon
+++ /dev/null
@@ -1,117 +0,0 @@
-/- sur=nostril, nsur=nostr,
- post=trill-post, gate=trill-gate, feed=trill-feed
-
-/+ appjs=json-nostril,
- njs=json-nostr,
- postlib=nostril-post,
- sr=sortug
-
-|_ [=state:sur =bowl:gall]
-++ debug-own-feed
- =/ postlist (tap:orm:feed feed.state)
- =/ lol
- |- ?~ postlist ~
- ~& >> poast=+.i.postlist
- $(postlist t.postlist)
- ~
-:: TODO not a mutation but fuck it
-++ get-poast |= [host=@p id=@] ^- (unit post:post)
- =/ poast ?: .=(host our.bowl)
- (get:orm:feed feed.state id)
- ~
- poast
-
-:: state
-++ add-to-feed |= p=post:post
- =. feed.state (put:orm:feed feed.state id.p p)
- state
-:: events
-++ process-events ^- (quip card _state)
- :: =/ l events.state
- :: =| cards=(list card:agent:gall)
- :: |- ?~ l [cards state]
- :: =/ n (event-parsing i.l)
- :: $(cards -.n, state +.n, l t.l)
- :: TODO
- `state
-
-++ event-parsing
- |= =event:nsur
- ^- (quip card _state)
- |^
-:: https://nostrdata.github.io/kinds/
- ?: .=(kind.event 0) :: user metadata
- parse-metadata
- ?: .=(kind.event 1) :: apparently a poast
- parse-poast
- ?: .=(kind.event 3) :: follow list
- parse-follow
- :: ?: .=(kind.event 5) :: delete
- ?: .=(kind.event 6) :: RT
- parse-follow
- ?: .=(kind.event 7) :: Reaction
- parse-follow
-
- `state
-
- ++ parse-metadata
- ^- (quip card _state)
- =/ jstring content.event
- =/ ujon (de:json:html jstring)
- ?~ ujon !!
- =/ umeta (user-meta:de:njs u.ujon)
- ?~ umeta `state
- =. profiles.state (~(put by profiles.state) pubkey.event u.umeta)
- `state
-
-
- ++ parse-poast
- ^- (quip card _state)
- =/ fid (~(get by following.state) pubkey.event)
- ?~ fid `state :: don't save post if we don't follow the fucker
-
- =/ cl (tokenize:postlib content.event)
-
- =/ ts (from-unix:jikan:sr created-at.event)
- :: TODO wtf
- =/ cm=content-map:post (init-content-map:postlib cl ts)
-
- =/ p=post:post :*
- id=ts
- host=`@p`pubkey.event
- author=`@p`pubkey.event
- thread=ts
- parent=~
- children=~
- contents=cm
- read=*lock:gate
- write=*lock:gate
- *engagement:post
- 0v0
- *signature:post
- tags=~
- ==
- =/ nfid (put:orm:feed u.fid ts p)
- =. following.state (~(put by following.state) pubkey.event nfid)
- `state
-
-
- ++ parse-follow
- ^- (quip card _state)
- =/ following (~(get by follow-graph.state) pubkey.event)
- =/ follow-set ?~ following *(set follow:sur) u.following
- |- ?~ tags.event `state
- =/ t=tag:nsur i.tags.event
- :: ?. .=('p' key.t) $(tags.event t.tags.event)
- :: =/ pubkeys value.t
- :: =/ pubkey (slaw:sr %ux pubkeys)
- :: ?~ pubkey ~& "parsing hex error" $(tags.event t.tags.event)
- :: =/ relay (snag 0 rest.t)
- :: =/ rel ?: .=(relay '') ~ (some relay)
- :: =/ nickname (snag 1 rest.t)
- :: =/ meta=follow:sur [u.pubkey nickname rel]
- :: =. follow-set (~(put in follow-set) meta)
- :: =. follow-graph.state (~(put by follow-graph.state) pubkey.event follow-set)
- $(tags.event t.tags.event)
- --
---