Commit graph

193 commits

Author SHA1 Message Date
Thomas Citharel 85e4715412
feat(federation): expose public activities as announcements in relay outbx & rfrsh profile aftr fllw
Also change ActorView to send proper HTTP error codes

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-09-19 18:07:18 +02:00
Thomas Citharel b105c508c0
feat(reports): improve reportview and allow removing content + resolve report automatically
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-31 14:37:54 +02:00
Thomas Citharel f2ac3e2e5d
feat(reports): allow reports to hold multiple events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-31 10:43:36 +02:00
Thomas Citharel da532c7059
feat(notifications): add missing notifications when an user registers to an event
Closes #1344

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-24 17:36:58 +02:00
Thomas Citharel da70427e32
fix: fix Elixir 1.15 depreciations
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-02 09:59:09 +02:00
Thomas Citharel 96b4ef08c6
style: unused variable
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-20 14:59:57 +02:00
Thomas Citharel 5381eaae22
fix(federation): rotate relay keys on startup if missing private keys
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-06 12:20:35 +02:00
Thomas Citharel e8d34b4ea9
fix(federation): restrict fetch_group first arg to binaries
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-06 09:57:14 +02:00
Thomas Citharel b981f91cf7
fix(federation): prevent fetching own relay actor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-06 09:52:46 +02:00
Thomas Citharel 2043c98717
fix(typespec): Fix missing return type in typespec
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-21 14:28:33 +02:00
Thomas Citharel eda2761032
refactor(credo): Refactor to appease new credo checks (complexity and logging)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-19 18:33:06 +02:00
Thomas Citharel 5c43713d85
Forgot call to clear_feeds_cache
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-01-31 15:22:22 +01:00
Thomas Citharel f531c39b7e
Make sure every cache is properly cleared when managing an event
Closes #1252

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-01-28 17:37:20 +01:00
Thomas Citharel bb86ca5413
Handle :http_not_found as an error when deleting an object
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-07 19:37:59 +01:00
Thomas Citharel 96ba48cdb0
Handle error when fetching object from tombstone
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-06 15:29:34 +01:00
Thomas Citharel de8433cdbb
Add error details in error logging in Activity Update handler
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-06 11:33:09 +01:00
Thomas Citharel 6058da0d44
Propertly handle other errors when receiving a comment
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-03 18:11:40 +01:00
Thomas Citharel 4bb90ebb3f
Properly handle replying to an event that has been deleted
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-03 18:02:32 +01:00
Thomas Citharel 1087e19ee5
Enable E2E tests in CI
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-27 13:43:09 +02:00
Thomas Citharel 530539c631
Make sure instance list is refreshed before notifying admin from new
instance follow

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-26 10:20:51 +02:00
Thomas Citharel d2372d5700
fixup! Fix depreciated calls of fetch_env!/2 and get_env/2
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-21 10:15:28 +02:00
Thomas Citharel bbbaa81a6e
Fix depreciated calls of fetch_env!/2 and get_env/2
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-21 08:53:50 +02:00
Thomas Citharel 3b8b150d48
Make sure activity recipient can't be nil
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 17:51:54 +02:00
Thomas Citharel 999a33c7c3
Typespec fixes and refactoring
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-03 12:23:09 +02:00
Thomas Citharel f6a17d8b3a
Improve a guard
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-03 11:41:17 +02:00
Thomas Citharel ce6a25048c
Add missing "relay@" part of federated address to follow
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-24 17:52:46 +02:00
Thomas Citharel 279badb2bf
Refactor Mobilizon.Federation.ActivityPub.Types.Events tags handling
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-21 17:31:47 +02:00
Thomas Citharel 7b3ce8d812
Avoid duplicate tags with different casing
Closes #562

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-21 17:13:21 +02:00
Thomas Citharel ca860273a0
Exclude tags with more than 40 characters from being extracted.
They are still in the HTML produced

Closes #562

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-21 17:13:20 +02:00
Thomas Citharel 3f32b3409f
Increase task timeout in Refresher to 60 seconds
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 18:47:31 +02:00
Thomas Citharel f6ac72f08d
Allow instance to have non-standard ports
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 18:35:18 +02:00
Thomas Citharel 0ebb797740
Directly delete an object if the actor is itself
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 16:18:10 +02:00
Thomas Citharel 00f4c0b02c
Make sure remote Update activities can't affect local actors other than
Groups

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 16:18:10 +02:00
Thomas Citharel 4b869a6015
Make some functions private in Mobilizon.Federation.ActivityPub.Utils
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 16:18:09 +02:00
Thomas Citharel d7aa432cca
Fix receiving Flag activities on federated events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 09:03:14 +02:00
Thomas Citharel 83f2880dd9
Fix some typespecs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-18 14:47:44 +02:00
Thomas Citharel e841fb6fbb
Move mailer from Bamboo to Swoosh
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-05 12:38:02 +02:00
Thomas Citharel a49bda5e4c
Handle error from converting from AP to note when having error with
actor

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-31 11:24:22 +02:00
Thomas Citharel c56b898379
Fix incoming Accept activities from participations we don't already have
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-31 11:24:22 +02:00
Thomas Citharel 3c8a2a1313
Add details of object in exception when AP object as no
actor/attributedTo

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-31 10:49:15 +02:00
Thomas Citharel bd64e19af4
Move a logging warning for HTTP issue to an info
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 11:51:07 +02:00
Thomas Citharel a71c51a174
Expose member count in AP data
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-24 14:19:24 +01:00
Thomas Citharel 11ac2dcceb
Expose remainingAttendeeCapacity and participantCount through AP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-02-08 15:41:42 +01:00
Thomas Citharel 87b37a4153
Expose isOnline through AP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-02-08 15:27:17 +01:00
Thomas Citharel 26b1ea401a
Fix various issues reported by Dializer
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:49:46 +01:00
Thomas Citharel 7f665daaf3
Handle actor refreshment being impossible
If we can't refresh the actor, just return the stale actor

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:41:03 +01:00
Thomas Citharel 1bfff235f3
Don't sign fetches to instance actor when refreshing their keys
Closes #963

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-29 11:07:44 +01:00
Thomas Citharel 51afec1856
Fix new credo warnings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-26 14:47:10 +01:00
Thomas Citharel e81db2e643
Remove litepub context
Closes #954

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-26 09:45:54 +01:00
Thomas Citharel 4a2fe900cd
Refactor and test Mobilizon.Federation.ActivityPub.Utils.get_actor/1
Raise exception when object contains no actor. Friendica seems to send an Update activity with no actor

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-24 17:31:47 +01:00