diff options
Diffstat (limited to 'desk/lib/nostril')
-rw-r--r-- | desk/lib/nostril/mutations.hoon | 117 |
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) - -- --- |