Commit Graph

1139 Commits

Author SHA1 Message Date
Thomas Citharel 409439a916
Make sure we can't refresh the local instance
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 16:18:11 +02:00
Thomas Citharel 28f5cdd03a
Handle webfinger JSON data being invalid format
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 16:18:10 +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 df8721670a
Add a comment about why we don't sign object fetches when refetching actor keys
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 16:18:09 +02:00
Thomas Citharel 852be15a3e
Eventually fetch actors in mentions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 16:18:08 +02:00
Thomas Citharel 14545fd983
Add proper fallback for when a TZ isn't registered
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 16:18:08 +02:00
Thomas Citharel f5791d1413
Debug log mentions in text to be processed
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 09:03:15 +02:00
Thomas Citharel 48d17c122d
Fix an issue with no default timezone
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 09:03:14 +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 0b04980332
Remove Koena Connect button
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-18 15:01:32 +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 7a18d0b2bb
Fix ex_docs warnings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-07 18:51:10 +02:00
setop 38579d9dc2
add search box to filter addresses quickly 2022-04-07 10:51:30 +02:00
Thomas Citharel 4f92add78d
Format LiveView templates after adding the LiveView formatter plugin
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-07 10:33:11 +02:00
Thomas Citharel e3adc0684f
Make FrontEndAnalytics provide CSP configuration
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-06 19:56:09 +02:00
Thomas Citharel da2254089c
Make sure suspended actors are not in the AP cache anymore
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-06 16:54:00 +02:00
Thomas Citharel 501e0d12e4
Properly fallback to MEETING category if category is not in the
allowlist

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-06 14:42:01 +02:00
Thomas Citharel 709d26735b
Provide analytics on Front-end
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-06 12:31:46 +02:00
Thomas Citharel cb1e41d90d
Remove unused variable
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-05 14:10:21 +02:00
Thomas Citharel 4b9a38b2a7 Merge branch 'email-spam' into 'main'
Move mailer from Bamboo to Swoosh

Closes #491

See merge request framasoft/mobilizon!1203
2022-04-05 11:21:24 +00:00
Thomas Citharel e49a8e3905
Fix issue in function signature
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-05 12:38:03 +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 e5ccdccbc7
Allow to get a group by it's ID
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-04 15:42:17 +02:00
Thomas Citharel 7fcaa4a151
[GraphQL] Allow to get group by ID in person memberships
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-04 15:42:16 +02:00
Thomas Citharel d2864a22d9
Allow to exclude stale actors from group search (one week without refreshment)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-04 15:42:16 +02:00
Thomas Citharel 2bdce8b2fc
Handle address is invalid while rendering event preview
Closes #996

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-01 15:01:57 +02:00
Thomas Citharel a99d66b68f
Fix group deletion caused by foreign keys issue with comments &
discussions

Closes #1016

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-01 12:09:23 +02:00
Thomas Citharel b1ac997f8a
Make sure every relation of actor is loaded when operating on it
Closes #1049

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-01 10:03:43 +02:00
Thomas Citharel de5a5345b6
Don't return error 500 when issue with media proxy
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-31 11:24:22 +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 4c9065ce68
Resource fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-31 11:24:22 +02:00
Thomas Citharel 9ab95efb08
Fix an email template and rename a translated string
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-31 10:49:15 +02:00
Thomas Citharel dd97565dd5
Give extra content to Sentry when creating a signature
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-31 10:49:15 +02:00
Thomas Citharel 4a8064f24f
Move Sentry request context to new module and load it everytime
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-31 10:49:15 +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 0ee7e649a7 Allow to register custom categories
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:58 +02:00
Thomas Citharel 00c3212950 Introduce event categories
Closes #1056

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:58 +02:00
Thomas Citharel c2f0ee7928 Return a proper error directly when a group name conflicts
And translate the error

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:58 +02:00
Thomas Citharel 29062ff883 Allow GraphQL Error handler return custom Mobilizon.GraphQL.Error
directly

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:58 +02:00
Thomas Citharel 96b93ac841 Provide group creation changeset errors as well to absinthe
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:58 +02:00
Thomas Citharel d5e8330c7f Expose member count in AP data
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:58 +02:00
Thomas Citharel 48af135fd6 Clear all ics/feed caches when modifying events/posts/actors
Closes #1059

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:58 +02:00
Thomas Citharel 680463a5f9 Fix loading list of languages after ex_cldr update
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:58 +02:00
Thomas Citharel 2d99fe877c Refactor to avoid calling Mobilizon.Cldr.known_locale_name with a string
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:58 +02:00
Thomas Citharel 47f188a277 Fix duplicate field in schema
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:58 +02:00
Thomas Citharel 84b5bf339e Thunderbird 91+ seems to send Accept: XML when doing any query
We only accept ICS, so it didn't work.

