Commit graph

1183 commits

Author SHA1 Message Date
Pere Lev
c98d8d1cc0
Vocab & UI: Repo, Deck and Loom now serve their collabs URI 2023-06-28 01:09:35 +03:00
Pere Lev
b2657589dd
Switch Invite/Join/Remove to use resource collabs URI
Until now, the resource object itself would be specified. This no longer
works, because it's unclear whether we're adding/removing a collaborator
or a component.

From now on, adding a collaborator is done by pointing to the resource's
'collaborators' URI, not to the resource itself
2023-06-28 00:30:35 +03:00
Pere Lev
034194f2aa
DB & Vocab: Specify role in Add, store it in Component & Stem 2023-06-27 22:56:52 +03:00
Pere Lev
1fd46b0590
UI & Vocab: Project components list & link from collabs JSON to project 2023-06-27 21:07:21 +03:00
Pere Lev
6ae079a310
S2S: Project Add handler 2023-06-27 17:55:59 +03:00
Pere Lev
89185164b8
DB: Store the 'type' of remote actors 2023-06-27 13:27:51 +03:00
Pere Lev
224025b9b6
DB: Entities for project-component system 2023-06-27 03:20:30 +03:00
Pere Lev
64aae37b4f
UI: Minimal HTML page for Project 2023-06-26 23:50:33 +03:00
Pere Lev
c0103d9564
UI: Fix bug: Project references aren't displayed 2023-06-26 23:40:43 +03:00
Pere Lev
232a0cd4df
S2S: Implement project handlers, based on the Deck ones 2023-06-26 23:26:53 +03:00
Pere Lev
224c290b04
S2S: Project creation and following 2023-06-26 23:12:40 +03:00
Pere Lev
9d6bbfdf92
C2S: Project creation 2023-06-26 23:01:41 +03:00
Pere Lev
372fd35f2c
Project routes, handlers and creation UI 2023-06-26 22:02:54 +03:00
Pere Lev
3db602e3bd
DB entity for Project 2023-06-26 17:26:20 +03:00
Pere Lev
050e8d09bc
Vocabulary for Project 2023-06-26 17:25:56 +03:00
Pere Lev
cc87b6e17d
Port deck creation to the new actor system 2023-06-19 18:44:12 +03:00
Pere Lev
0bd2ca8d5d
DB: Allow actors to mark they've just been created by someone
This will be used for sending that someone a grant with Admin access
2023-06-19 11:38:25 +03:00
Pere Lev
c838cece7b
UI: Fix bug: Incorrect table headers for deck collaborator list 2023-06-19 11:22:56 +03:00
Pere Lev
6e8cedadd1
Client: Fix bug: Invite target isn't addressed 2023-06-19 10:38:22 +03:00
Pere Lev
581838e550
Support the 6 ForgeFed roles + launch repo/deck/loom actor upon creation 2023-06-17 21:35:00 +03:00
Pere Lev
c8c2106eab
UI: In deck collaborator list, have a Remove button for each 2023-06-17 01:27:28 +03:00
Pere Lev
58518811e3
UI for publishing a Remove 2023-06-17 00:39:02 +03:00
Pere Lev
9673887479
C2S Remove handler 2023-06-17 00:28:35 +03:00
Pere Lev
7b64ab56b1
S2S Remove handlers for Person and Deck 2023-06-16 23:42:50 +03:00
Pere Lev
928ad8f9a9
UI in deck collaborators list, for adding a new collaborator 2023-06-16 20:12:40 +03:00
Pere Lev
aaa92d8141
UI for publishing an Invite 2023-06-16 17:39:11 +03:00
Pere Lev
ffb5dadac7
Link C2S handler with ClientMsg Person actor handler & port inviteC 2023-06-16 17:15:15 +03:00
Pere Lev
29904080df
Clearly specify license as AGPL-3-or-later in cabal file 2023-06-16 17:14:40 +03:00
Pere Lev
a683185918
Actor system: Add support for C2S actor methods 2023-06-15 20:23:50 +03:00
Pere Lev
d33f272ede
Switch to converged handlers than handle both local and remote activities
I was writing a topicLocalInvite handler when I realized how cumbersome
it's becoming, to have separate handlers for local activities. While it
allows me to pick custom specific message names and parameters (which is
why I took that approach in the first place), it causes a lot of
duplication and complexity (because I have to write the remote-activity
handlers anyway; adding local ones doesn't reduce complexity).

So this commit switches the entire system to communicate only using
AP/FF activities, including between local actors.
2023-06-15 15:44:43 +03:00
Pere Lev
d5d6b0af61
On app start, launch only verified Persons 2023-06-10 10:56:02 +03:00
Pere Lev
a41356c261
Upon account verification, launch the Person actor 2023-06-10 10:51:01 +03:00
Pere Lev
59e99f405a
Deck: Port Join handler 2023-06-09 09:40:10 +03:00
Pere Lev
85f77fcac4
Deck: Port Invite handler 2023-06-08 15:38:09 +03:00
Pere Lev
9955a3c0ad
Deck: Port/write Accept, Reject, Follow, Undo 2023-06-07 10:15:30 +03:00
Pere Lev
d467626049
Person: Implement (trivial) Revoke handler 2023-06-05 12:38:08 +03:00
Pere Lev
b4ebd08c5a
Person: Port Undo{Follow} handler 2023-06-05 11:34:58 +03:00
Pere Lev
552ef760e6
Person: Port Reject{Follow} handler 2023-06-05 10:03:20 +03:00
Pere Lev
9b0622cd7a
Person: Port the Accept{Follow} handler 2023-06-05 09:43:28 +03:00
Pere Lev
b759b87d0f
Person: Implement (the quite trivial) Join handler 2023-05-30 22:21:51 +03:00
Pere Lev
4d8e5de8b8
Person: Port Invite and Follow handlers to new system 2023-05-30 22:02:11 +03:00
Pere Lev
cc135692c0
Web.ActivityPub: Add Grant 'allows' & 'delegates' fields 2023-05-30 14:34:37 +03:00
Pere Lev
621275e257
Verify integrity proof on remote activities coming into local inboxes
Limitations:

- Only jcs-eddsa-2022 is supported for now, can add more easily if
  needed
- Not verifying forwarded local activities, only remotely-authored ones
- Fetching key and actor with HTTP without using the DB cache, because
  the current cache system is deprecated and I haven't yet created the
  new one
2023-05-30 12:51:41 +03:00
Pere Lev
e8e587af26
Generate FEP-8b32 authenticity proofs when delivering activities
Limitations:

- Verification of proofs not implemeneted yet, just generation.
  Verification probably coming in the next commit.
- Only jcs-eddsa-2022 is supported. Can add more cryptosuites once
  they're updated for the requirements of the VC Data Integrity spec.
- Bug: The proofs aren't stored in the DB versions of outgoing activities, i.e.
  HTTP GETing an activity won't include the proof. Probably not urgent
  to fix. Ideally, change the whole PersistJSONObject/Envelope/etc.
  thing to allow to serialize the activity exactly once.
2023-05-30 09:48:21 +03:00
Pere Lev
ba02d62eb5
Web.ActivityPub: Add Grant startTime and endTime 2023-05-29 10:47:41 +03:00
Pere Lev
a22aeb85d0
Web.ActivityPub: Add grantResult field, with optional duration 2023-05-29 09:50:17 +03:00
Pere Lev
906b5e8f44
Update docs for darcs->git switch, and switch from darcs-rev to gitrev 2023-05-25 13:55:56 +03:00
Pere Lev
1fadb2a07e
Turn _boring into .gitignore & chmod +x script files 2023-05-25 13:18:18 +03:00
fr33domlover
6786e2e0e1 Implement theater-based remote delivery and port personGrant 2023-05-24 22:17:14 +00:00
fr33domlover
bb01538dfa README: Update SSH config instructions, based on the DarcsHub ones 2023-05-01 09:01:30 +00:00