dill: fix %shut session deletion
+abet would re-insert the session into state, so we just pull the
deletion logic outside of the main core.
|= [g=gill _..open]
(send [%yow g])
::
- ++ shut
- ::TODO send a %bye blit?
- pull(eye.all (~(del by eye.all) ses))
- ::
++ send :: send action
|= bet=dill-belt
^+ +>
=/ nus
~| [%no-session ses]
(need (ax hen ses))
- =^ moz all abet:shut:nus
+ ::NOTE we do deletion from state outside of the core,
+ :: because +abet would re-insert.
+ ::TODO send a %bye blit? xx
+ =^ moz all abet:pull:nus
+ =. dug.all (~(del by dug.all) ses)
+ =. eye.all (~(del by eye.all) ses)
[moz ..^$]
:: %view opens a subscription to the target session, on the current duct
::
