diff --git a/pkg/arvo/app/dojo.hoon b/pkg/arvo/app/dojo.hoon index c9e139192f..f2b8e4f99d 100644 --- a/pkg/arvo/app/dojo.hoon +++ b/pkg/arvo/app/dojo.hoon @@ -807,7 +807,7 @@ :: ++ dy-run-generator !. - |= [cay=cage cig=dojo-config] + |= [cay=cage cig=dojo-config =desk] ^+ +>+> ?. (~(nest ut [%cell [%atom %$ ~] %noun]) | p.q.cay) :: naked generator; takes one argument @@ -850,7 +850,7 @@ |. ^- vase =/ gat=vase (slot 3 q.cay) =/ som=vase (slot 6 gat) - =/ ven=vase !>([now=now.hid eny=eny.hid bec=he-beak]) + =/ ven=vase !>([now=now.hid eny=eny.hid bec=he-beak(q.dir desk)]) =/ poz=vase (dy-sore p.cig) =/ kev=vase =/ kuv=(unit vase) (slew 7 som) @@ -990,7 +990,7 @@ %te (dy-wool-poke p.bil q.bil) %ex (dy-mere p.bil) %dv (dy-sing hand+q.bil %a p.bil (snoc q.bil %hoon)) - %ge (dy-run-generator (dy-cage p.p.p.bil) q.p.bil) + %ge (dy-run-generator (dy-cage p.p.p.bil) q.p.bil desk.q.p.p.bil) %sa =/ has-mark .?((get-fit:clay he-beak %mar p.bil)) ?. has-mark diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index e95a6f947d..78734f9b8f 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -2775,7 +2775,7 @@ sky=(map spur path-state) ken=(jug spar:ames wire) == == - +$ egg-any $%([%15 egg]) + +$ egg-any $%([%15 egg] [%16 egg]) +$ bowl :: standard app state $: $: our=ship :: host src=ship :: guest diff --git a/pkg/arvo/sys/vane/eyre.hoon b/pkg/arvo/sys/vane/eyre.hoon index f999d0eabb..245f15c448 100644 --- a/pkg/arvo/sys/vane/eyre.hoon +++ b/pkg/arvo/sys/vane/eyre.hoon @@ -2962,6 +2962,7 @@ =* session-id session-id.u.connection-state =* sessions sessions.auth.state =* inbound inbound-request.u.connection-state + =* headers headers.response-header.http-event :: ?. (~(has by sessions) session-id) :: if the session has expired since the request was opened, @@ -2972,9 +2973,14 @@ |= =session session(expiry-time (add now session-timeout)) =- response-header.http-event(headers -) - %^ set-header:http 'set-cookie' - (session-cookie-string session-id &) - headers.response-header.http-event + =/ cookie=(pair @t @t) + ['set-cookie' (session-cookie-string session-id &)] + |- + ?~ headers + [cookie ~] + ?: &(=(key.i.headers p.cookie) =(value.i.headers q.cookie)) + headers + [i.headers $(headers t.headers)] :: =* connection u.connection-state :: diff --git a/pkg/arvo/sys/vane/gall.hoon b/pkg/arvo/sys/vane/gall.hoon index 8c0ce77531..d6a3a80f23 100644 --- a/pkg/arvo/sys/vane/gall.hoon +++ b/pkg/arvo/sys/vane/gall.hoon @@ -42,9 +42,9 @@ :: $move: Arvo-level move :: +$ move [=duct move=(wind note-arvo gift-arvo)] -:: $state-15: overall gall state, versioned +:: $state-16: overall gall state, versioned :: -+$ state-15 [%15 state] ++$ state-16 [%16 state] :: $state: overall gall state :: :: system-duct: TODO document @@ -150,8 +150,7 @@ :: remember to duplicate version tag changes here to $egg-any:gall in lull :: +$ spore - $: %15 - system-duct=duct + $: system-duct=duct outstanding=(map [wire duct] (qeu remote-request)) contacts=(set ship) eggs=(map term egg) @@ -159,10 +158,11 @@ =bug leaves=(unit [=duct =wire date=@da]) == ++$ spore-16 [%16 spore] -- :: adult gall vane interface, for type compatibility with pupa :: -=| state=state-15 +=| state=state-16 |= [now=@da eny=@uvJ rof=roof] =* gall-payload . ~% %gall-top ..part ~ @@ -1062,7 +1062,7 @@ %+ trace & [leaf+"gall: {}: cull {<[case spur]>} no paths"]~ =/ fis (need (pry:on-path fan.u.old)) - ?. &((gth yon key.fis) (lte yon key.u.las)) + ?. &((gte yon key.fis) (lte yon key.u.las)) %. sky.yoke %+ trace & :_ ~ @@ -1959,31 +1959,33 @@ :: ++ load |^ |= old=spore-any - =? old ?=(%7 -.old) (spore-7-to-8 old) - =? old ?=(%8 -.old) (spore-8-to-9 old) - =? old ?=(%9 -.old) (spore-9-to-10 old) - =? old ?=(%10 -.old) (spore-10-to-11 old) - =? old ?=(%11 -.old) (spore-11-to-12 old) - =? old ?=(%12 -.old) (spore-12-to-13 old) - =? old ?=(%13 -.old) (spore-13-to-14 old) - =? old ?=(%14 -.old) (spore-14-to-15 old) - ?> ?=(%15 -.old) + =? old ?=(%7 -.old) (spore-7-to-8 +.old) + =? old ?=(%8 -.old) (spore-8-to-9 +.old) + =? old ?=(%9 -.old) (spore-9-to-10 +.old) + =? old ?=(%10 -.old) (spore-10-to-11 +.old) + =? old ?=(%11 -.old) (spore-11-to-12 +.old) + =? old ?=(%12 -.old) (spore-12-to-13 +.old) + =? old ?=(%13 -.old) (spore-13-to-14 +.old) + =? old ?=(%14 -.old) (spore-14-to-15 +.old) + =? old ?=(%15 -.old) (spore-15-to-16 +.old) + ?> ?=(%16 -.old) gall-payload(state old) :: +$ spore-any - $% spore - spore-7 - spore-8 - spore-9 - spore-10 - spore-11 - spore-12 - spore-13 - spore-14 + $% [%16 spore] + [%7 spore-7] + [%8 spore-8] + [%9 spore-9] + [%10 spore-10] + [%11 spore-11] + [%12 spore-12] + [%13 spore-13] + [%14 spore-14] + [%15 spore-15] == + +$ spore-15 spore +$ spore-14 - $: %14 - system-duct=duct + $: system-duct=duct outstanding=(map [wire duct] (qeu remote-request)) contacts=(set ship) eggs=(map term egg) @@ -1991,8 +1993,7 @@ =bug == +$ spore-13 - $: %13 - system-duct=duct + $: system-duct=duct outstanding=(map [wire duct] (qeu remote-request)) contacts=(set ship) eggs=(map term egg) @@ -2005,8 +2006,7 @@ attributing=ship == +$ spore-12 - $: %12 - system-duct=duct + $: system-duct=duct outstanding=(map [wire duct] (qeu remote-request)) contacts=(set ship) eggs=(map term egg-12) @@ -2030,8 +2030,7 @@ sky=(map spur path-state) == == +$ spore-11 - $: %11 - system-duct=duct + $: system-duct=duct outstanding=(map [wire duct] (qeu remote-request)) contacts=(set ship) eggs=(map term egg-11) @@ -2052,8 +2051,7 @@ marks=(map duct mark) == +$ spore-10 - $: %10 - system-duct=duct + $: system-duct=duct outstanding=(map [wire duct] (qeu remote-request)) contacts=(set ship) eggs=(map term egg-10) @@ -2074,8 +2072,7 @@ marks=(map duct mark) == +$ spore-9 - $: %9 - system-duct=duct + $: system-duct=duct outstanding=(map [wire duct] (qeu remote-request-9)) contacts=(set ship) eggs=(map term egg-10) @@ -2086,8 +2083,7 @@ +$ remote-request-9 ?(remote-request %cork) :: +$ spore-8 - $: %8 - system-duct=duct + $: system-duct=duct outstanding=(map [wire duct] (qeu remote-request-9)) contacts=(set ship) eggs=(map term egg-8) @@ -2106,8 +2102,7 @@ +$ watches-8 [inbound=bitt outbound=boat-8] +$ boat-8 (map [wire ship term] [acked=? =path]) +$ spore-7 - $: %7 - wipe-eyre-subs=_| ::NOTE band-aid for #3196 + $: wipe-eyre-subs=_| ::NOTE band-aid for #3196 system-duct=duct outstanding=(map [wire duct] (qeu remote-request-9)) contacts=(set ship) @@ -2117,20 +2112,22 @@ :: ++ spore-7-to-8 |= old=spore-7 - ^- spore-8 + ^- spore-any :- %8 + ^- spore-8 =. eggs.old %- ~(urn by eggs.old) |= [a=term e=egg-8] :: kiln will kick off appropriate app revival :: e(old-state [%| p.old-state.e]) - +>.old + +.old :: ++ spore-8-to-9 |= old=spore-8 + :- %9 ^- spore-9 - =- old(- %9, eggs -, blocked [blocked.old *bug]) + =- old(eggs -, blocked [blocked.old *bug]) %- ~(run by eggs.old) |= =egg-8 ^- egg-10 @@ -2153,7 +2150,9 @@ :: ++ spore-9-to-10 |= old=spore-9 - =- old(- %10, outstanding -) + :- %10 + ^- spore-10 + =- old(outstanding -) %- ~(run by outstanding.old) |= q=(qeu remote-request-9) %- ~(gas to *(qeu remote-request)) @@ -2166,9 +2165,9 @@ :: ++ spore-10-to-11 |= old=spore-10 + :- %11 ^- spore-11 %= old - - %11 eggs %- ~(urn by eggs.old) |= [a=term e=egg-10] @@ -2180,9 +2179,9 @@ :: ++ spore-11-to-12 |= old=spore-11 + :- %12 ^- spore-12 %= old - - %12 eggs %- ~(urn by eggs.old) |= [a=term e=egg-11] @@ -2194,9 +2193,9 @@ :: ++ spore-12-to-13 |= old=spore-12 + :- %13 ^- spore-13 %= old - - %13 eggs %- ~(urn by eggs.old) |= [a=term e=egg-12] @@ -2208,10 +2207,9 @@ :: ++ spore-13-to-14 |= old=spore-13 + :- %14 ^- spore-14 %= old - - %14 - :: blocked ^- (map term (qeu blocked-move)) %- ~(run by blocked.old) @@ -2228,8 +2226,35 @@ :: ++ spore-14-to-15 |= old=spore-14 - ^- spore - old(- %15, bug [bug.old ~]) + :- %15 + ^- spore-15 + old(bug [bug.old ~]) + :: convert to versioned sky + :: + ++ spore-15-to-16 + |= old=spore-15 + ^- spore-16 + :- %16 + %= old + eggs + %- ~(urn by eggs.old) + |= [=term e=egg] + ^- egg + ?: ?=(%nuke -.e) e(sky *(map spur @ud)) + %= e + sky + %- molt + %+ turn ~(tap by sky.e) + |= [=spur p=path-state] + :- spur + :- ~ + =/ m ~(val by fan.p) + %+ gas:on-path *_fan.p + %+ turn (gulf 1 ~(wyt by fan.p)) + |= a=@ud + [a (snag (dec a) m)] + == + == -- :: +scry: standard scry :: @@ -2336,19 +2361,22 @@ p.agent.u.yok on-save:p.agent.u.yok == - ``noun+!>([-:*spore egg]) + ``noun+!>(`egg-any`[-:*spore-16 egg]) :: ?: ?& =(%w care) =([%$ %da now] coin) =(our ship) + ?=([%'1' *] path) == + => .(path t.path) =/ yok (~(get by yokes.state) q.bem) ?. ?=([~ %live *] yok) [~ ~] ?~ ski=(~(get by sky.u.yok) path) [~ ~] ?~ las=(ram:on-path fan.u.ski) [~ ~] ``case/!>(ud/key.u.las) :: - ?: ?=(%x care) + ?: &(?=(%x care) ?=([%'1' *] path)) + => .(path t.path) ?. =(p.bem our) ~ :: ?: ?=(%$ q.bem) :: app %$ reserved @@ -2401,7 +2429,9 @@ ?: ?& =(%t care) =([%$ %da now] coin) =(our ship) + ?=([%'1' *] path) == + => .(path t.path) =/ yok (~(get by yokes.state) q.bem) ?. ?=([~ %live *] yok) ~ :^ ~ ~ %file-list !> ^- (list ^path) @@ -2413,7 +2443,9 @@ :: ?: ?& =(%z care) =(our ship) + ?=([%'1' *] path) == + => .(path t.path) =/ yok (~(get by yokes.state) q.bem) ?. ?=([~ %live *] yok) ~ ?~ ski=(~(get by sky.u.yok) path) ~ @@ -2432,7 +2464,7 @@ :: TODO: superfluous? see +molt :: ++ stay - ^- spore + ^- spore-16 =; eggs=(map term egg) state(yokes eggs) %- ~(run by yokes.state) |= =yoke diff --git a/pkg/arvo/sys/zuse.hoon b/pkg/arvo/sys/zuse.hoon index 5e3f10d272..46affabb66 100644 --- a/pkg/arvo/sys/zuse.hoon +++ b/pkg/arvo/sys/zuse.hoon @@ -4780,7 +4780,7 @@ =+ spa=;~(pose comt whit) %+ knee *manx |. ~+ %+ ifix - [;~(plug (punt decl) (star spa)) (star spa)] + [;~(plug (more spa decl) (star spa)) (star spa)] ;~ pose %+ sear |=([a=marx b=marl c=mane] ?.(=(c n.a) ~ (some [a b]))) ;~(plug head many tail)