mirror of
https://github.com/urbit/shrub.git
synced 2024-12-24 03:14:30 +03:00
2caf1dac24
If a ship breaches, it may no longer be subscribed to the group, but still be in it. This causes DM breakage amongst other things. To fix it, we loop over the incoming subscriptions and kick everyone who is a part of a group, but not subscribed to it.
32 lines
536 B
Plaintext
32 lines
536 B
Plaintext
/- spider
|
|
/+ *strandio
|
|
=>
|
|
|%
|
|
++ strand strand:spider
|
|
::
|
|
++ supported-apps
|
|
^- (list term)
|
|
:~ %graph-pull-hook
|
|
%group-pull-hook
|
|
%group-push-hook
|
|
==
|
|
::
|
|
++ poke-all-sane
|
|
=/ m (strand ,~)
|
|
^- form:m
|
|
=/ apps supported-apps
|
|
|- =* loop $
|
|
?~ apps
|
|
(pure:m ~)
|
|
=* app i.apps
|
|
;< ~ bind:m (poke-our app sane+!>(%sane))
|
|
loop(apps t.apps)
|
|
--
|
|
::
|
|
^- thread:spider
|
|
|= vase
|
|
=/ m (strand ,vase)
|
|
;< ~ bind:m poke-all-sane
|
|
;< ~ bind:m (poke-our %sane noun+!>(%fix))
|
|
(pure:m !>("Done"))
|