Commit Graph

1036 Commits

Author SHA1 Message Date
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
Thomas Citharel
0792bf5445
Update tzworld at runtime
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-19 12:18:03 +02:00
Thomas Citharel
f24ec89408
Fix event notification tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-18 11:14:46 +02:00
Thomas Citharel
f31454c692
Add json_ld info to more emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-18 11:14:46 +02:00