Commit graph

1409 commits

Author SHA1 Message Date
Pere Lev
18bcfb88f2
Fix "no people" bug in migration 554 2024-08-06 12:54:21 +03:00
Pere Lev
e196ee6f34
Switch to factory-based creation of Deck, Project and Group
- UI for creating a Factory
- UI for specifying a Factory when creating resource actors
- Old way of creation doesn't work anymore, except for Factory itself
- UI indicates whether you're an admin user
- Settings allow to choose "resident" factories, i.e. ones automatically
  offered to every newly verified user

Caveats:

- Factories are all-in-one, no mechanism yet for choosing actor types
- No UI/logic for auto-offering a Factory to all users of a different
  instance, and signaling other instances about newly verified local
  users
2024-08-06 12:33:02 +03:00
Pere Lev
66870458b7
Add a new actor type: Factory
- No factories inserted to DB yet
- Admin user list specified in settings
- Admins can create a Factory via C2S
- Creating other actors via C2S the old way still works as well
- Factory S2S handler implementation still blank
2024-08-02 18:31:06 +03:00
Pere Lev
a74b24f61a
Make push-to-repo SSH events sequential via the Repo actor
Until now, `Vervis.Ssh` was freely running git/darcs commands,
regardless of what the `Repo` actor is doing at the same time. It means
that in the `Repo` actor implementation, every repo manipulation must
take into account the possibility for a simultaneous push.

This commit gives more control, clarity and safety to the `Repo` actor.
Since moving the push logic itself to the `Repo` actor would be
cumbersome and complicated, the push logic remains in `Vervis.Ssh`, but
some thingss happen differently:

