2021-09-29 07:37:31 +03:00
|
|
|
/- view-sur=group-view, group-store, *group, metadata=metadata-store, hark=hark-store
|
2021-02-02 22:36:05 +03:00
|
|
|
/+ default-agent, agentio, mdl=metadata,
|
2021-02-03 07:52:48 +03:00
|
|
|
resource, dbug, grpl=group, conl=contact, verb
|
2021-01-12 02:05:39 +03:00
|
|
|
|%
|
|
|
|
++ card card:agent:gall
|
2021-02-16 06:48:23 +03:00
|
|
|
::
|
2021-03-04 05:54:37 +03:00
|
|
|
+$ base-state-0
|
2021-02-16 06:48:23 +03:00
|
|
|
joining=(map rid=resource [=ship =progress:view])
|
|
|
|
::
|
2021-03-04 05:54:37 +03:00
|
|
|
+$ base-state-1
|
|
|
|
joining=(map rid=resource request:view)
|
|
|
|
::
|
2021-01-12 02:05:39 +03:00
|
|
|
+$ state-zero
|
2021-03-04 05:54:37 +03:00
|
|
|
[%0 base-state-0]
|
2021-02-16 06:48:23 +03:00
|
|
|
::
|
|
|
|
+$ state-one
|
2021-03-04 05:54:37 +03:00
|
|
|
[%1 base-state-0]
|
|
|
|
::
|
|
|
|
+$ state-two
|
|
|
|
[%2 base-state-1]
|
2021-02-16 06:48:23 +03:00
|
|
|
::
|
|
|
|
+$ versioned-state
|
|
|
|
$% state-zero
|
|
|
|
state-one
|
2021-03-04 05:54:37 +03:00
|
|
|
state-two
|
2021-01-12 02:05:39 +03:00
|
|
|
==
|
2021-02-16 06:48:23 +03:00
|
|
|
::
|
2021-01-29 07:21:13 +03:00
|
|
|
++ view view-sur
|
2021-01-12 02:05:39 +03:00
|
|
|
--
|
2021-03-04 05:54:37 +03:00
|
|
|
=| state-two
|
2021-01-12 02:05:39 +03:00
|
|
|
=* state -
|
|
|
|
::
|
|
|
|
%- agent:dbug
|
2021-01-29 08:12:50 +03:00
|
|
|
%+ verb |
|
2021-01-12 02:05:39 +03:00
|
|
|
^- agent:gall
|
|
|
|
=<
|
|
|
|
|_ =bowl:gall
|
|
|
|
+* this .
|
|
|
|
def ~(. (default-agent this %|) bowl)
|
|
|
|
gc ~(. +> bowl)
|
|
|
|
io ~(. agentio bowl)
|
|
|
|
++ on-init
|
|
|
|
`this
|
|
|
|
++ on-save
|
|
|
|
!>(state)
|
|
|
|
::
|
|
|
|
++ on-load
|
|
|
|
|= =vase
|
2021-02-16 06:48:23 +03:00
|
|
|
=+ !<(old=versioned-state vase)
|
|
|
|
=| cards=(list card)
|
2021-03-04 05:54:37 +03:00
|
|
|
|^
|
|
|
|
?- -.old
|
|
|
|
%2 [cards this(state old)]
|
|
|
|
%1 $(-.old %2, +.old (base-state-to-1 +.old))
|
|
|
|
%0 $(-.old %1, cards :_(cards (poke-self:pass:io noun+!>(%cleanup))))
|
|
|
|
==
|
|
|
|
::
|
|
|
|
++ base-state-to-1
|
|
|
|
|= base-state-0
|
|
|
|
%- ~(gas by *(map resource request:view))
|
|
|
|
(turn ~(tap by joining) request-to-1)
|
|
|
|
::
|
|
|
|
++ request-to-1
|
|
|
|
|= [rid=resource =ship =progress:view]
|
|
|
|
^- [resource request:view]
|
|
|
|
:- rid
|
|
|
|
%* . *request:view
|
|
|
|
started now.bowl
|
|
|
|
hidden %.n
|
|
|
|
ship ship
|
|
|
|
progress progress
|
|
|
|
==
|
|
|
|
--
|
2021-01-12 02:05:39 +03:00
|
|
|
::
|
|
|
|
++ on-poke
|
|
|
|
|= [=mark =vase]
|
|
|
|
^- (quip card _this)
|
2021-02-16 06:48:23 +03:00
|
|
|
?: ?=(%noun mark)
|
|
|
|
=^ cards state
|
|
|
|
poke-noun:gc
|
|
|
|
[cards this]
|
|
|
|
?. ?=(%group-view-action mark)
|
2021-01-12 02:05:39 +03:00
|
|
|
(on-poke:def mark vase)
|
2021-01-29 07:21:13 +03:00
|
|
|
=+ !<(=action:view vase)
|
2021-01-12 02:05:39 +03:00
|
|
|
=^ cards state
|
2021-03-04 05:54:37 +03:00
|
|
|
?+ -.action !!
|
|
|
|
%join jn-abet:(jn-start:join:gc +.action)
|
|
|
|
%hide (hide:gc +.action)
|
|
|
|
==
|
2021-01-12 02:05:39 +03:00
|
|
|
[cards this]
|
|
|
|
::
|
|
|
|
++ on-watch
|
|
|
|
|= =path
|
2021-01-29 07:21:13 +03:00
|
|
|
?+ path (on-watch:def path)
|
|
|
|
[%all ~]
|
|
|
|
:_ this
|
2021-02-01 04:57:56 +03:00
|
|
|
:_ ~
|
|
|
|
%+ fact:io
|
|
|
|
:- %group-view-update
|
2021-03-04 05:54:37 +03:00
|
|
|
!>(`update:view`[%initial joining])
|
2021-02-01 04:57:56 +03:00
|
|
|
~
|
2021-01-29 07:21:13 +03:00
|
|
|
==
|
2021-01-12 02:05:39 +03:00
|
|
|
::
|
2021-01-29 08:12:50 +03:00
|
|
|
++ on-peek on-peek:def
|
2021-01-12 02:05:39 +03:00
|
|
|
::
|
|
|
|
++ on-agent
|
|
|
|
|= [=wire =sign:agent:gall]
|
|
|
|
=^ cards state
|
|
|
|
?+ wire `state
|
2021-01-29 07:21:13 +03:00
|
|
|
[%join %ship @ @ *]
|
|
|
|
=/ rid
|
|
|
|
(de-path:resource t.wire)
|
|
|
|
?. (~(has by joining) rid) `state
|
2021-02-01 04:57:56 +03:00
|
|
|
jn-abet:(jn-agent:(jn-abed:join:gc rid) t.t.t.t.wire sign)
|
2021-01-12 02:05:39 +03:00
|
|
|
==
|
|
|
|
[cards this]
|
|
|
|
::
|
2021-01-29 08:12:50 +03:00
|
|
|
++ on-arvo on-arvo:def
|
|
|
|
++ on-leave on-leave:def
|
2021-01-29 07:21:13 +03:00
|
|
|
++ on-fail on-fail:def
|
2021-01-12 02:05:39 +03:00
|
|
|
--
|
|
|
|
|_ =bowl:gall
|
|
|
|
++ met ~(. mdl bowl)
|
2021-01-29 07:21:13 +03:00
|
|
|
++ grp ~(. grpl bowl)
|
2021-01-12 02:05:39 +03:00
|
|
|
++ io ~(. agentio bowl)
|
2021-02-03 07:52:48 +03:00
|
|
|
++ con ~(. conl bowl)
|
2021-03-04 05:54:37 +03:00
|
|
|
++ hide
|
|
|
|
|= rid=resource
|
|
|
|
^- (quip card _state)
|
2021-07-06 06:53:54 +03:00
|
|
|
=/ =request:view (~(got by joining) rid)
|
|
|
|
?: ?=(final:view progress.request)
|
|
|
|
=. joining (~(del by joining) rid)
|
|
|
|
:_ state
|
|
|
|
(fact:io group-view-update+!>(`update:view`[%initial joining]) /all ~)^~
|
2021-03-04 05:54:37 +03:00
|
|
|
:- (fact:io group-view-update+!>([%hide rid]) /all ~)^~
|
2021-07-06 06:53:54 +03:00
|
|
|
state(joining (~(put by joining) rid request(hidden %.y)))
|
2021-01-12 02:05:39 +03:00
|
|
|
::
|
2021-02-16 06:48:23 +03:00
|
|
|
++ has-joined
|
|
|
|
|= rid=resource
|
|
|
|
=- ?=(^ -)
|
|
|
|
?~ grp=(peek-group:met %groups rid)
|
|
|
|
(peek-group:met %graph rid)
|
|
|
|
grp
|
|
|
|
::
|
|
|
|
++ poke-noun
|
|
|
|
^- (quip card _state)
|
2021-03-04 05:54:37 +03:00
|
|
|
=; new-joining=(map resource request:view)
|
2021-02-16 06:48:23 +03:00
|
|
|
`state(joining new-joining)
|
|
|
|
%+ roll ~(tap by joining)
|
2021-03-04 05:54:37 +03:00
|
|
|
|= [[rid=resource =request:view] out=_joining]
|
2021-02-16 06:48:23 +03:00
|
|
|
?. (has-joined rid) out
|
|
|
|
(~(del by out) rid)
|
2021-01-12 02:05:39 +03:00
|
|
|
::
|
|
|
|
++ join
|
2021-02-01 04:57:56 +03:00
|
|
|
|_ [rid=resource =ship cards=(list card)]
|
2021-01-12 02:05:39 +03:00
|
|
|
++ jn-core .
|
2021-02-01 04:57:56 +03:00
|
|
|
++ emit-many
|
|
|
|
|= crds=(list card)
|
|
|
|
jn-core(cards (weld (flop crds) cards))
|
2021-02-02 01:36:16 +03:00
|
|
|
::
|
2021-02-01 04:57:56 +03:00
|
|
|
++ emit
|
|
|
|
|= =card
|
|
|
|
jn-core(cards [card cards])
|
2021-01-29 07:21:13 +03:00
|
|
|
::
|
2021-02-01 04:57:56 +03:00
|
|
|
++ tx-progress
|
2021-01-29 07:21:13 +03:00
|
|
|
|= =progress:view
|
2021-02-01 04:57:56 +03:00
|
|
|
=. joining
|
2021-07-06 06:53:54 +03:00
|
|
|
(~(jab by joining) rid |=(req=request:view req(progress progress)))
|
2021-01-29 07:52:36 +03:00
|
|
|
=; =cage
|
2021-02-01 04:57:56 +03:00
|
|
|
(emit (fact:io cage /all tx+(en-path:resource rid) ~))
|
2021-01-29 07:21:13 +03:00
|
|
|
group-view-update+!>([%progress rid progress])
|
|
|
|
::
|
2021-11-01 21:04:54 +03:00
|
|
|
++ pass
|
|
|
|
=> |%
|
|
|
|
++ pull-action
|
|
|
|
pull-hook-action+!>([%add ship rid])
|
|
|
|
--
|
|
|
|
|%
|
|
|
|
::
|
|
|
|
++ watch-md (watch-our:(jn-pass-io /md) %metadata-store /updates)
|
|
|
|
++ watch-groups (watch-our:(jn-pass-io /groups) %group-store /groups)
|
|
|
|
++ watch-md-nacks (watch-our:(jn-pass-io /md-nacks) %metadata-pull-hook /nack)
|
|
|
|
++ watch-grp-nacks (watch-our:(jn-pass-io /grp-nacks) %group-pull-hook /nack)
|
|
|
|
::
|
|
|
|
++ add-us
|
|
|
|
%+ poke:(jn-pass-io /add)
|
|
|
|
[ship %group-push-hook]
|
|
|
|
group-update-0+!>([%add-members rid (silt our.bowl ~)])
|
|
|
|
::
|
|
|
|
++ pull-groups
|
|
|
|
(poke-our:(jn-pass-io /poke) %group-pull-hook pull-action)
|
|
|
|
++ pull-md
|
|
|
|
(poke-our:(jn-pass-io /poke) %metadata-pull-hook pull-action)
|
|
|
|
++ pull-co
|
|
|
|
(poke-our:(jn-pass-io /poke) %contact-pull-hook pull-action)
|
|
|
|
::
|
|
|
|
++ share-co
|
|
|
|
%+ poke:(jn-pass-io /poke)
|
|
|
|
[entity.rid %contact-push-hook]
|
|
|
|
[%contact-share !>([%share our.bowl])]
|
|
|
|
::
|
|
|
|
++ pull-gra
|
|
|
|
|= gr=resource
|
|
|
|
(poke-our:(jn-pass-io /poke) %graph-pull-hook pull-hook-action+!>([%add entity .]:gr))
|
|
|
|
--
|
2021-01-12 02:05:39 +03:00
|
|
|
++ jn-pass-io
|
2021-01-29 07:21:13 +03:00
|
|
|
|= pax=path
|
|
|
|
~(. pass:io (welp join+(en-path:resource rid) pax))
|
2021-01-12 02:05:39 +03:00
|
|
|
::
|
|
|
|
++ jn-abed
|
2021-01-29 07:21:13 +03:00
|
|
|
|= r=resource
|
2021-03-04 05:54:37 +03:00
|
|
|
=/ =request:view
|
2021-01-29 07:21:13 +03:00
|
|
|
(~(got by joining) r)
|
2021-03-04 05:54:37 +03:00
|
|
|
jn-core(rid r, ship ship.request)
|
2021-01-12 02:05:39 +03:00
|
|
|
::
|
2021-02-01 04:57:56 +03:00
|
|
|
++ jn-abet
|
|
|
|
^- (quip card _state)
|
|
|
|
[(flop cards) state]
|
|
|
|
::
|
2021-01-12 02:05:39 +03:00
|
|
|
++ jn-start
|
|
|
|
|= [rid=resource =^ship]
|
2021-02-01 04:57:56 +03:00
|
|
|
^+ jn-core
|
2021-09-06 01:35:52 +03:00
|
|
|
?> ?= $@(~ [~ %done])
|
|
|
|
(bind (~(get by joining) rid) |=(request:view progress))
|
2021-01-29 07:21:13 +03:00
|
|
|
=. joining
|
2021-03-04 05:54:37 +03:00
|
|
|
(~(put by joining) rid [%.n now.bowl ship %start])
|
2021-01-12 02:05:39 +03:00
|
|
|
=. jn-core
|
2021-01-29 07:21:13 +03:00
|
|
|
(jn-abed rid)
|
2021-03-29 03:29:47 +03:00
|
|
|
=. jn-core
|
|
|
|
%- emit
|
|
|
|
%+ fact:io
|
|
|
|
group-view-update+!>([%started rid (~(got by joining) rid)])
|
|
|
|
~[/all]
|
2021-02-16 06:48:23 +03:00
|
|
|
?< ~|("already joined {<rid>}" (has-joined rid))
|
2021-11-01 21:04:54 +03:00
|
|
|
=. jn-core (emit add-us:pass)
|
2021-02-01 04:57:56 +03:00
|
|
|
=. jn-core (tx-progress %start)
|
2021-11-01 21:04:54 +03:00
|
|
|
=> (emit watch-md:pass)
|
|
|
|
=> (emit watch-groups:pass)
|
|
|
|
=> (emit watch-grp-nacks:pass)
|
|
|
|
(emit watch-md-nacks:pass)
|
2021-01-12 02:05:39 +03:00
|
|
|
::
|
|
|
|
++ jn-agent
|
|
|
|
|= [=wire =sign:agent:gall]
|
2021-02-01 04:57:56 +03:00
|
|
|
^+ jn-core
|
2021-01-12 02:05:39 +03:00
|
|
|
|^
|
|
|
|
?+ -.wire ~|("bad %join wire" !!)
|
|
|
|
%add :: join group
|
|
|
|
?> ?=(%poke-ack -.sign)
|
|
|
|
?^ p.sign
|
2021-01-29 07:21:13 +03:00
|
|
|
(cleanup %no-perms)
|
2021-07-06 06:53:54 +03:00
|
|
|
=. jn-core
|
|
|
|
(tx-progress %added)
|
2021-11-01 21:04:54 +03:00
|
|
|
(emit pull-groups:pass)
|
2021-02-02 01:36:16 +03:00
|
|
|
::
|
2021-01-12 02:05:39 +03:00
|
|
|
%groups
|
|
|
|
?+ -.sign !!
|
|
|
|
%fact (groups-fact +.sign)
|
|
|
|
%watch-ack (ack +.sign)
|
2021-11-01 21:04:54 +03:00
|
|
|
%kick (emit watch-groups:pass)
|
2021-01-12 02:05:39 +03:00
|
|
|
==
|
2021-02-02 01:36:16 +03:00
|
|
|
::
|
2021-11-01 21:04:54 +03:00
|
|
|
%poke
|
2021-02-03 04:13:33 +03:00
|
|
|
?> ?=(%poke-ack -.sign)
|
|
|
|
(ack +.sign)
|
2021-02-02 01:36:16 +03:00
|
|
|
::
|
2021-01-12 02:05:39 +03:00
|
|
|
%md
|
|
|
|
?+ -.sign !!
|
|
|
|
%fact (md-fact +.sign)
|
|
|
|
%watch-ack (ack +.sign)
|
2021-11-01 21:04:54 +03:00
|
|
|
%kick (emit watch-md:pass)
|
2021-01-12 02:05:39 +03:00
|
|
|
==
|
2021-02-02 01:36:16 +03:00
|
|
|
::
|
2021-01-29 07:21:13 +03:00
|
|
|
%pull-graphs
|
2021-01-12 02:05:39 +03:00
|
|
|
?> ?=(%poke-ack -.sign)
|
2021-01-29 05:38:33 +03:00
|
|
|
%- cleanup
|
|
|
|
?^(p.sign %strange %done)
|
2021-11-01 21:04:54 +03:00
|
|
|
::
|
|
|
|
%md-nacks
|
|
|
|
?+ -.sign !!
|
|
|
|
%watch-ack (ack +.sign)
|
|
|
|
%kick (emit watch-md-nacks:pass)
|
|
|
|
::
|
|
|
|
%fact
|
|
|
|
?. =(%resource p.cage.sign) jn-core
|
|
|
|
=+ !<(nack=resource q.cage.sign)
|
|
|
|
?. =(nack rid) jn-core
|
|
|
|
(cleanup %strange)
|
|
|
|
==
|
|
|
|
::
|
|
|
|
%grp-nacks
|
|
|
|
?+ -.sign !!
|
|
|
|
%watch-ack (ack +.sign)
|
|
|
|
%kick (emit watch-grp-nacks:pass)
|
|
|
|
::
|
|
|
|
%fact
|
|
|
|
?. =(%resource p.cage.sign) jn-core
|
|
|
|
=+ !<(nack=resource q.cage.sign)
|
|
|
|
?. =(nack rid) jn-core
|
|
|
|
(cleanup %strange)
|
|
|
|
==
|
2021-01-12 02:05:39 +03:00
|
|
|
==
|
2021-02-02 01:36:16 +03:00
|
|
|
::
|
2021-01-12 02:05:39 +03:00
|
|
|
++ groups-fact
|
|
|
|
|= =cage
|
2021-03-11 07:05:50 +03:00
|
|
|
?. ?=(%group-update-0 p.cage) jn-core
|
2021-01-12 02:05:39 +03:00
|
|
|
=+ !<(=update:group-store q.cage)
|
2021-02-01 04:57:56 +03:00
|
|
|
?. ?=(%initial-group -.update) jn-core
|
|
|
|
?. =(rid resource.update) jn-core
|
2021-11-01 21:04:54 +03:00
|
|
|
=. jn-core (emit pull-md:pass)
|
|
|
|
=. jn-core (emit pull-co:pass)
|
|
|
|
?: scry-is-public:con
|
|
|
|
(emit share-co:pass)
|
|
|
|
jn-core
|
2021-01-12 02:05:39 +03:00
|
|
|
::
|
|
|
|
++ md-fact
|
|
|
|
|= [=mark =vase]
|
2021-07-09 05:54:55 +03:00
|
|
|
?. ?=(%metadata-update-2 mark) jn-core
|
2021-01-29 07:52:36 +03:00
|
|
|
=+ !<(=update:metadata vase)
|
2021-02-01 04:57:56 +03:00
|
|
|
?. ?=(%initial-group -.update) jn-core
|
|
|
|
?. =(group.update rid) jn-core
|
2021-11-01 21:04:54 +03:00
|
|
|
|^ ^+ jn-core
|
|
|
|
=/ feed feed-rid
|
2021-02-01 04:57:56 +03:00
|
|
|
=. jn-core (cleanup %done)
|
2021-11-01 21:04:54 +03:00
|
|
|
=/ hidden hidden:(need (scry-group:grp rid))
|
|
|
|
=? jn-core ?&(!hidden ?=(^ feed))
|
|
|
|
%- emit
|
|
|
|
(pull-gra:pass (need feed))
|
|
|
|
=? jn-core !hidden
|
|
|
|
%- emit-many
|
|
|
|
(turn graphs pull-gra:pass)
|
|
|
|
jn-core
|
|
|
|
::
|
|
|
|
++ feed-rid
|
|
|
|
^- (unit resource)
|
2021-03-15 23:52:04 +03:00
|
|
|
=/ list-md=(list [=md-resource:metadata =association:metadata])
|
|
|
|
%+ skim ~(tap by associations.update)
|
|
|
|
|= [=md-resource:metadata =association:metadata]
|
|
|
|
=(app-name.md-resource %groups)
|
2021-11-01 21:04:54 +03:00
|
|
|
?~ list-md ~
|
2021-03-15 23:52:04 +03:00
|
|
|
=* metadatum metadatum.association.i.list-md
|
|
|
|
?. ?& ?=(%group -.config.metadatum)
|
2021-11-01 21:04:54 +03:00
|
|
|
?=([~ ~ *] feed.config.metadatum)
|
2021-03-15 23:52:04 +03:00
|
|
|
==
|
2021-11-01 21:04:54 +03:00
|
|
|
~
|
|
|
|
`resource.u.u.feed.config.metadatum
|
|
|
|
::
|
|
|
|
++ graphs
|
|
|
|
^- (list resource)
|
|
|
|
%+ murn ~(tap by associations.update)
|
|
|
|
|= [=md-resource:metadata =association:metadata]
|
|
|
|
?. =(app-name.md-resource %graph) ~
|
|
|
|
`resource.md-resource
|
|
|
|
--
|
2021-01-12 02:05:39 +03:00
|
|
|
::
|
|
|
|
++ ack
|
|
|
|
|= err=(unit tang)
|
2021-02-01 04:57:56 +03:00
|
|
|
?~ err jn-core
|
|
|
|
%- (slog u.err)
|
2021-01-29 05:38:33 +03:00
|
|
|
(cleanup %strange)
|
2021-01-12 02:05:39 +03:00
|
|
|
::
|
2021-09-29 07:37:31 +03:00
|
|
|
++ notify
|
|
|
|
%- emit
|
|
|
|
%+ poke-our:(jn-pass-io /hark) %hark-store
|
|
|
|
=- hark-action+!>(-)
|
|
|
|
^- action:hark
|
|
|
|
|^
|
|
|
|
[%add-note bin body]
|
|
|
|
++ bin
|
|
|
|
^- bin:hark
|
|
|
|
[/ [q.byk.bowl /join/(scot %p entity.rid)/[name.rid]]]
|
|
|
|
++ title
|
|
|
|
|= [name=@t rest=@t]
|
|
|
|
text/(rap 3 'Joining group: "' name '" ' rest ~)
|
|
|
|
++ body
|
|
|
|
^- body:hark
|
|
|
|
=/ =request:view (~(got by joining) rid)
|
|
|
|
?> ?=(final:view progress.request)
|
|
|
|
=/ name (rap 3 (scot %p entity.rid) '/' name.rid ~)
|
|
|
|
?- progress.request
|
|
|
|
::
|
|
|
|
%done
|
|
|
|
=/ =metadatum:metadata (need (peek-metadatum:met %groups rid))
|
|
|
|
:* ~[(title title.metadatum 'succeeded')]
|
|
|
|
~
|
|
|
|
now.bowl
|
|
|
|
/
|
|
|
|
/groups/(scot %p entity.rid)/[name.rid]
|
|
|
|
==
|
|
|
|
::
|
|
|
|
%strange
|
|
|
|
:* ~[(title name 'errored unexpectedly')]
|
|
|
|
~
|
|
|
|
now.bowl
|
|
|
|
/
|
|
|
|
/
|
|
|
|
==
|
|
|
|
::
|
|
|
|
%no-perms
|
|
|
|
:* ~[(title name 'failed, you are not permitted to join the group')]
|
|
|
|
~
|
|
|
|
now.bowl
|
|
|
|
/
|
|
|
|
/
|
|
|
|
==
|
|
|
|
==
|
|
|
|
--
|
|
|
|
::
|
2021-01-29 05:38:33 +03:00
|
|
|
++ cleanup
|
2021-01-29 07:21:13 +03:00
|
|
|
|= =progress:view
|
2021-02-01 04:57:56 +03:00
|
|
|
=. jn-core
|
|
|
|
(tx-progress progress)
|
|
|
|
=. jn-core
|
|
|
|
(emit (leave-our:(jn-pass-io /groups) %group-store))
|
2021-11-01 21:04:54 +03:00
|
|
|
=. jn-core
|
|
|
|
(emit (leave-our:(jn-pass-io /grp-nacks) %group-pull-hook))
|
2021-09-29 07:37:31 +03:00
|
|
|
=. jn-core
|
|
|
|
(emit (leave-our:(jn-pass-io /md) %metadata-store))
|
2021-11-01 21:04:54 +03:00
|
|
|
=. jn-core
|
|
|
|
(emit (leave-our:(jn-pass-io /md-nacks) %metadata-pull-hook))
|
2021-09-29 07:37:31 +03:00
|
|
|
=/ =request:view (~(got by joining) rid)
|
|
|
|
=? jn-core (lte (sub now.bowl started.request) ~s30)
|
|
|
|
notify
|
|
|
|
=. joining (~(del by joining) rid)
|
|
|
|
jn-core
|
2021-01-12 02:05:39 +03:00
|
|
|
--
|
|
|
|
--
|
|
|
|
--
|