diff options
author | polwex <polwex@sortug.com> | 2025-09-17 12:24:41 +0700 |
---|---|---|
committer | polwex <polwex@sortug.com> | 2025-09-17 12:24:41 +0700 |
commit | 387af8fc1603805b02ce03f8adba4fa73a954f7c (patch) | |
tree | 6ac4fe9c33a14d9da418a97955a38efb9338d869 /desk/app/nostril.hoon | |
parent | 31a47ce72255bb56920e417d250541b04be82648 (diff) |
relay much more robust
Diffstat (limited to 'desk/app/nostril.hoon')
-rw-r--r-- | desk/app/nostril.hoon | 204 |
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 --- |