summaryrefslogtreecommitdiff
path: root/desk/app/nostril.hoon
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-09-17 12:24:41 +0700
committerpolwex <polwex@sortug.com>2025-09-17 12:24:41 +0700
commit387af8fc1603805b02ce03f8adba4fa73a954f7c (patch)
tree6ac4fe9c33a14d9da418a97955a38efb9338d869 /desk/app/nostril.hoon
parent31a47ce72255bb56920e417d250541b04be82648 (diff)
relay much more robust
Diffstat (limited to 'desk/app/nostril.hoon')
-rw-r--r--desk/app/nostril.hoon204
1 files changed, 0 insertions, 204 deletions
diff --git a/desk/app/nostril.hoon b/desk/app/nostril.hoon
deleted file mode 100644
index 51f9965..0000000
--- a/desk/app/nostril.hoon
+++ /dev/null
@@ -1,204 +0,0 @@
-/- sur=nostril, nsur=nostr
-/+ lib=nostril, nlib=nostr, sr=sortug,
- shim, dbug, muta=nostril-mutations, jsonlib=json-nostril,
- trill=trill-post
-/= web /web/router
-|%
-+$ versioned-state $%(state-0:sur)
---
-=| versioned-state
-=* state -
-%- agent:dbug
-^- agent:gall
-|_ =bowl:gall
-+* this .
- rout ~(. router:web [state bowl])
- cards ~(. cards:lib bowl)
- mutat ~(. muta [state bowl])
-++ on-init
- ^- (quip card:agent:gall agent:gall)
- :_ this(state default:sur)
- :~ shim-binding:cards
- ==
-::
-++ on-save
- ^- vase
- !>(state)
-::
-++ on-load
- |~ old-state=vase
- ^- (quip card:agent:gall agent:gall)
- =/ old-state !<(versioned-state old-state)
- ?- -.old-state
- %0 `this(state old-state)
- ==
-::
-++ on-poke
- |~ [=mark =vase]
- ^- (quip card:agent:gall agent:gall)
- ~& >> on-poke-nostril=mark
- |^
- ?+ mark `this
- %noun debug
- %json on-ui
- %handle-http-request serve
- ==
- :: handling shim events
- ++ serve
- =/ order !<(order:web vase)
- :: ~& request.req.order
- ?: .=(url.request.req.order '/nostr-shim')
- =/ msg (handle:shim order)
- ?~ msg `this
- ~& "msg processed"
- =/ relay (~(get by relays) url.u.msg)
- =/ nevents=(list event:nsur) ?~ relay [event.u.msg ~] [event.u.msg u.relay]
- =/ nevents2 (scag 100 nevents)
- =. relays (~(put by relays) url.u.msg nevents2)
- =/ response (ebail:rout id.order)
- [response this]
-
- ::
- :_ this (rout:rout order)
-
- ::
- ++ on-ui
- =/ jon=json !<(json vase)
- ~& > on-ui-jon=jon
- =/ upoke=(unit poke:ui:sur) (ui:de:jsonlib jon)
- ?~ upoke ~& bad-ui-poke=jon `this
- ?- -.u.upoke
- %fols (handle-fols +.u.upoke)
- %prof (handle-prof +.u.upoke)
- %keys (handle-keys +.u.upoke)
- %post (handle-post +.u.upoke)
- %rela (handle-rela +.u.upoke)
- ==
- ++ handle-post |= poke=post-poke:ui:sur
- ?- -.poke
- %add
- =/ sp (build-sp:trill our.bowl our.bowl content.poke)
- =/ p (build-post:trill now.bowl pubkey.poke sp)
- =. state (add-to-feed:mutat p)
- `this
- %rt `this
- %del `this
- ==
- ++ handle-fols |= poke=fols-poke:ui:sur
- `this
- ++ handle-prof |= poke=prof-poke:ui:sur
- ?- -.poke
- %add
- =. profiles (~(put by profiles) +<.poke +>.poke)
- `this
- %del
- =. profiles (~(del by profiles) +.poke)
- `this
- ==
- ++ handle-keys |= poke=keys-poke:ui:sur
- ?- -.poke
- %add
- =/ ks (gen-keys:nlib eny.bowl)
- =. keys (~(put by keys) -.ks +.ks)
- ~& new-keys=keys
- `this
- %del
- =. profiles (~(del by profiles) +.poke)
- `this
- ==
- ++ handle-rela |= poke=relay-poke:ui:sur
- ?- -.poke
- %send
- =/ upoast (get-poast:mutat host.poke id.poke)
- ?~ upoast `this
- :_ this :_ ~
- =/ keylist ~(tap by keys)
- =/ key (snag 0 keylist)
- =/ event (post-to-event:lib key eny.bowl u.upoast)
- =/ =req:shim:nsur [%post event relays.poke]
- (send:shim dap.bowl req)
- ==
-
- ::
- ++ debug
- =/ noun !<(* vase)
- ?+ -.noun `this
- %wtf
- =/ lol=(unit @) ~
- =/ l ~| "wtf" (need lol)
- `this
- %genkey
- =/ keys (gen-keys:nlib eny.bowl)
- ~& keys=keys
- `this
- %printkey
- =/ keylist ~(tap by keys)
- =/ key (snag 0 keylist)
- ~& pub=(scow:sr %ux -.key)
- ~& priv=(scow:sr %ux +.key)
- `this
- %feed
- =/ lol debug-own-feed:mutat
- `this
- %rt :: relay test
- :_ this :_ ~
- :: khan
- =/ =req:shim:nsur :- %get
- %+ turn ~(tap by relays)
- |= [url=@t *]
- =/ kinds ~[0 1 6 7]
- =/ =filter:nsur [~ ~ kinds ~ ~ ~ `5]
- [url ~[filter]]
- (send:shim dap.bowl req)
- ::
- %rt2
- =/ rls ~(tap by relays)
- =/ lol
- |- ?~ rls ~
- =/ rl i.rls
- ~& > relay=[-.rl (lent +.rl)]
- $(rls t.rls)
- `this
- ==
- ::
- --
-::
-++ on-watch
-|= =(pole knot)
- ?> .=(our.bowl src.bowl)
- ?+ pole !!
- [%ui ~]
- :_ this
- =/ jon (state:en:jsonlib state)
- [%give %fact ~ [%json !>(jon)]]^~
- ==
-::
-++ on-leave
- |~ =(pole knot)
- ^- (quip card:agent:gall agent:gall)
- `this
-::
-++ on-peek
- |~ =(pole knot)
- ^- (unit (unit cage))
- ~& > on-peek=pole
- ?+ pole ~
- [%j %feed rest=*] ~
- [%j %post rest=*] ~
- ==
-::
-++ on-agent
- |~ [wire sign:agent:gall]
- ^- (quip card:agent:gall agent:gall)
- `this
-::
-++ on-arvo
- |~ [wire =sign-arvo]
- ^- (quip card:agent:gall agent:gall)
- `this
-::
-++ on-fail
- |~ [term tang]
- ^- (quip card:agent:gall agent:gall)
- `this
---