Thomas Citharel
c051e26380
Fix getting categories from global search engine
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-12 19:19:20 +02:00
Thomas Citharel
76ff11ceae
Don't add empty search parameters to global search engine
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-12 19:19:20 +02:00
Thomas Citharel
74581912f3
Only preload svg shapes on homepage
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-11 18:45:33 +02:00
Thomas Citharel
b514d417c0
Add typespec for category_statistics
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-11 14:58:55 +02:00
Thomas Citharel
0d6626d55a
Merge branch 'search-fixes' into 'main'
...
Fix global search term
See merge request framasoft/mobilizon!1281
2022-10-06 08:39:37 +00:00
Thomas Citharel
200e4d2c56
Merge branch 'handle-categories-from-global-search' into 'main'
...
Handle unknown categories from global search
See merge request framasoft/mobilizon!1280
2022-10-06 08:10:05 +00:00
Thomas Citharel
1a31d9b54e
Fix global search term
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-06 09:53:54 +02:00
Thomas Citharel
0758995ac7
Handle unknown categories from global search
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-06 09:32:47 +02:00
Thomas Citharel
c080795955
Reconfigure plug at runtime with env
...
Closes #1165
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-06 08:59:50 +02:00
Thomas Citharel
620008ee0d
Fix group location edition
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-05 18:17:11 +02:00
Thomas Citharel
fee4f9add8
Fix address selector
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-05 17:54:04 +02:00
Thomas Citharel
456e987af8
Performance improvements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-05 13:18:38 +02:00
Thomas Citharel
5055bd4adc
Consider the events from the same organizer actor or group in first
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-03 19:45:29 +02:00
Thomas Citharel
1601153062
Add all proper filters for related events
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-03 19:33:54 +02:00
Thomas Citharel
f0c8fa2525
Handle events with no physical location
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-03 19:26:35 +02:00
Thomas Citharel
4f1465e84d
Add distinct on suggested events
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-03 14:37:14 +02:00
Thomas Citharel
ca9826e299
Improve related events
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-03 14:02:25 +02:00
Thomas Citharel
8915a5caad
Fix Sentry registration
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-27 18:19:01 +02: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
6f7d5f649b
Add participant info in event search results
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-26 10:29:58 +02:00
Thomas Citharel
a37bab3b84
Fix some Dializer issue
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-26 10:29:58 +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
88b4f98c41
Make sure session cookie salt in AuthController is loaded dynamically
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-21 10:16:07 +02:00
Thomas Citharel
6675c62d94
Add unplug to dynamically load plugs
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-21 10:15:47 +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
009f90e0d7
Fix typo in subtemplate
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-21 08:55:14 +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
6a9fba7db8
Fix tests for CI
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-21 08:32:42 +02:00
Thomas Citharel
151a7e54ae
Fix lint issues, update deps
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-20 17:06:42 +02:00
Thomas Citharel
86ca52c2cb
Precompile latin to arab ICU transliterations
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-19 09:19:28 +02:00
Thomas Citharel
eecb04516e
Add the map in search view
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-01 10:00:17 +02:00
Thomas Citharel
07b2447a07
Add missing case for :member_approved in email member activity
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-28 10:53:52 +02:00
Thomas Citharel
0e7ff25333
Fix a preload issue with actor suspension
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-28 10:52:44 +02:00
Thomas Citharel
4db13046b7
Provide an accept CSP policy for global search pictures
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-28 10:02:06 +02:00
Thomas Citharel
8812122168
Only consider relevant events for category statistics
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-28 10:02:06 +02:00
Thomas Citharel
ce38361d65
Remove duplicate key in struct
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-28 10:02:06 +02:00
Thomas Citharel
48935e2168
Add global search
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-28 10:02:06 +02:00
Thomas Citharel
bfc936f57c
[JSON-LD] Only render single location when list has only one element
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-23 10:09:10 +02:00
Thomas Citharel
e07f88277b
Use correct IP
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-22 12:19:14 +02:00
Thomas Citharel
baac00f678
Improve search
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-22 12:12:09 +02:00
Thomas Citharel
ee20e03cc2
Migrate to Vue 3 and Vite
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-11 16:46:31 +02:00
Thomas Citharel
6aba0af3ec
Run mix format after deps update
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-06-17 10:48:12 +02:00
Thomas Citharel
4213e1f1ec
Send activity recap emails outside of the transaction
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-11 11:24:20 +02:00
Thomas Citharel
c05243f839
Add more logging to send_activity_recap_worker
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-11 09:47:18 +02:00
Thomas Citharel
123eee675a
Fix links to group page in group membership emails and participation
...
card
Closes #1077
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-10 13:41:02 +02:00
Thomas Citharel
46236dbe1d
Fix group notification of new event being sent multiple times
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-10 13:15:12 +02:00
Thomas Citharel
1eb111f52f
Make sure activity notification recaps can't be sent multiple times
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-10 13:15:11 +02:00
Thomas Citharel
3fea2d0395
Allow is_delay_ok_since_last_notification_sent? to have the delay as
...
param
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-10 13:15:11 +02:00
Thomas Citharel
44b2ca26bd
Merge branch 'fixes' into 'main'
...
Add a CLI command to delete actors
See merge request framasoft/mobilizon!1237
2022-05-09 16:57:27 +00:00
Thomas Citharel
5bc63185fd
Add a CLI command to delete actors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-09 18:27:51 +02:00
Thomas Citharel
071185204e
Fix a comment
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-09 18:27:29 +02:00
Thomas Citharel
5bc9245dce
Make sure prompt show the correct message and not just "Continue?" in
...
mix mode
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-09 18:27:05 +02:00
Henri Febleux
5b4e6ed473
Add description field to address representation
...
Fixes : #1096
2022-05-07 18:28:32 +02:00
Thomas Citharel
7a6a013d93
Make sure users can't create profiles or groups with non-valid patterns
...
Closes #1068
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 20:01:05 +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
888d2ef4b8
Expose correct relay address in federation
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 17:21:11 +02:00
Thomas Citharel
3982977121
Allow to get Mastodon instance relays
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 16:59:28 +02:00
Thomas Citharel
0b49021f8b
Fix admin notification e-mails from instance follow for Mastodon
...
instances
Show an appropriate name in the body of the mail
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 16:36:04 +02:00
Thomas Citharel
05724476aa
Remove unused addRelay mutation
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 14:23:16 +02:00
Thomas Citharel
cd3d0c5fc4
Add a proper error message when adding an instance that doesn't respond
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 14:23:16 +02:00
Thomas Citharel
26cf892758
Revert "Merge branch 'external-events' into 'main'"
...
This reverts merge request !1223
2022-05-04 07:02:16 +00:00
Thomas Citharel
d85f708c37
Merge branch 'external-events' into 'main'
...
Add option to link an external registration provider for events
See merge request framasoft/mobilizon!1223
2022-05-04 07:01:53 +00:00
Thomas Citharel
87214b038f
Add appropriate timeouts for Repo.transactions
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-04 08:21:15 +02:00
Luca Eichler
75502e2a4b
Add option to link an external registration provider for events
2022-05-03 15:33:32 +02:00
Thomas Citharel
63a23748ac
Improve test coverage
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-03 12:58:07 +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
a18c4daf4c
Avoid using actor id from config cache
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-03 11:40:16 +02:00
Thomas Citharel
1299b3baf1
CAS Auth Fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-02 14:40:17 +02:00
Thomas Citharel
bf7ebfd989
Test refreshing instances does not update self relay actor
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-02 13:15:14 +02:00
Thomas Citharel
a4cc566ee7
Fix some typespecs
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-02 12:08:00 +02:00
Thomas Citharel
926dd01272
Send push notification into own task
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-02 12:07:21 +02:00
Thomas Citharel
d87261a6fb
Fix lint after merge
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-02 09:04:57 +02:00
Thomas Citharel
93805dca11
Merge branch 'setop-main-patch-92671' into 'main'
...
include ongoing events in search
Closes #729
See merge request framasoft/mobilizon!1171
2022-05-02 06:48:16 +00:00
setop
f071f70d1f
include ongoing events in search
2022-05-02 06:48:15 +00:00
Thomas Citharel
c91e8f6bf3
Fix being an administrator when using 3rd-party auth provider
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-28 11:59:24 +02:00
Thomas Citharel
f997f573ba
Use a session for state parameter in Ueberauth callback controller
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-28 11:59:24 +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
030a149a61
Merge branch 'fixes' into 'main'
...
Improve actor cards integration
See merge request framasoft/mobilizon!1216
2022-04-22 10:38:42 +00:00
Thomas Citharel
e4a22bdb83
Fix latest group not refreshing in admin section
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-22 12:04:05 +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
0c49ddc65b
Add "Accept-Language" header to sentry request metadata
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-21 10:33:42 +02:00
Thomas Citharel
74cece5796
Preload user.activity_settings to as it's being used after
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-21 10:21:05 +02:00
Thomas Citharel
b79f918d51
Correct a @moduledoc
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 19:15:33 +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
74eeaccdc6
Allow webfinger to be fetched over http (not https) in dev mode
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 18:38:03 +02:00
Thomas Citharel
7c8de2b87f
Fix rejecting instance follow
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 18:35:38 +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
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
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
Thomas Citharel
ca6ef9b06b
Improve admin views
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:49:48 +01:00
Thomas Citharel
2ac3755120
Fix ical export for undefined datetimes
...
Closes #973
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:49:46 +01:00
Thomas Citharel
193fcde123
Allow to filter reports by domain
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:49:46 +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
1319985047
Rename Mobilizon.Actors.is_following/2 to check_follow/2
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:41:03 +01:00
Thomas Citharel
bc6cec45fa
Improve logging in module and handle more Webfinger errors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:41:03 +01:00
Thomas Citharel
e717312de7
Introduce instances admin page
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:41:03 +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
ba097c736e
Improve handling of media file deletion
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-15 12:59:56 +01:00
Thomas Citharel
c174e18b39
Improve compilation dependency in endpoint and context
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-15 12:59:56 +01:00
Thomas Citharel
b484629010
Fix test to know whether we should perform unused accounts cleanup
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-15 12:59:55 +01:00
Thomas Citharel
3ad5f8977e
Simplify response for user not found
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-15 12:59:55 +01:00
Thomas Citharel
7771b27b55
Allow to filter user memberships and group memberships (contacts=) on
...
backend side
Closes #981 #969
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-13 17:33:36 +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
07d679c4ab
Fix reject of already following instances
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-29 10:39:22 +01:00
Thomas Citharel
21325a014d
Handle tzinfo being absent
...
Closes #962
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-29 10:39:19 +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
Thomas Citharel
9aaea50f59
Order my group upcoming events by begins_on
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-24 09:28:59 +01:00
Thomas Citharel
147ea64483
Fix event language not allowed to be null
...
If the event language wasn't previously defined, it's not "und"
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-23 09:36:19 +01:00
Thomas Citharel
377b83e02d
Fix export being outputted in the wrong directory in release mode
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-22 18:43:59 +01:00
Thomas Citharel
c4d9101302
Make second parameter to Mobilizon.FollowedGroupActivity.user_followed_group_events/4 default to nil
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-22 09:40:34 +01:00
Thomas Citharel
0348826994
Emails small UI fixes
...
Closes #917
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-21 11:16:13 +01:00
Thomas Citharel
07a11d792c
Fix updating a group's avatar and banner picture
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-20 19:04:54 +01:00
Thomas Citharel
2154457be3
Take profile files into account when deleting orphan media
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-20 18:30:51 +01:00
Thomas Citharel
2b99b48258
Set database timeout to infinity when trying to detect orphan media
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-20 18:30:18 +01:00
Thomas Citharel
08f35169d1
Fix sending group events to followers on Mastodon
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-19 19:25:49 +01:00
Thomas Citharel
d7fd30f8e6
Federation fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-19 19:25:49 +01:00
Thomas Citharel
76cefca4d4
Forgot activity notification change
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-17 17:17:42 +01:00
Thomas Citharel
ba7f03610c
Add missing group name to activity notifications
...
Closes #799
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-17 16:25:21 +01:00
Thomas Citharel
cc9c2c878c
Fix some HTTP signatures issues
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-17 16:01:39 +01:00
Thomas Citharel
0cae2bb84d
Fix return from EventDelayedNotificationWorker being nil
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 16:45:38 +01:00
Thomas Citharel
d1f0a9224a
Cleanup some dead code
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 16:45:38 +01:00
Thomas Citharel
702c7fa6d4
Rename is_local to is_local?
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 16:45:38 +01:00
Thomas Citharel
5b85d96e06
Handle errors when fetching actor pictures
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 16:45:38 +01:00
Thomas Citharel
f35db6540b
Various HTTP signature code improvements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 16:45:38 +01:00
Thomas Citharel
6f6d617eba
Fix actor AP representation of avatar
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 15:47:14 +01:00
Thomas Citharel
84bd1ccfad
Don't sign fetch when fetching actor for a given signature
...
Otherwise it's doing a loop
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 15:46:23 +01:00
Thomas Citharel
88067bd217
Expose and fetch event contacts
...
Close #829
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 15:45:05 +01:00
Thomas Citharel
d7ef8f3280
Adding some debug logs
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 15:43:53 +01:00
Thomas Citharel
446c5f00ab
Add "formerType" and "delete" attributes on Tombstones objects
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 11:56:15 +01:00
Thomas Citharel
d291a83cc9
Warn when registering with email containing uppercase characters
...
Closes #884 and #803
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 11:38:17 +01:00
Thomas Citharel
be1664ec85
Improve sending pending participation notifications
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-15 16:59:40 +01:00
Thomas Citharel
85ceb1de47
Improve json-ld metadata on event live streams
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-15 12:11:29 +01:00
Thomas Citharel
bcf17fe30b
Add "eventAttendanceMode" to JSON-ld schema.org event representation
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-15 11:08:18 +01:00
Thomas Citharel
fea97f3713
Fix creating an mz activity when updating an event with some subfields
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-15 11:03:06 +01:00
Thomas Citharel
b547f1f1ee
Handle Webfinger endpoint not returning 200
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-15 08:48:29 +01:00
Thomas Citharel
df2c184bc0
Refactor transmogrifier Delete to avoid spoofed Delete being accepted
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-15 08:48:28 +01:00
Thomas Citharel
55af776df9
Improve group refreshment and fixed date signature generation
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-14 16:28:27 +01:00
Thomas Citharel
6d599441a9
Allow group members to access group drafts
...
Closes #843
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-13 19:57:14 +01:00
Thomas Citharel
6a63ece91f
Fix updating group physical address
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-13 19:57:14 +01:00
Thomas Citharel
63e7807f0d
Fix group map display
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-13 19:57:13 +01:00
Thomas Citharel
18cd7c11f1
Fix error when determining audience for Discussion
...
Closes #873
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-13 11:46:25 +01:00
Thomas Citharel
bd2f5f8c1b
Update translations
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-12 17:17:06 +01:00
Thomas Citharel
f287b9126e
Improve the AP representation and move endpoints to property
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-12 17:17:05 +01:00
Thomas Citharel
6eba531c89
Allow group admins to moderate new members
...
Closes #881
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-12 17:17:05 +01:00
Thomas Citharel
ae24fa17d5
Refactor Mobilizon.Service.Activity.Member
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-12 17:16:55 +01:00
Thomas Citharel
38a3ffc19f
Send event creation and event update notifications in a background task
...
The event update notification is made unique so that repeated changes
only trigger one notificate every 30 minutes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-11 16:29:38 +01:00
Thomas Citharel
8250d34597
Debug log the output of an Create Event error
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-10 20:44:52 +01:00
Thomas Citharel
afff01d6d2
Set an event UUID if default is nil
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-10 20:44:51 +01:00
Thomas Citharel
aaf9c2c931
Refactor fetching medias from event attachements
...
Use first attachement Document if none has the Banner name
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-10 20:44:51 +01:00
Thomas Citharel
6822cfabf1
Add a default name for media if none is specified in AP
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-10 20:44:51 +01:00
Thomas Citharel
5c7067b22b
Send notification emails to followers and members when a group publishes
...
a new event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-10 16:36:32 +01:00
Thomas Citharel
cf69c8b375
Break line after notification settings in emails
...
Closes #913
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-09 12:59:53 +01:00
Thomas Citharel
2401abedb5
Include organizer actor in icalendar export
...
Closes #907
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-09 11:50:35 +01:00
Thomas Citharel
3961a2067b
Fix search exposing events to unlogged users
...
Closes #892
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-09 09:15:32 +01:00
Thomas Citharel
729a6a7113
Add custom task to update tz_world data
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-09 09:15:31 +01:00
Thomas Citharel
41eb62bc2b
Remove tzworld loading dynamically
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-09 09:15:31 +01:00
Thomas Citharel
ea276fbe73
Detect if Python3 is installed before launching PythonPort Genserver
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-09 09:15:31 +01:00
Thomas Citharel
5de0cee025
Allow to access to a language directly though instance.tld/:lang
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-07 21:09:31 +01:00
Thomas Citharel
7c4a76cc89
More bidi improvements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-07 21:09:30 +01:00
Thomas Citharel
f55ca90c35
Allow to search for past events
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-07 18:12:23 +01:00
Thomas Citharel
a46372094c
Add dir="auto" to most user generated content
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-07 18:12:22 +01:00
Thomas Citharel
69e91e89f5
Allow to search events by online status
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-06 14:39:23 +01:00
Thomas Citharel
4de39d5850
Improve searching for group actors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-06 10:50:48 +01:00
Thomas Citharel
4fc044c595
Expose group physical address to AP
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-06 10:28:08 +01:00
Thomas Citharel
8519364e77
Fix action logs containing group suspension events
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-04 18:38:47 +01:00
Thomas Citharel
52e90fb320
Only add address and tags to event icalendar export if present
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-04 18:38:25 +01:00
Thomas Citharel
52ea2ff579
Add relay followers to recipients when sending public entity
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-04 09:08:05 +01:00
Thomas Citharel
75fbcb985c
Only send Tombstone with Delete activity, not the object itself
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-04 09:04:59 +01:00
Mayel
5e64d0515e
format
2021-11-03 14:27:19 +01:00
Mayel
475c72597e
ignore incoming federated private comments
2021-11-03 14:27:19 +01:00
Thomas Citharel
54116686c8
Remove non existing page from sitemap
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-03 10:14:43 +01:00
Thomas Citharel
2b3a0f19b9
Fix backend tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-03 10:14:43 +01:00
Thomas Citharel
f44e466194
Increase complexity
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:39 +01:00
Thomas Citharel
b12cea5ead
Allow to get group followed events after a certain date
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:39 +01:00
Thomas Citharel
23fddaedf1
[GraphQL] Expose events from followed/member group activity
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:26 +01:00
Thomas Citharel
88b078ebce
Increase the number of related events to 4 and refactor function
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:26 +01:00
Thomas Citharel
6cdc68e1a8
Allow to fetch Application actors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:25 +01:00
Thomas Citharel
d0b125064f
Improvements to group following
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:25 +01:00
Thomas Citharel
59edfe26cc
Improve notifier filter handing to avoid compiler cycle
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:24 +01:00
Thomas Citharel
bac6628aea
Improve changing current actor
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:24 +01:00
Thomas Citharel
d0b45de175
Expose person follows
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:23 +01:00
Thomas Citharel
f315685deb
Handle already following group
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:23 +01:00
Thomas Citharel
358be2aac6
Remove reloading tzworld
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:22 +01:00
Thomas Citharel
44e8ac7e9a
Add support for GraphQL handling of group follows
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:21 +01:00
Thomas Citharel
3b63c2928e
Add more metadata elements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-22 09:41:36 +02:00
Thomas Citharel
df22082f3e
Fix posts not able to accept existing tags
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-20 11:50:39 +02:00
Thomas Citharel
3ecc2cbad7
Fix group profile being inaccessible
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-20 11:50:22 +02:00