Closes #1019

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:57 +02:00
Thomas Citharel 976503cd29 Expose remainingAttendeeCapacity and participantCount through AP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:57 +02:00
Thomas Citharel 32ec220372 Expose isOnline through AP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:57 +02:00
Thomas Citharel c35cfc8181 Improve rich media parsers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:57 +02:00
Thomas Citharel 77945c8236 Fix fetching details from Twitter
Due to 429 error. Details: e6dc2ca5f2

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:57 +02:00
Thomas Citharel f3215190c5 Detect and convert html body in the correct charset before parsing it
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:57 +02:00
Thomas Citharel 644647fa38 Fix parsing links with hashtag characters
Closes #1008

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:57 +02:00
Thomas Citharel 95c355d586 Disable follow of non-instances for now
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:57 +02:00
Thomas Citharel 9cc0acdaeb Fix link on instance follow email
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:57 +02:00
Thomas Citharel b45b703143 Improve admin views (2)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:56 +02:00
Thomas Citharel 0b2dde0bff Improve admin views
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:58:56 +02:00
Thomas Citharel b098ae202d Fix ical export for undefined datetimes
Closes #973

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:57:27 +02:00
Thomas Citharel 23864deffe Allow to filter reports by domain
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:57:27 +02:00
Thomas Citharel d5545e01b0 Fix various issues reported by Dializer
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:57:27 +02:00
Thomas Citharel 19005d3199 Rename Mobilizon.Actors.is_following/2 to check_follow/2
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:57:27 +02:00
Thomas Citharel d8574e0d15 Improve logging in module and handle more Webfinger errors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:57:27 +02:00
Thomas Citharel b47dad5659 Introduce instances admin page
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:57:27 +02:00
Thomas Citharel 2d57ac6466 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-03-29 13:55:45 +02:00
Thomas Citharel f083dcb687 Improve handling of media file deletion
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:55:44 +02:00
Thomas Citharel b02580d654 Improve compilation dependency in endpoint and context
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:55:44 +02:00
Thomas Citharel 09b61af22f Fix test to know whether we should perform unused accounts cleanup
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:55:44 +02:00
Thomas Citharel 003a8fe4e4 Simplify response for user not found
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:55:44 +02:00
Thomas Citharel 124a9cb6a6 Allow to filter user memberships and group memberships (contacts=) on
backend side

Closes #981 #969

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:55:44 +02:00
Thomas Citharel 9665b15f96 Don't sign fetches to instance actor when refreshing their keys
Closes #963

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:55:44 +02:00
Thomas Citharel e9ca950067 Fix reject of already following instances
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:55:44 +02:00
Thomas Citharel 7ef481dad3 Handle tzinfo being absent
Closes #962

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:55:44 +02:00
Thomas Citharel 6980bbfea4 Fix new credo warnings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:55:44 +02:00
Thomas Citharel e03a09da45 Remove litepub context
Closes #954

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:55:43 +02:00
Thomas Citharel 9f3a2e1801 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>
2022-03-29 13:55:43 +02:00
Thomas Citharel 9c60d5c670 Order my group upcoming events by begins_on
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 13:55:43 +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 9ddcd6dff6
Make sure timezone as an UTC fallback in case it's nil
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-29 11:51:07 +02:00
Thomas Citharel 368911b58e
Allow to register custom categories
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-28 20:02:43 +02:00
Thomas Citharel f5bdedf789
Introduce event categories
Closes #1056

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-28 17:42:59 +02:00
Thomas Citharel cd3c316881
Return a proper error directly when a group name conflicts
And translate the error

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-24 16:39:44 +01:00
Thomas Citharel 93425108c5
Allow GraphQL Error handler return custom Mobilizon.GraphQL.Error
directly

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-24 16:39:44 +01:00
Thomas Citharel 3c294b33a8
Provide group creation changeset errors as well to absinthe
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-24 16:39:44 +01: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 019d694d2a
Clear all ics/feed caches when modifying events/posts/actors
Closes #1059

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-24 12:51:23 +01:00
Thomas Citharel e7ce24966b
Fix loading list of languages after ex_cldr update
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-23 12:35:27 +01:00
Thomas Citharel 7067173a5a
Refactor to avoid calling Mobilizon.Cldr.known_locale_name with a string
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-21 17:50:38 +01:00
Thomas Citharel 3dd0b60606
Fix duplicate field in schema
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-21 16:55:01 +01:00
Thomas Citharel f043ec32d1
Thunderbird 91+ seems to send Accept: XML when doing any query
We only accept ICS, so it didn't work.

Closes #1019

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-21 12:46:56 +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 2134e7b152
Improve rich media parsers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-18 12:52:45 +01:00
Thomas Citharel a66f19cc5d
Fix fetching details from Twitter
Due to 429 error. Details: e6dc2ca5f2

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-18 12:52:01 +01:00
Thomas Citharel fbe5a8d0c4
Detect and convert html body in the correct charset before parsing it
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-18 12:47:45 +01:00
Thomas Citharel c8735e5837
Fix parsing links with hashtag characters
Closes #1008

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-18 12:46:33 +01:00
Thomas Citharel bda18a2150
Disable follow of non-instances for now
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 17:50:00 +01:00
Thomas Citharel 2a629759fa
Fix link on instance follow email
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 17:45:12 +01:00
Thomas Citharel 6e5061250c
Improve admin views (2)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 15:53:24 +01:00