mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-09-20 06:58:16 +03:00
hark: remove group, change module to mark in index
This commit is contained in:
parent
04841d8006
commit
2001afe01d
@ -266,19 +266,9 @@
|
||||
|= $: nodes=(list node:graph-store)
|
||||
rid=resource
|
||||
==
|
||||
=/ group=(unit resource)
|
||||
(peek-group:met %graph rid)
|
||||
?~ group
|
||||
~& no-group+rid
|
||||
`state
|
||||
=/ metadatum=(unit metadatum:metadata)
|
||||
(peek-metadatum:met %graph rid)
|
||||
?~ metadatum `state
|
||||
=/ module=term
|
||||
?: ?=(%empty -.config.u.metadatum) %$
|
||||
?: ?=(%group -.config.u.metadatum) %$
|
||||
module.config.u.metadatum
|
||||
abet:check:(abed:handle-update:ha rid nodes u.group module)
|
||||
abet:check:(abed:handle-update:ha rid nodes)
|
||||
--
|
||||
::
|
||||
++ on-peek on-peek:def
|
||||
@ -344,7 +334,7 @@
|
||||
^- ?
|
||||
=/ group-rid=(unit resource)
|
||||
(peek-group:met %graph rid)
|
||||
?~ group-rid %.n
|
||||
?~ group-rid %.y
|
||||
?| !(is-managed:grp u.group-rid)
|
||||
&(watch-on-self =(our.bowl entity.rid))
|
||||
==
|
||||
@ -352,16 +342,17 @@
|
||||
++ handle-update
|
||||
|_ $: rid=resource :: input
|
||||
updates=(list node:graph-store)
|
||||
group=resource
|
||||
module=term
|
||||
mark=(unit mark)
|
||||
hark-pokes=(list action:store) :: output
|
||||
new-watches=(list index:graph-store)
|
||||
==
|
||||
++ update-core .
|
||||
::
|
||||
++ abed
|
||||
|= [r=resource upds=(list node:graph-store) grp=resource mod=term]
|
||||
update-core(rid r, updates upds, group grp, module mod)
|
||||
|= [r=resource upds=(list node:graph-store)]
|
||||
=/ m=(unit ^mark)
|
||||
(get-mark:gra r)
|
||||
update-core(rid r, updates upds, mark m)
|
||||
::
|
||||
++ get-conversion
|
||||
(^get-conversion rid)
|
||||
@ -429,7 +420,7 @@
|
||||
=/ parent=index:post
|
||||
(scag parent.index-len.not-kind index.pos)
|
||||
=/ notif-index=index:store
|
||||
[%graph group rid module desc parent]
|
||||
[%graph rid mark desc parent]
|
||||
?: =(our.bowl author.pos)
|
||||
(self-post node notif-index not-kind)
|
||||
=. update-core
|
||||
@ -437,6 +428,7 @@
|
||||
=? update-core
|
||||
?| =(desc %mention)
|
||||
(~(has in watching) [rid parent])
|
||||
=(mark `%graph-validator-dm)
|
||||
==
|
||||
=/ =contents:store
|
||||
[%graph (limo pos ~)]
|
||||
|
@ -25,6 +25,7 @@
|
||||
state-4
|
||||
state-5
|
||||
state-6
|
||||
state-7
|
||||
==
|
||||
+$ unread-stats
|
||||
[indices=(set index:graph-store) last=@da]
|
||||
@ -52,10 +53,13 @@
|
||||
[%5 state-three:store]
|
||||
::
|
||||
+$ state-6
|
||||
[%6 base-state]
|
||||
[%6 state-four:store]
|
||||
::
|
||||
+$ state-7
|
||||
[%7 base-state]
|
||||
::
|
||||
+$ inflated-state
|
||||
$: state-6
|
||||
$: state-7
|
||||
cache
|
||||
==
|
||||
:: $cache: useful to have precalculated, but can be derived from state
|
||||
@ -95,17 +99,22 @@
|
||||
!<(versioned-state old-vase)
|
||||
=| cards=(list card)
|
||||
|^
|
||||
?- -.old
|
||||
%6
|
||||
^- (quip card _this)
|
||||
?+ -.old !!
|
||||
%7
|
||||
:- (flop cards)
|
||||
this(-.state old, +.state (inflate-cache:ha old))
|
||||
==
|
||||
::
|
||||
++ unused
|
||||
?+ -.old !!
|
||||
::
|
||||
%5
|
||||
%_ $
|
||||
-.old %6
|
||||
notifications.old (convert-notifications-4 notifications.old)
|
||||
archive.old (convert-notifications-4 archive.old)
|
||||
==
|
||||
%5 !!
|
||||
:: %_ $
|
||||
::-.old %6
|
||||
::notifications.old (convert-notifications-4 notifications.old)
|
||||
::archive.old (convert-notifications-4 archive.old)
|
||||
::==
|
||||
::
|
||||
%4
|
||||
%_ $
|
||||
@ -162,13 +171,13 @@
|
||||
::
|
||||
++ convert-notifications-4
|
||||
|= old=notifications:state-three:store
|
||||
%+ gas:orm *notifications:store
|
||||
^- (list [@da timebox:store])
|
||||
%+ gas:orm:state-four:store *notifications:state-four:store
|
||||
^- (list [@da timebox:state-four:store])
|
||||
%+ murn
|
||||
(tap:orm:state-three:store old)
|
||||
|= [time=@da =timebox:state-three:store]
|
||||
^- (unit [@da timebox:store])
|
||||
=/ new-timebox=timebox:store
|
||||
^- (unit [@da timebox:state-four:store])
|
||||
=/ new-timebox=timebox:state-four:store
|
||||
(convert-timebox-4 timebox)
|
||||
?: =(0 ~(wyt by new-timebox))
|
||||
~
|
||||
@ -176,21 +185,21 @@
|
||||
::
|
||||
++ convert-timebox-4
|
||||
|= =timebox:state-three:store
|
||||
^- timebox:store
|
||||
%- ~(gas by *timebox:store)
|
||||
^- (list [index:store notification:store])
|
||||
^- timebox:state-four:store
|
||||
%- ~(gas by *timebox:state-four:store)
|
||||
^- (list [index:state-four:store notification:state-four:store])
|
||||
%+ murn
|
||||
~(tap by timebox)
|
||||
|= [=index:store =notification:state-three:store]
|
||||
^- (unit [index:store notification:store])
|
||||
=/ new-notification=(unit notification:store)
|
||||
|= [=index:state-four:store =notification:state-three:store]
|
||||
^- (unit [index:state-four:store notification:state-four:store])
|
||||
=/ new-notification=(unit notification:state-four:store)
|
||||
(convert-notification-4 notification)
|
||||
?~ new-notification ~
|
||||
`[index u.new-notification]
|
||||
::
|
||||
++ convert-notification-4
|
||||
|= =notification:state-three:store
|
||||
^- (unit notification:store)
|
||||
^- (unit notification:state-four:store)
|
||||
?: ?=(%group -.contents.notification)
|
||||
`notification
|
||||
=/ con=(list post:post)
|
||||
@ -225,8 +234,8 @@
|
||||
^- (list [index:state-three:store notification:state-three:store])
|
||||
%+ murn
|
||||
~(tap by timebox)
|
||||
|= [=index:store =notification:state-two:store]
|
||||
^- (unit [index:store notification:state-three:store])
|
||||
|= [=index:state-two:store =notification:state-two:store]
|
||||
^- (unit [index:state-three:store notification:state-three:store])
|
||||
=/ new-notification=(unit notification:state-three:store)
|
||||
(convert-notification-3 notification)
|
||||
?~ new-notification ~
|
||||
@ -291,12 +300,12 @@
|
||||
|= =timebox:state-zero:store
|
||||
^- timebox:state-two:store
|
||||
%- ~(gas by *timebox:state-two:store)
|
||||
^- (list [index:store notification:state-two:store])
|
||||
^- (list [index:state-two:store notification:state-two:store])
|
||||
%+ murn
|
||||
~(tap by timebox)
|
||||
|= [=index:state-zero:store =notification:state-zero:store]
|
||||
^- (unit [index:store notification:state-two:store])
|
||||
=/ new-index=(unit index:store)
|
||||
^- (unit [index:state-two:store notification:state-two:store])
|
||||
=/ new-index=(unit index:state-two:store)
|
||||
(convert-index-1 index)
|
||||
=/ new-notification=(unit notification:state-two:store)
|
||||
(convert-notification-1 notification)
|
||||
@ -306,13 +315,13 @@
|
||||
::
|
||||
++ convert-index-1
|
||||
|= =index:state-zero:store
|
||||
^- (unit index:store)
|
||||
^- (unit index:state-two:store)
|
||||
?+ -.index `index
|
||||
%chat ~
|
||||
::
|
||||
%graph
|
||||
=, index
|
||||
`[%graph group graph module description ~]
|
||||
`[%graph *resource *resource module description ~]
|
||||
==
|
||||
::
|
||||
++ convert-notification-1
|
||||
@ -833,7 +842,7 @@
|
||||
==
|
||||
::
|
||||
++ inflate-cache
|
||||
|= state-6
|
||||
|= state-7
|
||||
^+ +.state
|
||||
=. +.state
|
||||
*cache
|
||||
|
@ -21,9 +21,8 @@
|
||||
::
|
||||
++ graph-index
|
||||
%- ot
|
||||
:~ group+dejs-path:resource
|
||||
graph+dejs-path:resource
|
||||
module+so
|
||||
:~ graph+dejs-path:resource
|
||||
module+(mu so)
|
||||
description+so
|
||||
index+(su ;~(pfix fas (more fas dem)))
|
||||
==
|
||||
@ -193,17 +192,15 @@
|
||||
==
|
||||
::
|
||||
++ graph-index
|
||||
|= $: group=resource
|
||||
graph=resource
|
||||
module=@t
|
||||
|= $: graph=resource
|
||||
mark=(unit mark)
|
||||
description=@t
|
||||
idx=index:graph-store
|
||||
==
|
||||
^- json
|
||||
%- pairs
|
||||
:~ group+s+(enjs-path:resource group)
|
||||
graph+s+(enjs-path:resource graph)
|
||||
module+s+module
|
||||
:~ graph+s+(enjs-path:resource graph)
|
||||
mark+s+(fall mark '')
|
||||
description+s+description
|
||||
index+(index:enjs:graph-store idx)
|
||||
==
|
||||
|
@ -6,7 +6,7 @@
|
||||
++ notification-kind
|
||||
^- (unit notif-kind:hark)
|
||||
?+ index.p.i ~
|
||||
[@ ~] `[%message [0 1] %count %none]
|
||||
[@ @ ~] `[%message [1 2] %count %none]
|
||||
==
|
||||
::
|
||||
--
|
||||
@ -16,6 +16,7 @@
|
||||
|= p=*
|
||||
=/ ip ;;(indexed-post p)
|
||||
?> ?=(?([@ ~] [@ @ ~]) index.p.ip)
|
||||
?> (lth i.index.p.ip (bex 128))
|
||||
ip
|
||||
--
|
||||
::
|
||||
|
@ -1,132 +1,10 @@
|
||||
/- chat-store, graph-store, post, *resource, group-store, metadata-store
|
||||
^?
|
||||
|%
|
||||
++ state-zero
|
||||
|%
|
||||
+$ state
|
||||
$: %0
|
||||
notifications=notifications
|
||||
archive=notifications
|
||||
current-timebox=@da
|
||||
dnd=_|
|
||||
==
|
||||
++ orm
|
||||
((ordered-map @da timebox) gth)
|
||||
::
|
||||
+$ notifications
|
||||
((mop @da timebox) gth)
|
||||
::
|
||||
+$ timebox
|
||||
(map index notification)
|
||||
::
|
||||
+$ index
|
||||
$% [%graph group=resource graph=resource module=@t description=@t]
|
||||
[%group group=resource description=@t]
|
||||
[%chat chat=path mention=?]
|
||||
==
|
||||
::
|
||||
+$ group-contents
|
||||
$~ [%add-members *resource ~]
|
||||
$% [%add *]
|
||||
[%remove *] :: old metadata actions
|
||||
$>(?(%add-members %remove-members) update:group-store)
|
||||
==
|
||||
::
|
||||
+$ contents
|
||||
$% [%graph =(list post:post-zero:post)]
|
||||
[%group =(list group-contents)]
|
||||
[%chat =(list envelope:chat-store)]
|
||||
==
|
||||
::
|
||||
+$ notification
|
||||
[date=@da read=? =contents]
|
||||
--
|
||||
::
|
||||
++ state-one
|
||||
|%
|
||||
+$ state
|
||||
$: %1
|
||||
unreads-each=(jug index index:graph-store)
|
||||
unreads-count=(map index @ud)
|
||||
last-seen=(map index @da)
|
||||
=notifications:state-two
|
||||
archive=notifications:state-two
|
||||
current-timebox=@da
|
||||
dnd=_|
|
||||
==
|
||||
--
|
||||
++ state-two
|
||||
=< state
|
||||
|%
|
||||
+$ state
|
||||
$: unreads-each=(jug stats-index index:graph-store)
|
||||
unreads-count=(map stats-index @ud)
|
||||
last-seen=(map stats-index @da)
|
||||
=notifications
|
||||
archive=notifications
|
||||
current-timebox=@da
|
||||
dnd=_|
|
||||
==
|
||||
::
|
||||
++ orm
|
||||
((ordered-map @da timebox) gth)
|
||||
::
|
||||
+$ notification
|
||||
[date=@da read=? =contents]
|
||||
::
|
||||
+$ contents
|
||||
$% [%graph =(list post:post-zero:post)]
|
||||
[%group =(list group-contents)]
|
||||
==
|
||||
::
|
||||
+$ group-contents
|
||||
group-contents:state-zero
|
||||
::
|
||||
+$ timebox
|
||||
(map index notification)
|
||||
::
|
||||
+$ notifications
|
||||
((mop @da timebox) gth)
|
||||
::
|
||||
--
|
||||
::
|
||||
++ state-three
|
||||
=< state
|
||||
|%
|
||||
+$ state
|
||||
$: unreads-each=(jug stats-index index:graph-store)
|
||||
unreads-count=(map stats-index @ud)
|
||||
last-seen=(map stats-index @da)
|
||||
=notifications
|
||||
archive=notifications
|
||||
current-timebox=@da
|
||||
dnd=_|
|
||||
==
|
||||
::
|
||||
++ orm
|
||||
((ordered-map @da timebox) gth)
|
||||
::
|
||||
+$ notification
|
||||
[date=@da read=? =contents]
|
||||
::
|
||||
+$ contents
|
||||
$% [%graph =(list post:post-zero:post)]
|
||||
[%group =(list group-contents)]
|
||||
==
|
||||
::
|
||||
+$ timebox
|
||||
(map index notification)
|
||||
::
|
||||
+$ notifications
|
||||
((mop @da timebox) gth)
|
||||
::
|
||||
--
|
||||
::
|
||||
+$ index
|
||||
$% $: %graph
|
||||
group=resource
|
||||
graph=resource
|
||||
module=@t
|
||||
mark=(unit mark)
|
||||
description=@t
|
||||
=index:graph-store
|
||||
==
|
||||
@ -198,4 +76,241 @@
|
||||
[%clear =stats-index]
|
||||
[%unreads unreads=(list [stats-index stats])]
|
||||
==
|
||||
:: historical
|
||||
++ state-zero
|
||||
|%
|
||||
+$ state
|
||||
$: %0
|
||||
notifications=notifications
|
||||
archive=notifications
|
||||
current-timebox=@da
|
||||
dnd=_|
|
||||
==
|
||||
++ orm
|
||||
((ordered-map @da timebox) gth)
|
||||
::
|
||||
+$ notifications
|
||||
((mop @da timebox) gth)
|
||||
::
|
||||
+$ timebox
|
||||
(map index notification)
|
||||
::
|
||||
+$ index
|
||||
$% [%graph graph=resource module=@t description=@t]
|
||||
[%group group=resource description=@t]
|
||||
[%chat chat=path mention=?]
|
||||
==
|
||||
::
|
||||
+$ group-contents
|
||||
$~ [%add-members *resource ~]
|
||||
$% [%add *]
|
||||
[%remove *] :: old metadata actions
|
||||
$>(?(%add-members %remove-members) update:group-store)
|
||||
==
|
||||
::
|
||||
+$ contents
|
||||
$% [%graph =(list post:post-zero:post)]
|
||||
[%group =(list group-contents)]
|
||||
[%chat =(list envelope:chat-store)]
|
||||
==
|
||||
::
|
||||
+$ notification
|
||||
[date=@da read=? =contents]
|
||||
--
|
||||
::
|
||||
++ state-one
|
||||
|%
|
||||
+$ state
|
||||
$: %1
|
||||
unreads-each=(jug index index:graph-store)
|
||||
unreads-count=(map index @ud)
|
||||
last-seen=(map index @da)
|
||||
=notifications:state-two
|
||||
archive=notifications:state-two
|
||||
current-timebox=@da
|
||||
dnd=_|
|
||||
==
|
||||
--
|
||||
++ state-two
|
||||
=< state
|
||||
|%
|
||||
+$ state
|
||||
$: unreads-each=(jug stats-index index:graph-store)
|
||||
unreads-count=(map stats-index @ud)
|
||||
last-seen=(map stats-index @da)
|
||||
=notifications
|
||||
archive=notifications
|
||||
current-timebox=@da
|
||||
dnd=_|
|
||||
==
|
||||
::
|
||||
+$ index
|
||||
$% $: %graph
|
||||
group=resource
|
||||
graph=resource
|
||||
module=@t
|
||||
description=@t
|
||||
=index:graph-store
|
||||
==
|
||||
[%group group=resource description=@t]
|
||||
==
|
||||
::
|
||||
++ orm
|
||||
((ordered-map @da timebox) gth)
|
||||
::
|
||||
+$ notification
|
||||
[date=@da read=? =contents]
|
||||
::
|
||||
+$ contents
|
||||
$% [%graph =(list post:post-zero:post)]
|
||||
[%group =(list group-contents)]
|
||||
==
|
||||
::
|
||||
+$ group-contents
|
||||
group-contents:state-zero
|
||||
::
|
||||
+$ timebox
|
||||
(map index notification)
|
||||
::
|
||||
+$ notifications
|
||||
((mop @da timebox) gth)
|
||||
::
|
||||
--
|
||||
::
|
||||
++ state-three
|
||||
=< state
|
||||
|%
|
||||
+$ state
|
||||
$: unreads-each=(jug stats-index index:graph-store)
|
||||
unreads-count=(map stats-index @ud)
|
||||
last-seen=(map stats-index @da)
|
||||
=notifications
|
||||
archive=notifications
|
||||
current-timebox=@da
|
||||
dnd=_|
|
||||
==
|
||||
::
|
||||
++ orm
|
||||
((ordered-map @da timebox) gth)
|
||||
::
|
||||
+$ index
|
||||
$% $: %graph
|
||||
group=resource
|
||||
graph=resource
|
||||
module=@t
|
||||
description=@t
|
||||
=index:graph-store
|
||||
==
|
||||
[%group group=resource description=@t]
|
||||
==
|
||||
::
|
||||
+$ notification
|
||||
[date=@da read=? =contents]
|
||||
::
|
||||
+$ contents
|
||||
$% [%graph =(list post:post-zero:post)]
|
||||
[%group =(list group-contents)]
|
||||
==
|
||||
::
|
||||
+$ timebox
|
||||
(map index notification)
|
||||
::
|
||||
+$ notifications
|
||||
((mop @da timebox) gth)
|
||||
::
|
||||
--
|
||||
::
|
||||
++ state-four
|
||||
=< base-state
|
||||
|%
|
||||
++ orm
|
||||
((ordered-map @da timebox) gth)
|
||||
::
|
||||
+$ base-state
|
||||
$: unreads-each=(jug stats-index index)
|
||||
unreads-count=(map stats-index @ud)
|
||||
last-seen=(map stats-index @da)
|
||||
=notifications
|
||||
archive=notifications
|
||||
current-timebox=@da
|
||||
dnd=_|
|
||||
==
|
||||
::
|
||||
+$ index
|
||||
$% $: %graph
|
||||
group=resource
|
||||
graph=resource
|
||||
module=@t
|
||||
description=@t
|
||||
=index:graph-store
|
||||
==
|
||||
[%group group=resource description=@t]
|
||||
==
|
||||
::
|
||||
+$ group-contents
|
||||
$~ [%add-members *resource ~]
|
||||
$>(?(%add-members %remove-members) update:group-store)
|
||||
::
|
||||
+$ notification
|
||||
[date=@da read=? =contents]
|
||||
::
|
||||
+$ contents
|
||||
$% [%graph =(list post:post)]
|
||||
[%group =(list group-contents)]
|
||||
==
|
||||
::
|
||||
+$ timebox
|
||||
(map index notification)
|
||||
::
|
||||
+$ notifications
|
||||
((mop @da timebox) gth)
|
||||
::
|
||||
+$ action
|
||||
$% [%add-note =index =notification]
|
||||
[%archive time=@da index]
|
||||
::
|
||||
[%unread-count =stats-index =time]
|
||||
[%read-count =stats-index]
|
||||
::
|
||||
::
|
||||
[%unread-each =stats-index ref=index:graph-store time=@da]
|
||||
[%read-each =stats-index ref=index:graph-store]
|
||||
::
|
||||
[%read-note time=@da index]
|
||||
[%unread-note time=@da index]
|
||||
::
|
||||
[%seen-index time=@da =stats-index]
|
||||
[%remove-graph =resource]
|
||||
::
|
||||
[%read-all ~]
|
||||
[%set-dnd dnd=?]
|
||||
[%seen ~]
|
||||
==
|
||||
::
|
||||
++ stats-index
|
||||
$% [%graph graph=resource =index:graph-store]
|
||||
[%group group=resource]
|
||||
==
|
||||
::
|
||||
+$ indexed-notification
|
||||
[index notification]
|
||||
::
|
||||
+$ stats
|
||||
[notifications=(set [time index]) =unreads last-seen=@da]
|
||||
::
|
||||
+$ unreads
|
||||
$% [%count num=@ud]
|
||||
[%each indices=(set index:graph-store)]
|
||||
==
|
||||
::
|
||||
+$ update
|
||||
$% action
|
||||
[%more more=(list update)]
|
||||
[%added time=@da =index =notification]
|
||||
[%timebox time=@da archived=? =(list [index notification])]
|
||||
[%count count=@ud]
|
||||
[%clear =stats-index]
|
||||
[%unreads unreads=(list [stats-index stats])]
|
||||
==
|
||||
--
|
||||
--
|
||||
|
Loading…
Reference in New Issue
Block a user