1. Before running the git/darcs command that handles the push, it waits
   for the `Repo` actor to be available (as if pushing is one of the
   `Repo` actor's methods)
2. In the method handler, the `Repo` actor waits for `Vervis.Ssh` to say
   that the push handler is done
3. When the git/darcs command returns, `Vervis.Ssh` sends the
   notification to release the `Repo` actor from the waiting

So, from now on, `Repo` and `Loom` code, in particular code that handles PRs,
can be sure no simultaneous pushing will happen.
2024-07-29 23:06:42 +03:00
Pere Lev
ea463703b5
Upgrade actor system, now using HList, to allow per-actor method type 2024-07-29 12:29:38 +03:00
Pere Lev
3ddae07d26
Fix migrations 594 & 595 that were requiring a Person in DB 2024-07-29 12:25:50 +03:00
Pere Lev
e0935ee6db
S2S: Invite: Remove Invite-based add-component code 2024-07-23 19:31:52 +03:00
Pere Lev
1fa71b6b9c
Docs: API.md: Info about the specific inbox activity types 2024-07-19 18:08:44 +03:00
Pere Lev
bdb8c44cd6
Docs: Start sections about inbox and outbox 2024-07-19 00:54:16 +03:00
Pere Lev
d2ff048b2e
Tools for type-level-property-powered ForgeFed parsing-serializing 2024-07-18 22:30:34 +03:00
Pere Lev
b9ab5e546a
Upgrade to LTS 18 (last LTS with GHC 8)
The major changes:

- No more hit and hit-* packages
- No more diagram and SVG font stuff
- Dependency on darcs is not yet removed
- No more persistent-graph i.e. recursive SQL queries
- Some hit-network stuff still in use, now part of Vervis itself
- Git operations use the git command-line program, a convenient API is provided
  in Data.Git.Local
- No more patch parsing and no diff view, patches are treated as a piece of
  text and displayed as-is (although I could add syntax-highlighting as a nice
  touch for the HTML view)
2024-07-18 13:57:41 +03:00
Pere Lev
9ce745c725
UI, DB: Store debug reports in DB and link to them from navbar 2024-07-06 12:53:31 +03:00
Pere Lev
b8922b3157
Implement /register 2024-07-06 00:14:36 +03:00
Pere Lev
19194426c2
Implement /register/available 2024-07-05 23:27:35 +03:00
Pere Lev
3db1668a6f
Implement /register/enabled endpoint 2024-07-05 22:23:29 +03:00
Pere Lev
17f1583808
Document registration API that I'm about to implement 2024-07-05 21:38:00 +03:00
Pere Lev
37f1665f16
OAuth: Upgrade Dvara version, fxing some bugs 2024-07-05 20:01:23 +03:00
Pere Lev
cd1bc1aee3
Pass theater to runSsh 2024-07-04 22:26:52 +03:00
Pere Lev
1b322f9606
Update more deps that switched from Darcs to Git 2024-07-04 21:54:33 +03:00
Pere Lev
0af8046ce1
Update deps that moved from Darcs to Git 2024-07-04 21:19:17 +03:00
Pere Lev
a5699898c5
Docs: Start API.md documentation file 2024-07-04 19:45:10 +03:00
Pere Lev
26ace5f9b8
Serve AP version of component projects collection 2024-07-04 14:17:21 +03:00
Pere Lev
ef8151c7cb
S2S: Project: Upon component-Revoke-start-Grant, remove whole Component record 2024-07-01 18:27:16 +03:00
Pere Lev
4d06d8e840
S2S: Component: Remove: Port team-mode from Project 2024-07-01 16:51:00 +03:00
Pere Lev
02f46a21f9
S2S: Component: Grant: Port team-mode from Project 2024-07-01 15:54:12 +03:00
Pere Lev
10a1f74847
S2S: Component: Grant: Refactor, prepare for adding team-mode 2024-07-01 15:35:23 +03:00
Pere Lev
40ab419946
S2S: Component: Accept: Port team-mode from Project 2024-07-01 13:44:23 +03:00
Pere Lev
cdd43292bc
S2S: Component: Add: Port team-mode from Project 2024-06-27 20:32:44 +03:00
Pere Lev
7a5147aad9
S2S: Project: Remove: Implement team mode 2024-06-26 20:39:30 +03:00
Pere Lev
3359974af7
S2S: Project: Grant: Implement team mode 2024-06-26 19:20:38 +03:00
Pere Lev
68141fa7da
S2S: Project: Accept: Implement team mode 2024-06-25 00:06:15 +03:00
Pere Lev
3c8b8dbc48
S2S: Project: Add: Implement team mode 2024-06-24 20:05:54 +03:00
Pere Lev
5d88036fc3
S2S: Group: Revoke: Implement resource mode 2024-06-20 21:48:48 +03:00
Pere Lev
4d37d1293a
S2S: Group: Remove: Implement resource-passive mode 2024-06-20 18:37:22 +03:00
Pere Lev
9df437a043
S2S: Group: Remove: Implement resource-active mode 2024-06-20 17:58:26 +03:00
Pere Lev
a36eda1e2b
S2S: Group: Grant: Implement resource mode 2024-06-20 17:13:54 +03:00
Pere Lev
c385dad10b
S2S: Group: Accept: Implement remove-resource mode 2024-06-20 16:26:06 +03:00
Pere Lev
cd18217f08
S2S: Group: Accept: Implement resource mode 2024-06-20 15:24:42 +03:00
Pere Lev
47736bb0a8
More tweaking & clarification of groupAccept comment and code 2024-06-15 17:51:24 +03:00
Pere Lev
a84ea09dd9
Reorder comment on groupAccept 2024-06-15 16:09:58 +03:00
Pere Lev
83590ba6ff
S2S: Group: Add: Implement resource-passive mode 2024-06-15 15:51:31 +03:00
Pere Lev
f7d3d6d957
S2S: Group: Add: Implement resource-active mode 2024-06-15 14:05:56 +03:00
Pere Lev
fe7ae763db
UI: Repo, Loom: Project add-approve-remove buttons 2024-06-10 17:07:32 +03:00
Pere Lev
1bdd1e9e9b
S2S: Component: Implement Revoke handler 2024-06-10 15:30:03 +03:00
Pere Lev
ae659dbba2
S2S: Project: Remove: Implement component-passive mode 2024-06-07 19:10:06 +03:00
Pere Lev
7af44d693c
S2S: Project: Remove: Child-active: Revoke Grants-for-teams 2024-06-06 21:36:39 +03:00
Pere Lev
3afdfbf3d7
S2S: Project: Revoke: Collab: Delete and send Revokes on extensions 2024-05-29 00:55:41 +03:00
Pere Lev
44d66c883c
S2S: Project: Remove: Implement component-active mode 2024-05-28 00:03:47 +03:00
Pere Lev
185047ecb4
S2S: Component: Remove: Implement component mode, updated process 2024-05-27 18:40:20 +03:00
Pere Lev
4838a131b4
S2S: Group: Grant: Extend Grants from my projects 2024-05-27 09:18:33 +03:00