2016-02-14 18:10:21 +09:00
|
|
|
-- This file is part of Vervis.
|
|
|
|
--
|
2022-06-22 15:19:37 +09:00
|
|
|
-- Written in 2016, 2018, 2019, 2020, 2022
|
|
|
|
-- by fr33domlover <fr33domlover@riseup.net>.
|
2016-02-14 18:10:21 +09:00
|
|
|
--
|
|
|
|
-- ♡ Copying is an act of love. Please copy, reuse and share.
|
|
|
|
--
|
|
|
|
-- The author(s) have dedicated all copyright and related and neighboring
|
|
|
|
-- rights to this software to the public domain worldwide. This software is
|
|
|
|
-- distributed without any warranty.
|
|
|
|
--
|
|
|
|
-- You should have received a copy of the CC0 Public Domain Dedication along
|
|
|
|
-- with this software. If not, see
|
|
|
|
-- <http://creativecommons.org/publicdomain/zero/1.0/>.
|
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
-- ========================================================================= --
|
|
|
|
-- Remote Object
|
|
|
|
-- ========================================================================= --
|
2019-11-07 04:47:50 +09:00
|
|
|
|
|
|
|
Instance
|
|
|
|
host Host
|
|
|
|
|
|
|
|
UniqueInstance host
|
|
|
|
|
2019-11-05 13:08:36 +09:00
|
|
|
RemoteObject
|
2023-04-29 19:40:44 +09:00
|
|
|
instance InstanceId
|
|
|
|
ident LocalURI
|
|
|
|
-- fetched UTCTime Maybe
|
|
|
|
|
|
|
|
-- type Text Maybe
|
|
|
|
-- followers LocalURI Maybe
|
|
|
|
-- team LocalURI Maybe
|
2019-11-05 13:08:36 +09:00
|
|
|
|
|
|
|
UniqueRemoteObject instance ident
|
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
RemoteActivity
|
|
|
|
ident RemoteObjectId
|
|
|
|
content PersistJSONObject
|
|
|
|
received UTCTime
|
2016-05-24 17:28:57 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueRemoteActivity ident
|
2022-07-19 21:12:49 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UnfetchedRemoteActor
|
|
|
|
ident RemoteObjectId
|
|
|
|
since UTCTime Maybe
|
2022-07-19 21:12:49 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueUnfetchedRemoteActor ident
|
2016-02-16 20:41:13 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
RemoteActor
|
|
|
|
ident RemoteObjectId
|
|
|
|
name Text Maybe
|
|
|
|
inbox LocalURI
|
|
|
|
followers LocalURI Maybe
|
|
|
|
errorSince UTCTime Maybe
|
2023-06-27 19:27:51 +09:00
|
|
|
type ActorType
|
2016-02-16 20:41:13 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueRemoteActor ident
|
|
|
|
|
|
|
|
RemoteCollection
|
|
|
|
ident RemoteObjectId
|
|
|
|
|
|
|
|
UniqueRemoteCollection ident
|
|
|
|
|
|
|
|
-- ========================================================================= --
|
|
|
|
-- Local Actor
|
|
|
|
-- ========================================================================= --
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
-- Outbox
|
|
|
|
-------------------------------------------------------------------------------
|
2019-06-16 03:51:26 +09:00
|
|
|
|
|
|
|
Outbox
|
2016-02-16 20:41:13 +09:00
|
|
|
|
2019-03-29 06:08:30 +09:00
|
|
|
OutboxItem
|
2019-06-16 03:51:26 +09:00
|
|
|
outbox OutboxId
|
2019-06-29 12:19:00 +09:00
|
|
|
activity PersistJSONObject
|
2019-03-29 06:08:30 +09:00
|
|
|
published UTCTime
|
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
-- Inbox
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
2019-06-09 22:16:32 +09:00
|
|
|
Inbox
|
|
|
|
|
2019-05-05 19:20:55 +09:00
|
|
|
InboxItem
|
2022-09-01 20:21:31 +09:00
|
|
|
unread Bool
|
|
|
|
received UTCTime
|
2019-05-05 19:20:55 +09:00
|
|
|
|
2019-04-11 22:44:44 +09:00
|
|
|
InboxItemLocal
|
2019-06-09 22:16:32 +09:00
|
|
|
inbox InboxId
|
2019-04-11 22:44:44 +09:00
|
|
|
activity OutboxItemId
|
2019-05-05 19:20:55 +09:00
|
|
|
item InboxItemId
|
2019-04-11 22:44:44 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueInboxItemLocal inbox activity
|
2019-05-05 19:20:55 +09:00
|
|
|
UniqueInboxItemLocalItem item
|
2019-04-11 22:44:44 +09:00
|
|
|
|
2019-04-23 11:57:53 +09:00
|
|
|
InboxItemRemote
|
2019-06-09 22:16:32 +09:00
|
|
|
inbox InboxId
|
2019-04-23 11:57:53 +09:00
|
|
|
activity RemoteActivityId
|
2019-05-05 19:20:55 +09:00
|
|
|
item InboxItemId
|
2019-04-23 11:57:53 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueInboxItemRemote inbox activity
|
2019-05-05 19:20:55 +09:00
|
|
|
UniqueInboxItemRemoteItem item
|
2019-04-23 11:57:53 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
-- Followers
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
FollowerSet
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
-- Actors
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Actor
|
|
|
|
name Text
|
|
|
|
desc Text
|
|
|
|
createdAt UTCTime
|
|
|
|
inbox InboxId
|
|
|
|
outbox OutboxId
|
|
|
|
followers FollowerSetId
|
2023-06-19 17:38:25 +09:00
|
|
|
justCreatedBy ActorId Maybe
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
|
|
|
|
UniqueActorInbox inbox
|
|
|
|
UniqueActorOutbox outbox
|
|
|
|
UniqueActorFollowers followers
|
|
|
|
|
Improve the AP async HTTP delivery API and per-actor key support
New iteration of the ActivityPub delivery implementation and interface.
Advantages over previous interface:
* When sending a ByteString body, the sender is explicitly passed as a
parameter instead of JSON-parsing it out of the ByteString
* Clear 3 operations provided: Send, Resend and Forward
* Support for per-actor keys
* Actor-type-specific functions (e.g. deliverRemoteDB_D) removed
* Only the most high-level API is exposed to Activity handler code, making
handler code more concise and clear
Also added in this patch:
* Foundation for per-actor key support
* 1 key per actor allowed in DB
* Disabled C2S and S2S handlers now un-exported for clarity
* Audience and capability parsing automatically done for all C2S handlers
* Audience and activity composition automatically done for Vervis.Client
builder functions
Caveats:
* Actor documents still don't link to their per-actor keys; that should be the
last piece to complete per-actor key support
* No moderation and anti-spam tools yet
* Delivery API doesn't yet have good integration of persistence layer, e.g.
activity is separately encoded into bytestring for DB and for HTTP; this will
be improved in the next iteration
* Periodic delivery now done in 3 separate steps, running sequentially; it
simplifies the code, but may be changed for efficiency/robustness in the next
iterations
* Periodic delivery collects per-actor keys in a
1-DB-transaction-for-each-delivery fashion, rather than grabbing them in the
big Esqueleto query (or keeping the signed output in the DB; this isn't done
currently to allow for smooth actor key renewal)
* No support yet in the API for delivery where the actor key has already been
fetched, rather than doing a DB transaction to grab it; such support would be
just an optimization, so it's low-priority, but will be added in later
iterations
2022-10-13 01:50:11 +09:00
|
|
|
SigKey
|
|
|
|
actor ActorId
|
|
|
|
material ActorKey
|
|
|
|
|
|
|
|
UniqueSigKey actor
|
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
Person
|
|
|
|
username Username
|
|
|
|
login Text
|
|
|
|
passphraseHash ByteString
|
|
|
|
email EmailAddress
|
|
|
|
verified Bool
|
|
|
|
verifiedKey Text
|
|
|
|
verifiedKeyCreated UTCTime
|
|
|
|
resetPassKey Text
|
|
|
|
resetPassKeyCreated UTCTime
|
|
|
|
actor ActorId
|
|
|
|
-- reviewFollow Bool
|
|
|
|
|
|
|
|
UniquePersonUsername username
|
|
|
|
UniquePersonLogin login
|
|
|
|
UniquePersonEmail email
|
|
|
|
UniquePersonActor actor
|
|
|
|
|
|
|
|
-- ========================================================================= --
|
|
|
|
-- Delivery
|
|
|
|
-- ========================================================================= --
|
|
|
|
|
2019-04-16 23:27:50 +09:00
|
|
|
UnlinkedDelivery
|
2019-05-02 18:31:56 +09:00
|
|
|
recipient UnfetchedRemoteActorId
|
|
|
|
activity OutboxItemId
|
|
|
|
forwarding Bool
|
|
|
|
running Bool
|
2019-04-16 23:27:50 +09:00
|
|
|
|
|
|
|
UniqueUnlinkedDelivery recipient activity
|
|
|
|
|
|
|
|
Delivery
|
2019-05-02 18:31:56 +09:00
|
|
|
recipient RemoteActorId
|
|
|
|
activity OutboxItemId
|
|
|
|
forwarding Bool
|
|
|
|
running Bool
|
2019-04-16 23:27:50 +09:00
|
|
|
|
|
|
|
UniqueDelivery recipient activity
|
|
|
|
|
2019-05-04 06:04:53 +09:00
|
|
|
Forwarding
|
|
|
|
recipient RemoteActorId
|
|
|
|
activity RemoteActivityId
|
|
|
|
activityRaw ByteString
|
|
|
|
signature ByteString
|
Improve the AP async HTTP delivery API and per-actor key support
New iteration of the ActivityPub delivery implementation and interface.
Advantages over previous interface:
* When sending a ByteString body, the sender is explicitly passed as a
parameter instead of JSON-parsing it out of the ByteString
* Clear 3 operations provided: Send, Resend and Forward
* Support for per-actor keys
* Actor-type-specific functions (e.g. deliverRemoteDB_D) removed
* Only the most high-level API is exposed to Activity handler code, making
handler code more concise and clear
Also added in this patch:
* Foundation for per-actor key support
* 1 key per actor allowed in DB
* Disabled C2S and S2S handlers now un-exported for clarity
* Audience and capability parsing automatically done for all C2S handlers
* Audience and activity composition automatically done for Vervis.Client
builder functions
Caveats:
* Actor documents still don't link to their per-actor keys; that should be the
last piece to complete per-actor key support
* No moderation and anti-spam tools yet
* Delivery API doesn't yet have good integration of persistence layer, e.g.
activity is separately encoded into bytestring for DB and for HTTP; this will
be improved in the next iteration
* Periodic delivery now done in 3 separate steps, running sequentially; it
simplifies the code, but may be changed for efficiency/robustness in the next
iterations
* Periodic delivery collects per-actor keys in a
1-DB-transaction-for-each-delivery fashion, rather than grabbing them in the
big Esqueleto query (or keeping the signed output in the DB; this isn't done
currently to allow for smooth actor key renewal)
* No support yet in the API for delivery where the actor key has already been
fetched, rather than doing a DB transaction to grab it; such support would be
just an optimization, so it's low-priority, but will be added in later
iterations
2022-10-13 01:50:11 +09:00
|
|
|
forwarder ActorId
|
2019-05-04 06:04:53 +09:00
|
|
|
running Bool
|
|
|
|
|
|
|
|
UniqueForwarding recipient activity
|
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
-- ========================================================================= --
|
|
|
|
-- ========================================================================= --
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
-- People
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
2019-02-03 22:58:14 +09:00
|
|
|
VerifKey
|
2019-07-23 22:59:48 +09:00
|
|
|
ident LocalRefURI
|
2019-02-06 11:48:23 +09:00
|
|
|
instance InstanceId
|
|
|
|
expires UTCTime Maybe
|
2019-03-11 08:15:42 +09:00
|
|
|
public PublicVerifKey
|
2019-04-12 09:56:27 +09:00
|
|
|
sharer RemoteActorId Maybe
|
2019-02-03 22:58:14 +09:00
|
|
|
|
2019-02-22 08:59:53 +09:00
|
|
|
UniqueVerifKey instance ident
|
2019-02-03 22:58:14 +09:00
|
|
|
|
Record usage of instance keys in the DB
When we verify an HTTP signature,
* If we know the key, check in the DB whether we know the actor lists it. If it
doesn't, and there's room left for keys, HTTP GET the actor and update the DB
accordingly.
* If we know the key but had to update it, do the same, check usage in DB and
update DB if needed
* If we don't know the key, record usage in DB
However,
* If we're GETing a key and discovering it's a shared key, we GET the actor to
verify it lists the key. When we don't know the key at all yet, that's fine
(can be further optimized but it's marginal), but if it's a key we do know,
it means we already know the actor and for now it's enough for us to rely
only on the DB to test usage.
2019-02-19 19:54:55 +09:00
|
|
|
VerifKeySharedUsage
|
|
|
|
key VerifKeyId
|
2019-04-12 09:56:27 +09:00
|
|
|
user RemoteActorId
|
Record usage of instance keys in the DB
When we verify an HTTP signature,
* If we know the key, check in the DB whether we know the actor lists it. If it
doesn't, and there's room left for keys, HTTP GET the actor and update the DB
accordingly.
* If we know the key but had to update it, do the same, check usage in DB and
update DB if needed
* If we don't know the key, record usage in DB
However,
* If we're GETing a key and discovering it's a shared key, we GET the actor to
verify it lists the key. When we don't know the key at all yet, that's fine
(can be further optimized but it's marginal), but if it's a key we do know,
it means we already know the actor and for now it's enough for us to rely
only on the DB to test usage.
2019-02-19 19:54:55 +09:00
|
|
|
|
|
|
|
UniqueVerifKeySharedUsage key user
|
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
--RemoteFollowRequest
|
|
|
|
-- actor RemoteActorId
|
|
|
|
-- target PersonId
|
|
|
|
--
|
|
|
|
-- UniqueRemoteFollowRequest actor target
|
|
|
|
--
|
2019-05-18 07:42:01 +09:00
|
|
|
|
2019-09-25 19:43:05 +09:00
|
|
|
FollowRemoteRequest
|
|
|
|
person PersonId
|
|
|
|
target FedURI
|
|
|
|
recip FedURI Maybe
|
|
|
|
public Bool
|
|
|
|
activity OutboxItemId
|
|
|
|
|
|
|
|
UniqueFollowRemoteRequest person target
|
|
|
|
UniqueFollowRemoteRequestActivity activity
|
|
|
|
|
|
|
|
FollowRemote
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
actor ActorId
|
2019-09-25 19:43:05 +09:00
|
|
|
recip RemoteActorId -- actor managing the followed object
|
|
|
|
target FedURI -- the followed object
|
|
|
|
public Bool
|
|
|
|
follow OutboxItemId
|
|
|
|
accept RemoteActivityId
|
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueFollowRemote actor target
|
2019-09-25 19:43:05 +09:00
|
|
|
UniqueFollowRemoteFollow follow
|
|
|
|
UniqueFollowRemoteAccept accept
|
|
|
|
|
2023-06-15 21:44:43 +09:00
|
|
|
FollowRequest
|
|
|
|
actor ActorId
|
|
|
|
target FollowerSetId
|
|
|
|
public Bool
|
|
|
|
follow OutboxItemId
|
|
|
|
|
|
|
|
UniqueFollowRequest actor target
|
|
|
|
UniqueFollowRequestFollow follow
|
2019-04-11 22:26:57 +09:00
|
|
|
|
|
|
|
Follow
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
actor ActorId
|
2019-04-11 22:26:57 +09:00
|
|
|
target FollowerSetId
|
2019-09-09 09:33:36 +09:00
|
|
|
public Bool
|
2019-09-25 19:43:05 +09:00
|
|
|
follow OutboxItemId
|
|
|
|
accept OutboxItemId
|
2019-04-11 22:26:57 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueFollow actor target
|
2019-09-25 19:43:05 +09:00
|
|
|
UniqueFollowFollow follow
|
|
|
|
UniqueFollowAccept accept
|
2019-04-11 22:26:57 +09:00
|
|
|
|
|
|
|
RemoteFollow
|
2019-04-12 09:56:27 +09:00
|
|
|
actor RemoteActorId
|
2019-04-11 22:26:57 +09:00
|
|
|
target FollowerSetId
|
2019-09-09 09:33:36 +09:00
|
|
|
public Bool
|
2019-09-25 19:43:05 +09:00
|
|
|
follow RemoteActivityId
|
|
|
|
accept OutboxItemId
|
2019-04-11 22:26:57 +09:00
|
|
|
|
|
|
|
UniqueRemoteFollow actor target
|
2019-09-25 19:43:05 +09:00
|
|
|
UniqueRemoteFollowFollow follow
|
|
|
|
UniqueRemoteFollowAccept accept
|
2019-04-11 22:26:57 +09:00
|
|
|
|
2016-03-06 20:58:48 +09:00
|
|
|
SshKey
|
2016-05-24 05:46:54 +09:00
|
|
|
ident KyIdent
|
2016-03-06 20:58:48 +09:00
|
|
|
person PersonId
|
|
|
|
algo ByteString
|
|
|
|
content ByteString
|
|
|
|
|
2016-05-24 05:46:54 +09:00
|
|
|
UniqueSshKey person ident
|
2016-03-06 20:58:48 +09:00
|
|
|
|
2016-02-16 20:41:13 +09:00
|
|
|
Group
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
actor ActorId
|
2016-02-16 20:41:13 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueGroupActor actor
|
2016-05-24 17:28:57 +09:00
|
|
|
|
|
|
|
GroupMember
|
|
|
|
person PersonId
|
|
|
|
group GroupId
|
2016-05-26 00:52:15 +09:00
|
|
|
role GroupRole
|
2016-05-27 01:25:23 +09:00
|
|
|
joined UTCTime
|
2016-05-24 17:28:57 +09:00
|
|
|
|
|
|
|
UniqueGroupMember person group
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
-- Projects
|
|
|
|
-------------------------------------------------------------------------------
|
2016-02-16 20:41:13 +09:00
|
|
|
|
2023-06-26 23:26:20 +09:00
|
|
|
Project
|
|
|
|
actor ActorId
|
|
|
|
create OutboxItemId
|
|
|
|
|
|
|
|
UniqueProjectActor actor
|
|
|
|
UniqueProjectCreate create
|
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
Deck
|
2022-07-19 21:12:49 +09:00
|
|
|
actor ActorId
|
2016-08-09 04:05:22 +09:00
|
|
|
workflow WorkflowId
|
2016-08-09 03:35:01 +09:00
|
|
|
nextTicket Int
|
2019-01-30 07:24:32 +09:00
|
|
|
wiki RepoId Maybe
|
2022-07-26 02:15:22 +09:00
|
|
|
create OutboxItemId
|
2016-02-16 20:41:13 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueDeckActor actor
|
|
|
|
UniqueDeckCreate create
|
|
|
|
|
|
|
|
Loom
|
|
|
|
nextTicket Int
|
|
|
|
actor ActorId
|
|
|
|
repo RepoId
|
|
|
|
create OutboxItemId
|
|
|
|
|
|
|
|
UniqueLoomActor actor
|
|
|
|
UniqueLoomRepo repo
|
|
|
|
UniqueLoomCreate create
|
2016-02-16 20:41:13 +09:00
|
|
|
|
|
|
|
Repo
|
2016-08-09 03:35:01 +09:00
|
|
|
vcs VersionControlSystem
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
project DeckId Maybe
|
2016-08-09 03:35:01 +09:00
|
|
|
mainBranch Text
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
actor ActorId
|
|
|
|
create OutboxItemId
|
2022-09-17 17:31:22 +09:00
|
|
|
loom LoomId Maybe
|
2016-02-16 20:41:13 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueRepoActor actor
|
|
|
|
UniqueRepoCreate create
|
2016-02-16 20:41:13 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
-- I removed the 'sharer' field so Workflows don't specify who controls them
|
|
|
|
-- For now there's no way to create new ones, and what's already in the DB can
|
|
|
|
-- be publicly experimented with, until I make a plan for federated workflows
|
2016-08-08 20:05:19 +09:00
|
|
|
Workflow
|
|
|
|
ident WflIdent
|
|
|
|
name Text Maybe
|
|
|
|
desc Text Maybe
|
2016-09-02 02:40:02 +09:00
|
|
|
scope WorkflowScope
|
2016-08-08 20:05:19 +09:00
|
|
|
|
2016-08-08 23:01:06 +09:00
|
|
|
WorkflowField
|
2016-08-11 18:27:30 +09:00
|
|
|
workflow WorkflowId
|
|
|
|
ident FldIdent
|
|
|
|
name Text
|
2020-01-05 21:04:17 +09:00
|
|
|
desc Text Maybe
|
2016-08-11 18:27:30 +09:00
|
|
|
type WorkflowFieldType
|
2020-01-05 21:04:17 +09:00
|
|
|
enm WorkflowEnumId Maybe
|
2016-08-11 18:27:30 +09:00
|
|
|
required Bool
|
|
|
|
constant Bool
|
|
|
|
filterNew Bool
|
|
|
|
filterTodo Bool
|
|
|
|
filterClosed Bool
|
2020-01-16 19:29:47 +09:00
|
|
|
color Int Maybe
|
2016-08-08 23:01:06 +09:00
|
|
|
|
|
|
|
UniqueWorkflowField workflow ident
|
|
|
|
|
2020-01-05 21:04:17 +09:00
|
|
|
WorkflowEnum
|
2016-08-08 23:48:38 +09:00
|
|
|
workflow WorkflowId
|
|
|
|
ident EnmIdent
|
|
|
|
name Text
|
|
|
|
desc Text Maybe
|
|
|
|
|
2020-01-05 21:04:17 +09:00
|
|
|
UniqueWorkflowEnum workflow ident
|
2016-08-08 23:48:38 +09:00
|
|
|
|
2020-01-05 21:04:17 +09:00
|
|
|
WorkflowEnumCtor
|
|
|
|
enum WorkflowEnumId
|
2016-08-09 02:05:09 +09:00
|
|
|
name Text
|
2020-01-05 21:04:17 +09:00
|
|
|
desc Text Maybe
|
2016-08-09 02:05:09 +09:00
|
|
|
|
2020-01-05 21:04:17 +09:00
|
|
|
UniqueWorkflowEnumCtor enum name
|
2016-08-09 02:05:09 +09:00
|
|
|
|
2016-08-09 05:51:58 +09:00
|
|
|
TicketParamText
|
|
|
|
ticket TicketId
|
|
|
|
field WorkflowFieldId
|
|
|
|
value Text
|
|
|
|
|
|
|
|
UniqueTicketParamText ticket field
|
|
|
|
|
2016-08-09 20:36:14 +09:00
|
|
|
TicketParamEnum
|
|
|
|
ticket TicketId
|
|
|
|
field WorkflowFieldId
|
2020-01-05 21:04:17 +09:00
|
|
|
value WorkflowEnumCtorId
|
2016-08-09 20:36:14 +09:00
|
|
|
|
|
|
|
UniqueTicketParamEnum ticket field value
|
|
|
|
|
2020-01-05 23:33:10 +09:00
|
|
|
TicketParamClass
|
|
|
|
ticket TicketId
|
|
|
|
field WorkflowFieldId
|
|
|
|
|
|
|
|
UniqueTicketParamClass ticket field
|
|
|
|
|
2016-05-01 05:40:33 +09:00
|
|
|
Ticket
|
2020-02-04 00:44:16 +09:00
|
|
|
number Int Maybe
|
2019-06-03 21:45:02 +09:00
|
|
|
created UTCTime
|
2022-09-21 21:50:26 +09:00
|
|
|
title Text
|
|
|
|
source PandocMarkdown
|
|
|
|
description HTML
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
discuss DiscussionId
|
|
|
|
followers FollowerSetId
|
|
|
|
accept OutboxItemId
|
2016-05-01 05:40:33 +09:00
|
|
|
|
2020-02-04 00:44:16 +09:00
|
|
|
-- UniqueTicket project number
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueTicketDiscuss discuss
|
|
|
|
UniqueTicketFollowers followers
|
|
|
|
UniqueTicketAccept accept
|
2016-05-18 05:34:22 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
TicketAssignee
|
|
|
|
ticket TicketId
|
|
|
|
person PersonId
|
2020-05-18 19:28:43 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueTicketAssignee ticket person
|
2020-02-06 13:18:19 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
TicketDeck
|
|
|
|
ticket TicketId
|
|
|
|
deck DeckId
|
2020-02-23 04:45:27 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueTicketDeck ticket
|
2020-02-23 04:45:27 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
TicketLoom
|
|
|
|
ticket TicketId
|
|
|
|
loom LoomId
|
|
|
|
branch Text Maybe
|
2020-04-09 02:02:04 +09:00
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueTicketLoom ticket
|
2020-04-09 02:02:04 +09:00
|
|
|
|
2022-09-19 00:55:42 +09:00
|
|
|
MergeOriginLocal
|
|
|
|
ticket TicketLoomId
|
|
|
|
repo RepoId
|
|
|
|
branch Text Maybe
|
|
|
|
|
|
|
|
UniqueMergeOriginLocal ticket
|
|
|
|
|
|
|
|
MergeOriginRemote
|
|
|
|
ticket TicketLoomId
|
|
|
|
repo RemoteActorId
|
|
|
|
|
|
|
|
UniqueMergeOriginRemote ticket
|
|
|
|
|
|
|
|
MergeOriginRemoteBranch
|
|
|
|
merge MergeOriginRemoteId
|
|
|
|
ident LocalURI Maybe
|
|
|
|
name Text
|
|
|
|
|
|
|
|
UniqueMergeOriginRemoteBranch merge
|
|
|
|
|
2019-06-07 13:26:32 +09:00
|
|
|
TicketAuthorLocal
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
ticket TicketId
|
2019-06-07 13:26:32 +09:00
|
|
|
author PersonId
|
2020-02-08 18:35:35 +09:00
|
|
|
open OutboxItemId
|
2019-06-07 13:26:32 +09:00
|
|
|
|
2020-02-08 18:35:35 +09:00
|
|
|
UniqueTicketAuthorLocal ticket
|
|
|
|
UniqueTicketAuthorLocalOpen open
|
2019-06-07 13:26:32 +09:00
|
|
|
|
|
|
|
TicketAuthorRemote
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
ticket TicketId
|
2019-06-07 13:26:32 +09:00
|
|
|
author RemoteActorId
|
2020-02-08 18:35:35 +09:00
|
|
|
open RemoteActivityId
|
2019-06-07 13:26:32 +09:00
|
|
|
|
2020-02-08 18:35:35 +09:00
|
|
|
UniqueTicketAuthorRemote ticket
|
|
|
|
UniqueTicketAuthorRemoteOpen open
|
2019-06-07 13:26:32 +09:00
|
|
|
|
2020-08-13 19:26:20 +09:00
|
|
|
Bundle
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
ticket TicketLoomId
|
2022-09-23 02:23:33 +09:00
|
|
|
auto Bool
|
2020-08-13 19:26:20 +09:00
|
|
|
|
2020-05-24 18:17:49 +09:00
|
|
|
Patch
|
2020-08-13 19:26:20 +09:00
|
|
|
bundle BundleId
|
2020-05-25 18:40:48 +09:00
|
|
|
created UTCTime
|
2020-08-15 06:16:33 +09:00
|
|
|
type PatchMediaType
|
2020-05-24 18:17:49 +09:00
|
|
|
content Text
|
|
|
|
|
2020-06-21 17:02:05 +09:00
|
|
|
RemoteTicketDependency
|
|
|
|
ident RemoteObjectId
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
child TicketId
|
2020-06-21 17:02:05 +09:00
|
|
|
accept RemoteActivityId
|
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueRemoteTicketDependency ident
|
2020-06-21 17:02:05 +09:00
|
|
|
UniqueRemoteTicketDependencyAccept accept
|
2020-06-18 19:38:04 +09:00
|
|
|
|
|
|
|
LocalTicketDependency
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
parent TicketId
|
2019-07-12 00:14:16 +09:00
|
|
|
created UTCTime
|
2020-06-18 19:38:04 +09:00
|
|
|
accept OutboxItemId
|
|
|
|
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
UniqueLocalTicketDependencyAccept accept
|
|
|
|
|
2020-06-18 19:38:04 +09:00
|
|
|
TicketDependencyChildLocal
|
|
|
|
dep LocalTicketDependencyId
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
child TicketId
|
2020-06-18 19:38:04 +09:00
|
|
|
|
|
|
|
UniqueTicketDependencyChildLocal dep
|
|
|
|
|
|
|
|
TicketDependencyChildRemote
|
|
|
|
dep LocalTicketDependencyId
|
|
|
|
child RemoteObjectId
|
|
|
|
|
|
|
|
UniqueTicketDependencyChildRemote dep
|
|
|
|
|
|
|
|
TicketDependencyAuthorLocal
|
|
|
|
dep LocalTicketDependencyId
|
|
|
|
author PersonId
|
|
|
|
open OutboxItemId
|
|
|
|
|
|
|
|
UniqueTicketDependencyAuthorLocal dep
|
|
|
|
UniqueTicketDependencyAuthorLocalOpen open
|
|
|
|
|
|
|
|
TicketDependencyAuthorRemote
|
|
|
|
dep LocalTicketDependencyId
|
|
|
|
author RemoteActorId
|
|
|
|
open RemoteActivityId
|
2016-06-08 05:16:15 +09:00
|
|
|
|
2020-06-18 19:38:04 +09:00
|
|
|
UniqueTicketDependencyAuthorRemote dep
|
|
|
|
UniqueTicketDependencyAuthorRemoteOpen open
|
2016-06-08 05:16:15 +09:00
|
|
|
|
2016-06-07 19:01:57 +09:00
|
|
|
TicketClaimRequest
|
|
|
|
person PersonId
|
|
|
|
ticket TicketId
|
2016-06-08 01:31:55 +09:00
|
|
|
message Text -- Assume this is Pandoc Markdown
|
2016-06-07 19:01:57 +09:00
|
|
|
created UTCTime
|
|
|
|
|
|
|
|
UniqueTicketClaimRequest person ticket
|
|
|
|
|
2020-07-28 18:35:27 +09:00
|
|
|
TicketResolve
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
ticket TicketId
|
2020-07-28 18:35:27 +09:00
|
|
|
accept OutboxItemId
|
|
|
|
|
|
|
|
UniqueTicketResolve ticket
|
|
|
|
UniqueTicketResolveAccept accept
|
|
|
|
|
|
|
|
TicketResolveLocal
|
|
|
|
ticket TicketResolveId
|
|
|
|
activity OutboxItemId
|
|
|
|
|
|
|
|
UniqueTicketResolveLocal ticket
|
|
|
|
UniqueTicketResolveLocalActivity activity
|
|
|
|
|
|
|
|
TicketResolveRemote
|
|
|
|
ticket TicketResolveId
|
|
|
|
activity RemoteActivityId
|
|
|
|
actor RemoteActorId
|
|
|
|
|
|
|
|
UniqueTicketResolveRemote ticket
|
|
|
|
UniqueTicketResolveRemoteActivity activity
|
|
|
|
|
2016-05-18 05:34:22 +09:00
|
|
|
Discussion
|
|
|
|
|
2019-03-23 05:46:42 +09:00
|
|
|
RemoteDiscussion
|
2020-02-08 19:55:19 +09:00
|
|
|
ident RemoteObjectId
|
|
|
|
discuss DiscussionId
|
2019-03-23 05:46:42 +09:00
|
|
|
|
2020-02-08 19:55:19 +09:00
|
|
|
UniqueRemoteDiscussionIdent ident
|
|
|
|
UniqueRemoteDiscussion discuss
|
2019-03-23 05:46:42 +09:00
|
|
|
|
2016-05-18 05:34:22 +09:00
|
|
|
Message
|
|
|
|
created UTCTime
|
2022-10-16 20:26:24 +09:00
|
|
|
source PandocMarkdown
|
|
|
|
content HTML
|
2016-05-18 05:34:22 +09:00
|
|
|
parent MessageId Maybe
|
|
|
|
root DiscussionId
|
2019-02-12 20:46:12 +09:00
|
|
|
|
2019-03-20 17:07:37 +09:00
|
|
|
LocalMessage
|
2022-10-16 20:26:24 +09:00
|
|
|
author ActorId
|
2019-03-29 06:08:30 +09:00
|
|
|
rest MessageId
|
2019-05-25 12:23:57 +09:00
|
|
|
create OutboxItemId
|
2019-03-29 06:08:30 +09:00
|
|
|
unlinkedParent FedURI Maybe
|
2019-03-20 17:07:37 +09:00
|
|
|
|
|
|
|
UniqueLocalMessage rest
|
2019-05-25 21:59:54 +09:00
|
|
|
UniqueLocalMessageCreate create
|
2019-03-20 17:07:37 +09:00
|
|
|
|
|
|
|
RemoteMessage
|
2019-04-12 09:56:27 +09:00
|
|
|
author RemoteActorId
|
2020-02-10 23:07:00 +09:00
|
|
|
ident RemoteObjectId
|
2019-03-22 07:57:15 +09:00
|
|
|
rest MessageId
|
2019-04-23 11:57:53 +09:00
|
|
|
create RemoteActivityId
|
2019-03-23 05:46:42 +09:00
|
|
|
lostParent FedURI Maybe
|
2019-03-22 07:57:15 +09:00
|
|
|
|
2020-02-10 23:07:00 +09:00
|
|
|
UniqueRemoteMessageIdent ident
|
|
|
|
UniqueRemoteMessage rest
|
2019-06-10 03:41:37 +09:00
|
|
|
UniqueRemoteMessageCreate create
|
2019-03-20 17:07:37 +09:00
|
|
|
|
2022-06-22 15:19:37 +09:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
-- Collaborators
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Collab
|
2023-06-18 03:35:00 +09:00
|
|
|
role Role
|
2022-06-22 15:19:37 +09:00
|
|
|
|
2022-09-06 01:19:52 +09:00
|
|
|
-------------------------------- Collab reason -------------------------------
|
|
|
|
|
|
|
|
CollabFulfillsLocalTopicCreation
|
|
|
|
collab CollabId
|
|
|
|
|
|
|
|
UniqueCollabFulfillsLocalTopicCreation collab
|
|
|
|
|
2022-10-20 21:53:54 +09:00
|
|
|
CollabFulfillsInvite
|
2022-09-06 01:19:52 +09:00
|
|
|
collab CollabId
|
2023-06-28 20:10:09 +09:00
|
|
|
accept OutboxItemId
|
2022-10-20 21:53:54 +09:00
|
|
|
|
|
|
|
UniqueCollabFulfillsInvite collab
|
|
|
|
|
|
|
|
CollabInviterLocal
|
|
|
|
collab CollabFulfillsInviteId
|
2022-09-06 01:19:52 +09:00
|
|
|
invite OutboxItemId
|
|
|
|
|
2022-10-20 21:53:54 +09:00
|
|
|
UniqueCollabInviterLocal collab
|
|
|
|
UniqueCollabInviterLocalInvite invite
|
2022-09-06 01:19:52 +09:00
|
|
|
|
2022-10-20 21:53:54 +09:00
|
|
|
CollabInviterRemote
|
|
|
|
collab CollabFulfillsInviteId
|
2022-09-06 01:19:52 +09:00
|
|
|
actor RemoteActorId
|
|
|
|
invite RemoteActivityId
|
|
|
|
|
2022-10-20 21:53:54 +09:00
|
|
|
UniqueCollabInviterRemote collab
|
|
|
|
UniqueCollabInviterRemoteInvite invite
|
2022-09-06 01:19:52 +09:00
|
|
|
|
2022-11-15 00:11:25 +09:00
|
|
|
CollabFulfillsJoin
|
|
|
|
collab CollabId
|
|
|
|
|
|
|
|
UniqueCollabFulfillsJoin collab
|
|
|
|
|
|
|
|
CollabApproverLocal
|
|
|
|
collab CollabFulfillsJoinId
|
|
|
|
accept OutboxItemId
|
|
|
|
|
|
|
|
UniqueCollabApproverLocal collab
|
|
|
|
UniqueCollabApproverLocalAccept accept
|
|
|
|
|
|
|
|
CollabApproverRemote
|
|
|
|
collab CollabFulfillsJoinId
|
|
|
|
actor RemoteActorId
|
|
|
|
accept RemoteActivityId
|
|
|
|
|
|
|
|
UniqueCollabApproverRemote collab
|
|
|
|
UniqueCollabApproverRemoteAccept accept
|
|
|
|
|
|
|
|
CollabRecipLocalJoin
|
|
|
|
collab CollabRecipLocalId
|
|
|
|
fulfills CollabFulfillsJoinId
|
|
|
|
join OutboxItemId
|
|
|
|
|
|
|
|
UniqueCollabRecipLocalJoinCollab collab
|
|
|
|
UniqueCollabRecipLocalJoinFulfills fulfills
|
|
|
|
UniqueCollabRecipLocalJoinJoin join
|
|
|
|
|
|
|
|
CollabRecipRemoteJoin
|
|
|
|
collab CollabRecipRemoteId
|
|
|
|
fulfills CollabFulfillsJoinId
|
|
|
|
join RemoteActivityId
|
|
|
|
|
|
|
|
UniqueCollabRecipRemoteJoinCollab collab
|
|
|
|
UniqueCollabRecipRemoteJoinFulfills fulfills
|
|
|
|
UniqueCollabRecipRemoteJoinJoin join
|
|
|
|
|
2022-06-22 15:19:37 +09:00
|
|
|
-------------------------------- Collab topic --------------------------------
|
|
|
|
|
2022-09-06 01:19:52 +09:00
|
|
|
CollabTopicRepo
|
2022-06-22 15:19:37 +09:00
|
|
|
collab CollabId
|
2019-02-12 20:46:12 +09:00
|
|
|
repo RepoId
|
|
|
|
|
2022-09-06 01:19:52 +09:00
|
|
|
UniqueCollabTopicRepo collab
|
2019-02-12 20:46:12 +09:00
|
|
|
|
2022-09-06 01:19:52 +09:00
|
|
|
CollabTopicDeck
|
|
|
|
collab CollabId
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
deck DeckId
|
2019-02-12 20:46:12 +09:00
|
|
|
|
2022-09-06 01:19:52 +09:00
|
|
|
UniqueCollabTopicDeck collab
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
|
2022-09-06 01:19:52 +09:00
|
|
|
CollabTopicLoom
|
|
|
|
collab CollabId
|
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:
- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
I haven't tested them yet on a read DB so there may be errors there; I'll fix
them in the next patches if I find any (probably going to test on the main
instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
removed, I haven't removed them; that's because I wonder if at some point
users can have a tree of inboxes much like in email; I don't have an excuse
for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 22:57:42 +09:00
|
|
|
loom LoomId
|
|
|
|
|
2022-09-06 01:19:52 +09:00
|
|
|
UniqueCollabTopicLoom collab
|
2022-08-22 03:10:03 +09:00
|
|
|
|
2023-06-27 04:02:54 +09:00
|
|
|
CollabTopicProject
|
|
|
|
collab CollabId
|
|
|
|
project ProjectId
|
|
|
|
|
|
|
|
UniqueCollabTopicProject collab
|
|
|
|
|
2022-09-06 01:19:52 +09:00
|
|
|
CollabEnable
|
2022-06-22 15:19:37 +09:00
|
|
|
collab CollabId
|
2022-09-06 01:19:52 +09:00
|
|
|
grant OutboxItemId
|
2022-06-22 15:19:37 +09:00
|
|
|
|
2022-09-06 01:19:52 +09:00
|
|
|
UniqueCollabEnable collab
|
|
|
|
UniqueCollabEnableGrant grant
|
2022-06-22 15:19:37 +09:00
|
|
|
|
|
|
|
-------------------------------- Collab recipient ----------------------------
|
|
|
|
|
|
|
|
CollabRecipLocal
|
|
|
|
collab CollabId
|
|
|
|
person PersonId
|
|
|
|
|
|
|
|
UniqueCollabRecipLocal collab
|
|
|
|
|
2022-08-22 03:10:03 +09:00
|
|
|
CollabRecipLocalAccept
|
|
|
|
collab CollabRecipLocalId
|
2022-10-20 21:53:54 +09:00
|
|
|
invite CollabFulfillsInviteId
|
2022-08-22 03:10:03 +09:00
|
|
|
accept OutboxItemId
|
|
|
|
|
|
|
|
UniqueCollabRecipLocalAcceptCollab collab
|
2022-10-20 21:53:54 +09:00
|
|
|
UniqueCollabRecipLocalAcceptInvite invite
|
2022-08-22 03:10:03 +09:00
|
|
|
UniqueCollabRecipLocalAcceptAccept accept
|
|
|
|
|
2022-06-22 15:19:37 +09:00
|
|
|
CollabRecipRemote
|
|
|
|
collab CollabId
|
|
|
|
actor RemoteActorId
|
|
|
|
|
|
|
|
UniqueCollabRecipRemote collab
|
2022-07-26 02:15:22 +09:00
|
|
|
|
2022-08-22 03:10:03 +09:00
|
|
|
CollabRecipRemoteAccept
|
|
|
|
collab CollabRecipRemoteId
|
2022-10-20 21:53:54 +09:00
|
|
|
invite CollabFulfillsInviteId
|
2022-08-22 03:10:03 +09:00
|
|
|
accept RemoteActivityId
|
|
|
|
|
|
|
|
UniqueCollabRecipRemoteAcceptCollab collab
|
2022-10-20 21:53:54 +09:00
|
|
|
UniqueCollabRecipRemoteAcceptInvite invite
|
2022-08-22 03:10:03 +09:00
|
|
|
UniqueCollabRecipRemoteAcceptAccept accept
|
2023-06-27 09:20:30 +09:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
-- Components, from project perspective
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Component
|
|
|
|
project ProjectId
|
2023-06-28 04:56:52 +09:00
|
|
|
role Role
|
2023-06-27 09:20:30 +09:00
|
|
|
|
|
|
|
------------------------------ Component reason ------------------------------
|
|
|
|
|
|
|
|
ComponentOriginAdd
|
|
|
|
component ComponentId
|
|
|
|
|
|
|
|
UniqueComponentOriginAdd component
|
|
|
|
|
|
|
|
ComponentOriginInvite
|
|
|
|
component ComponentId
|
|
|
|
|
|
|
|
UniqueComponentOriginInvite component
|
|
|
|
|
|
|
|
-- Component collaborators's gesture
|
|
|
|
--
|
|
|
|
-- Add: Witnesses the initial Add that started the sequence
|
|
|
|
-- Invite: N/A (they send their Accept but we don't record it)
|
|
|
|
|
|
|
|
ComponentGestureLocal
|
|
|
|
origin ComponentOriginAddId
|
|
|
|
add OutboxItemId
|
|
|
|
|
|
|
|
UniqueComponentGestureLocal origin
|
|
|
|
UniqueComponentGestureLocalAdd add
|
|
|
|
|
|
|
|
ComponentGestureRemote
|
|
|
|
origin ComponentOriginAddId
|
|
|
|
actor RemoteActorId
|
|
|
|
add RemoteActivityId
|
|
|
|
|
|
|
|
UniqueComponentGestureRemote origin
|
|
|
|
UniqueComponentGestureRemoteAdd add
|
|
|
|
|
|
|
|
-- Component's accept
|
|
|
|
--
|
|
|
|
-- Add: Witnesses that the component saw and approved the Add
|
|
|
|
-- Invite: Witnesses that the component saw project's accept and component
|
|
|
|
-- collaborator's accept, and sent its own accept
|
|
|
|
|
|
|
|
ComponentAcceptLocal
|
|
|
|
ident ComponentLocalId
|
|
|
|
accept OutboxItemId
|
|
|
|
|
|
|
|
UniqueComponentAcceptLocal ident
|
|
|
|
UniqueComponentAcceptLocalAccept accept
|
|
|
|
|
|
|
|
ComponentAcceptRemote
|
|
|
|
ident ComponentRemoteId
|
|
|
|
accept RemoteActivityId
|
|
|
|
|
|
|
|
UniqueComponentAcceptRemote ident
|
|
|
|
UniqueComponentAcceptRemoteAccept accept
|
|
|
|
|
|
|
|
-- Project collaborator's gesture
|
|
|
|
--
|
|
|
|
-- Add: Witnesses their approval, seeing the component's accept
|
|
|
|
-- Invite: Witnesses the initial Invite that started the sequence
|
|
|
|
|
|
|
|
ComponentProjectGestureLocal
|
|
|
|
component ComponentId
|
|
|
|
activity OutboxItemId
|
|
|
|
|
|
|
|
UniqueComponentProjectGestureLocal component
|
|
|
|
UniqueComponentProjectGestureLocalActivity activity
|
|
|
|
|
|
|
|
ComponentProjectGestureRemote
|
|
|
|
component ComponentId
|
|
|
|
actor RemoteActorId
|
|
|
|
activity RemoteActivityId
|
|
|
|
|
|
|
|
UniqueComponentProjectGestureRemote component
|
|
|
|
UniqueComponentProjectGestureRemoteActivity activity
|
|
|
|
|
|
|
|
-- Project's accept
|
|
|
|
--
|
|
|
|
-- Add: N/A
|
|
|
|
-- Invite: Witnesses that the project saw and approved the Invite
|
|
|
|
|
|
|
|
ComponentProjectAccept
|
|
|
|
origin ComponentOriginInviteId
|
|
|
|
accept OutboxItemId
|
|
|
|
|
|
|
|
UniqueComponentProjectAccept origin
|
|
|
|
UniqueComponentProjectAcceptAccept accept
|
|
|
|
|
|
|
|
----------------------------- Component identity -----------------------------
|
|
|
|
|
|
|
|
ComponentLocal
|
|
|
|
component ComponentId
|
|
|
|
|
|
|
|
UniqueComponentLocal component
|
|
|
|
|
|
|
|
ComponentLocalRepo
|
|
|
|
component ComponentLocalId
|
|
|
|
repo RepoId
|
|
|
|
|
|
|
|
UniqueComponentLocalRepo component
|
|
|
|
|
|
|
|
ComponentLocalDeck
|
|
|
|
component ComponentLocalId
|
|
|
|
deck DeckId
|
|
|
|
|
|
|
|
UniqueComponentLocalDeck component
|
|
|
|
|
|
|
|
ComponentLocalLoom
|
|
|
|
component ComponentLocalId
|
|
|
|
loom LoomId
|
|
|
|
|
|
|
|
UniqueComponentLocalLoom component
|
|
|
|
|
|
|
|
ComponentRemote
|
|
|
|
component ComponentId
|
|
|
|
actor RemoteActorId
|
|
|
|
|
|
|
|
UniqueComponentRemote component
|
|
|
|
|
|
|
|
------------------------------ Component enable ------------------------------
|
|
|
|
|
|
|
|
-- Witnesses that, seeing the project collaborator approval on the Add or the
|
|
|
|
-- component approval on the Invite, the project has sent the component a Grant
|
|
|
|
-- with the "delegator" role and now officially considering it a component of
|
|
|
|
-- the project
|
|
|
|
ComponentEnable
|
|
|
|
component ComponentId
|
|
|
|
grant OutboxItemId
|
|
|
|
|
|
|
|
UniqueComponentEnable component
|
|
|
|
UniqueComponentEnableGrant grant
|
|
|
|
|
|
|
|
-- Witnesses that the component used the delegator Grant to send an admin
|
|
|
|
-- delegation to the project, to extend the delegation further
|
|
|
|
ComponentDelegateLocal
|
|
|
|
component ComponentLocalId
|
|
|
|
grant OutboxItemId
|
|
|
|
|
|
|
|
UniqueComponentDelegateLocal component
|
|
|
|
UniqueComponentDelegateLocalGrant grant
|
|
|
|
|
|
|
|
-- Witnesses that the component used the delegator Grant to send an admin
|
|
|
|
-- delegation to the project, to extend the delegation further
|
|
|
|
ComponentDelegateRemote
|
|
|
|
component ComponentRemoteId
|
|
|
|
grant RemoteActivityId
|
|
|
|
|
|
|
|
UniqueComponentDelegateRemote component
|
|
|
|
UniqueComponentDelegateRemoteGrant grant
|
|
|
|
|
|
|
|
-- Witnesses that the project has extended a given delegation to a given
|
|
|
|
-- direct collaborator
|
|
|
|
ComponentFurtherLocal
|
|
|
|
component ComponentEnableId
|
|
|
|
collab CollabRecipLocalId
|
|
|
|
grant OutboxItemId
|
|
|
|
|
|
|
|
UniqueComponentFurtherLocal component collab
|
|
|
|
UniqueComponentFurtherLocalGrant grant
|
|
|
|
|
|
|
|
-- Witnesses that the project has extended a given delegation to a given
|
|
|
|
-- direct collaborator
|
|
|
|
ComponentFurtherRemote
|
|
|
|
component ComponentEnableId
|
|
|
|
collab CollabRecipRemoteId
|
|
|
|
grant OutboxItemId
|
|
|
|
|
|
|
|
UniqueComponentFurtherRemote component collab
|
|
|
|
UniqueComponentFurtherRemoteGrant grant
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
-- Components, from component perspective
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Stem
|
2023-06-28 04:56:52 +09:00
|
|
|
role Role
|
2023-06-27 09:20:30 +09:00
|
|
|
|
|
|
|
-------------------------------- Stem identity -------------------------------
|
|
|
|
|
|
|
|
StemIdentRepo
|
|
|
|
stem StemId
|
|
|
|
repo RepoId
|
|
|
|
|
|
|
|
UniqueStemIdentRepo stem
|
|
|
|
|
|
|
|
StemIdentDeck
|
|
|
|
stem StemId
|
|
|
|
deck DeckId
|
|
|
|
|
|
|
|
UniqueStemIdentDeck stem
|
|
|
|
|
|
|
|
StemIdentLoom
|
|
|
|
stem StemId
|
|
|
|
loom LoomId
|
|
|
|
|
|
|
|
UniqueStemIdentLoom stem
|
|
|
|
|
|
|
|
-------------------------------- Stem project --------------------------------
|
|
|
|
|
|
|
|
StemProjectLocal
|
|
|
|
stem StemId
|
|
|
|
project ProjectId
|
|
|
|
|
|
|
|
UniqueStemProjectLocal stem
|
|
|
|
|
|
|
|
StemProjectRemote
|
|
|
|
stem StemId
|
|
|
|
project RemoteActorId
|
|
|
|
|
|
|
|
UniqueStemProjectRemote stem
|
|
|
|
|
|
|
|
--------------------------------- Stem reason --------------------------------
|
|
|
|
|
|
|
|
StemOriginAdd
|
|
|
|
stem StemId
|
|
|
|
|
|
|
|
UniqueStemOriginAdd stem
|
|
|
|
|
|
|
|
StemOriginInvite
|
|
|
|
stem StemId
|
|
|
|
|
|
|
|
UniqueStemOriginInvite stem
|
|
|
|
|
|
|
|
-- Component collaborators's gesture
|
|
|
|
--
|
|
|
|
-- Add: Witnesses the initial Add that started the sequence
|
|
|
|
-- Invite: Witnesses their approval, seeing the project's accept
|
|
|
|
|
|
|
|
StemComponentGestureLocal
|
|
|
|
stem StemId
|
|
|
|
activity OutboxItemId
|
|
|
|
|
|
|
|
UniqueStemComponentGestureLocal stem
|
|
|
|
UniqueStemComponentGestureLocalActivity activity
|
|
|
|
|
|
|
|
StemComponentGestureRemote
|
|
|
|
stem StemId
|
|
|
|
actor RemoteActorId
|
|
|
|
activity RemoteActivityId
|
|
|
|
|
|
|
|
UniqueStemComponentGestureRemote stem
|
|
|
|
UniqueStemComponentGestureRemoteActivity activity
|
|
|
|
|
|
|
|
-- Component's accept
|
|
|
|
--
|
|
|
|
-- Add: Witnesses that the component saw and approved the initial Add
|
|
|
|
-- Invite: Witnesses that the component saw project's accept and component
|
|
|
|
-- collaborator's accept, and sent its own accept
|
|
|
|
|
|
|
|
StemComponentAccept
|
|
|
|
stem StemId
|
|
|
|
accept OutboxItemId
|
|
|
|
|
|
|
|
UniqueStemComponentAccept stem
|
|
|
|
UniqueStemComponentAcceptAccept accept
|
|
|
|
|
|
|
|
-- Project collaborator's gesture
|
|
|
|
--
|
|
|
|
-- Add: N/A (it happens but we don't record it)
|
|
|
|
-- Invite: Witnesses the initial Invite that started the sequence
|
|
|
|
|
|
|
|
StemProjectGestureLocal
|
|
|
|
origin StemOriginInviteId
|
|
|
|
invite OutboxItemId
|
|
|
|
|
|
|
|
UniqueStemProjectGestureLocal origin
|
|
|
|
UniqueStemProjectGestureLocalInvite invite
|
|
|
|
|
|
|
|
StemProjectGestureRemote
|
|
|
|
origin StemOriginInviteId
|
|
|
|
actor RemoteActorId
|
|
|
|
invite RemoteActivityId
|
|
|
|
|
|
|
|
UniqueStemProjectGestureRemote origin
|
|
|
|
UniqueStemProjectGestureRemoteInvite invite
|
|
|
|
|
|
|
|
-- Project's accept
|
|
|
|
--
|
|
|
|
-- Add: N/A
|
|
|
|
-- Invite: Witnesses that the project saw and approved the Invite
|
|
|
|
|
|
|
|
StemProjectAcceptLocal
|
|
|
|
origin StemOriginInviteId
|
|
|
|
project StemProjectLocalId
|
|
|
|
accept OutboxItemId
|
|
|
|
|
|
|
|
UniqueStemProjectAcceptLocal origin
|
|
|
|
UniqueStemProjectAcceptLocalProject project
|
|
|
|
UniqueStemProjectAcceptLocalAccept accept
|
|
|
|
|
|
|
|
StemProjectAcceptRemote
|
|
|
|
origin StemOriginInviteId
|
|
|
|
project StemProjectRemoteId
|
|
|
|
accept RemoteActivityId
|
|
|
|
|
|
|
|
UniqueStemProjectAcceptRemote origin
|
|
|
|
UniqueStemProjectAcceptRemoteProject project
|
|
|
|
UniqueStemProjectAcceptRemoteAccept accept
|
|
|
|
|
|
|
|
------------------------------ Stem enable ------------------------------
|
|
|
|
|
|
|
|
-- Project's grant
|
|
|
|
--
|
|
|
|
-- Add: Seeing component's accept and project collaborator's accept, the
|
|
|
|
-- project has made the link official and sent a delegator grant
|
|
|
|
-- Invite: Seeing project collaborator's Invite and component's accept, the
|
|
|
|
-- project has made the link official and sent a delegator grant
|
|
|
|
|
|
|
|
StemProjectGrantLocal
|
|
|
|
stem StemComponentAcceptId
|
|
|
|
project StemProjectLocalId
|
|
|
|
grant OutboxItemId
|
|
|
|
|
|
|
|
UniqueStemProjectGrantLocal stem
|
|
|
|
UniqueStemProjectGrantLocalProject project
|
|
|
|
UniqueStemProjectGrantLocalGrant grant
|
|
|
|
|
|
|
|
StemProjectGrantRemote
|
|
|
|
stem StemComponentAcceptId
|
|
|
|
project StemProjectRemoteId
|
|
|
|
grant RemoteActivityId
|
|
|
|
|
|
|
|
UniqueStemProjectGrantRemote stem
|
|
|
|
UniqueStemProjectGrantRemoteProject project
|
|
|
|
UniqueStemProjectGrantRemoteGrant grant
|
|
|
|
|
|
|
|
-- Witnesses that the stem used the delegator Grant to send an admin
|
|
|
|
-- delegation to the project, to extend the delegation further
|
|
|
|
StemDelegateLocal
|
|
|
|
stem StemComponentAcceptId
|
|
|
|
grant OutboxItemId
|
|
|
|
|
|
|
|
UniqueStemDelegateLocal stem
|
|
|
|
UniqueStemDelegateLocalGrant grant
|