fr33domlover
b8c669f6fc
New outbox post: Raise error if federation disabled but remote recipients found
2019-04-18 11:43:33 +00:00
fr33domlover
f37b9b3f52
Run the delivery worker priodically, settings control how often to run
2019-04-18 10:38:01 +00:00
fr33domlover
c9c7da5902
More insertBy' usage, and remove withHostLock from new outbox post handler
2019-04-16 18:03:02 +00:00
fr33domlover
735a6a39cb
Use insertBy' in instanceAndActor
2019-04-16 17:26:06 +00:00
fr33domlover
c2ee6a7f16
Mention in INSTALL that Vervis needs PostgreSQL 9.5 or above
...
That's because insertBy' relies on insertUnique being done atomically, which
requires ON CONFLICT support, a feature that came with PostgreSQL 9.5.
2019-04-16 16:39:12 +00:00
fr33domlover
b0da8747a2
In ActorFetchShare, use insertBy' to allow non-shared insertions
...
Before this patch, the shared fetch used plain insert, because it relied on
being the only place in the codebase where new RemoteActors get inserted. I was
hoping for that to be the case, but while I tweak things and handle fetching
URIs that can be an actor or a public key (for which ActorFetchShare isn't
sufficient without some smart modification), I'd like concurrent insertions to
be safe, without getting in the way of ActorFetchShare.
With this patch, it now uses insertBy', which doesn't mind concurrent
insertions.
2019-04-16 16:33:08 +00:00
fr33domlover
7c2fad7417
Implement fetchAPIDOrH using a dedicated error type
2019-04-16 16:10:17 +00:00
fr33domlover
25fcceabde
postOutboxR: Use ResultShare for fetching recipient actor
2019-04-16 14:34:17 +00:00
fr33domlover
d5eefd1553
Implement outbox remote delivery, in handler and periodic, not used yet
2019-04-16 14:27:50 +00:00
fr33domlover
7946fe441d
Add field errorSince to RemoteActor to track inbox POST unreachability
2019-04-12 01:09:45 +00:00
fr33domlover
3f9364e4aa
Rename RemoteSharer entity to RemoteActor
2019-04-12 00:56:27 +00:00
fr33domlover
7621c0280a
Rewrite ticketFollowers migration without insertKey, it causes problems
2019-04-11 16:43:46 +00:00
fr33domlover
9a306e762c
Unfinished updated outbox handler
2019-04-11 13:44:44 +00:00
fr33domlover
7dda068ba3
Make the DB migrations not depend on current model
2019-04-11 13:26:57 +00:00
fr33domlover
b31c6fe0ef
Update homepage text
2019-04-06 23:06:46 +00:00
fr33domlover
1d854423cb
Switch Audience from Vector to list and fix Public bug
...
* No good reason to use Vector, let's use list, it's just easier
* The Public URI recognizing code wasn't being used; now it is
2019-04-01 23:40:29 +00:00
fr33domlover
0c280c7af6
Add setting that says how much time to keep retrying activity delivery
2019-04-01 23:38:44 +00:00
fr33domlover
a3bd0356e2
Mention in homepage that I'm asking to do Freenode group registration
2019-03-29 19:38:25 +00:00
fr33domlover
c2415301bc
More type-safe handling of DB key Hashids
2019-03-29 03:25:32 +00:00
fr33domlover
228e954706
Create Note outbox handler, not in use yet
...
I wrote a function handleOutboxNote that's supposed to do the whole outbox POST
handler process. There's an outbox item table in the DB now, I adapted things
in various source files. Ticket comment federation work is still in progress.
2019-03-28 21:08:30 +00:00
fr33domlover
cdb1c8b121
Add settings option to disable federation
2019-03-25 00:17:24 +00:00
fr33domlover
e53c056e1e
Mention my IRC presence in homepage
2019-03-25 00:01:06 +00:00
fr33domlover
e36d960d2b
Rename handleActivity to handleInboxActivity
2019-03-23 15:45:44 +00:00
fr33domlover
85c6354291
Switch jsonb support from persistent-postgresql to a custom module
...
The custom module provides a parametric wrapper, allowing any specific
FromJSON/ToJSON instance to be used. It's a standalone module though, and not a
wrapper of persistent-postgresql, because persistent-postgresql uses aeson
Value and it prevents using toEncoding to get from the value directly to a
string.
2019-03-23 15:29:50 +00:00
fr33domlover
0032456925
Add noteAudience; record recipient of local remotely-targetted activities in DB
2019-03-23 02:57:34 +00:00
fr33domlover
58a56b6743
Make noteId optional, to support taking a Note in postOutboxR
2019-03-23 02:05:30 +00:00
fr33domlover
88d4c976ee
Add route getMessageR, returns an Activity Note for any locally created Message
2019-03-22 20:46:42 +00:00
fr33domlover
6c186355f3
Change some top-level routes' breadcrumbs to be under HomeR
2019-03-22 05:17:58 +00:00
fr33domlover
c27636a438
Add route /publish for sending activities, getOutboxR now free to return outbox
2019-03-22 05:17:54 +00:00
fr33domlover
d40e1b8891
In outbox post form, provide parent and context, and default to ticket comment
2019-03-21 23:56:47 +00:00
fr33domlover
ad3a20d783
Receive remote comments on local ticket discussion
2019-03-21 22:57:15 +00:00
fr33domlover
72f96a0dff
When verifying HTTPsig, return iid&rsid and remove duplicate shared usage check
...
* Adapt DB related code to return the InstanceId and RemoteSharerId
* Previously, when fetching a known shared key, we were running a DB
check/update for the shared usage record. I noticed - and hopefully I
correctly noticed - that this check already runs when we discover the keyId
points to a shared key we already know. So, after successful sig
verification, there's no need to run the check again. So I removed it.
2019-03-21 21:38:59 +00:00
fr33domlover
061c84349d
Recognize the 3 variants of the Public collection URI when parsing audience
2019-03-21 19:13:36 +00:00
fr33domlover
77324442fc
Fetch local messages by LocalMessageId, not by MessageId
2019-03-21 19:06:52 +00:00
fr33domlover
9b916c9b75
Add ID URI field to RemoteMessage
2019-03-20 13:12:22 +00:00
fr33domlover
68b0ae7829
When receiving HTTP signed request, check the keyId host for weird cases
...
- Exclude hosts without periods, so things like localhost and IPv6 are rejected
- Exclude hosts without letters, so things like IPv4 are rejected
- Exclude the instance's own host, just in case somehow some fake activity
slips in and gets approved, maybe even accidentally when delivered by another
server
2019-03-20 12:27:40 +00:00
fr33domlover
747bbd5f0c
Publish actor documents for projects, and add some new properties to Actor
2019-03-20 12:01:10 +00:00
fr33domlover
ade1157a04
Add a custom ActivityPub actor type: Project
2019-03-20 10:36:00 +00:00
fr33domlover
3f2a178830
New module Yesod.FedURI: Render routes into FedURI and LocalURI
2019-03-20 10:08:36 +00:00
fr33domlover
6f3df6d569
Allow actors not to list any public keys at all
2019-03-20 09:31:08 +00:00
fr33domlover
716487f2b8
In ticket comment tree, support mixing local and remote (federated) comments
2019-03-20 08:07:37 +00:00
fr33domlover
e0de4cdcc7
Remove Discussion's nextMessage field, it's not being used anymore
2019-03-18 20:18:25 +00:00
fr33domlover
4b351ef62e
Automatically set approot to https://HOST and require Host header to match
2019-03-16 17:15:31 +00:00
fr33domlover
a9eaf35d5e
When verifying HTTP sig, require ActivityPub-Actor to be signed only if present
2019-03-16 15:48:25 +00:00
fr33domlover
475e398d6d
Switch ticket comment IDs to use Hashids-of-MessageId instead of custom number
2019-03-15 16:36:02 +00:00
fr33domlover
9e881554ea
Make frg:isShared key property optional, it was accidentally required
2019-03-15 16:33:10 +00:00
fr33domlover
0e0afa78f9
Parse/encoding audience targetting activity fields
2019-03-14 02:30:36 +00:00
fr33domlover
24c091a248
Add activity types Follow, Accept, Reject
2019-03-13 23:37:58 +00:00
fr33domlover
a8bb43255f
Explain keyfile loading in INSTALL.md
2019-03-11 02:22:34 +00:00
fr33domlover
f6cbc1eb8a
Use file based switches to relax keyfile loading rules
2019-03-11 02:01:41 +00:00