Thomas Citharel
241710807c
Fixed deduplicated files from orphan media being deleted as well
...
Happens when a file is uploaded, then orphaned, and a similar file is
used somewhere. The CleanMedia job service didn't consider that case
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-23 10:37:20 +02:00
Thomas Citharel
ab843dff4c
Fixed deduplicated files from orphan media being deleted as well
...
Happens when a file is uploaded, then orphaned, and a similar file is
used somewhere. The CleanMedia job service didn't consider that case
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-22 16:17:20 +02:00
Thomas Citharel
d577b07c6e
Introduce event language detection
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-20 18:01:29 +02:00
Norbert Szulc
f8f53edb76
Add test
2021-08-16 16:23:13 +02:00
Thomas Citharel
6f9db37ca3
Fix checking origin from a tombstone
...
When comparing an activity with their origin, only compare the ID
directly, as Tombstones don't have actors anymore
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-10 20:49:45 +02:00
Thomas Citharel
56861d6483
Fix audience for comments under a remote event from group
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-10 12:46:44 +02:00
Thomas Citharel
d3a05b5568
Federate metadata
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-10 12:46:44 +02:00
Thomas Citharel
783486a366
Support denying registration based on email or domain
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-08 19:56:33 +02:00
Thomas Citharel
51cd066a14
Add resizing filter to make sure pictures are not too big
...
Closes #810
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-05 16:10:03 +02:00
Thomas Citharel
93ba408671
Improve group profile metadata
...
* Add canonical link
* Add link alternate to application/activity+json representation
* add robots noindex on remote profiles
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-04 10:49:02 +02:00
Thomas Citharel
ac9587b9d1
Don't assert file size in upload factory
...
Since it can be tested in different environments (obsolete systems,
docker, different ImageMagick versions…), file optimization
might get different results depending on system
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-04 10:49:02 +02:00
Thomas Citharel
cceb083ad7
Improve error reporting and add test
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-03 12:15:54 +02:00
Thomas Citharel
25789f8f6d
Add more events tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-02 11:45:50 +02:00
Thomas Citharel
4b864ba423
Allow to use inline "Join" when processing an Accept
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-02 11:45:48 +02:00
Thomas Citharel
099b85e9a9
Refactor audience to introduce maybe_add_followers/2
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:23 +02:00
Thomas Citharel
ecf7bb1fef
Various event AP converter changes and add tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:22 +02:00
Thomas Citharel
caf9493a00
Various changes needed for AP refactor
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:22 +02:00
Thomas Citharel
78dc7613bc
Refactor Mobilizon.Federation.ActivityPub.Audience and add tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:21 +02:00
Thomas Citharel
221dd0609e
Fix accessing group draft post
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:21 +02:00
Thomas Citharel
011128b0fb
Make sure draft events are not selected in search
...
Closes https://framagit.org/framasoft/mobilizon/-/issues/807
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:21 +02:00
Thomas Citharel
acd921432f
Refactor checking permissions when managing events and tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:21 +02:00
Thomas Citharel
52fe274c5a
Allow to pass file uploads to AbsintheHelpers.graphql_query/2
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:21 +02:00
Thomas Citharel
a670a7d7a7
Fix and improve language handling
...
- Refactor plugs to detect and set language
- Translate ecto validation errors
- Use Gettext directly, not Mobilizon.Web.Gettext
- Set the language in the <html> attribute according to the one loaded
on front-end
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-27 20:11:56 +02:00
Thomas Citharel
ae25cba97a
Use correct default language when no Accept-Language is set
...
Closes #792
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-22 17:01:34 +02:00
Thomas Citharel
fa8cae681f
Add possibility to create users with provider (such as LDAP)
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-22 15:09:12 +02:00
Thomas Citharel
11e75eaf66
Add the possibility to create profiles and groups from CLI
...
- Create an actor at the same time when creating an user
- or create either a profile and attach it to an existing user
- or create a group and set the admin to an existing profile
Closes #785
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-20 18:29:38 +02:00
Thomas Citharel
b196719238
Remove unsafe-inline from CSP
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-02 09:46:38 +02:00
Thomas Citharel
e1eb0e9d16
Fix test issue after 57b71cb85a
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-29 11:20:34 +02:00
Thomas Citharel
5cdac95a85
Send announcement notifications to anonymous participants
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-27 18:16:34 +02:00
Thomas Citharel
ed182e358b
Fix scheduler test
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-27 16:18:53 +02:00
Thomas Citharel
3ed25bab81
Send notifications to event organizer when new comment is posted
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-27 13:16:17 +02:00
Thomas Citharel
784c607c65
Send activity digests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-26 16:09:02 +02:00
Thomas Citharel
7a6667bd3b
Make mentions send notifications
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-23 20:12:13 +02:00
Thomas Citharel
7bb8568504
Add an unique index on posts URLs
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-22 16:51:21 +02:00
Thomas Citharel
8caf1e302b
Add basic metadata to opengraph preview
...
Also refactor datetime & address utils
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-22 16:01:55 +02:00
Thomas Citharel
a24e08a6de
Add blurhash support to backend
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-10 15:18:08 +02:00
Thomas Citharel
4169db1e73
Move from the mdillon postgis image to postgis/postgis
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-07 19:41:59 +02:00
Thomas Citharel
a336e76aae
Run mix format on Elixir 12
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-07 16:49:43 +02:00
Thomas Citharel
901c88d741
Fix an AP test
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-07 11:06:59 +02:00
Thomas Citharel
f100fce0da
Finally fix backend tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 16:32:26 +02:00
Thomas Citharel
71cecb5b2c
Fix tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:27 +02:00
Thomas Citharel
8d87cd12a9
Fix an activity test related to Notifier mock
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:27 +02:00
Thomas Citharel
96511ea4bc
Fix report resolver test
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:26 +02:00
Thomas Citharel
f699efe109
Add the isAnnouncement comment property to test data
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:26 +02:00
Thomas Citharel
d3164899f3
Fix tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:26 +02:00
Thomas Citharel
37c1790273
Test CommentActivity legacy notifications
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:25 +02:00
Thomas Citharel
57c07836aa
Add a test to LegacyNotifierBuilder
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:25 +02:00
Thomas Citharel
86c2512c62
WIP
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:32:05 +02:00
Thomas Citharel
b0394fdb02
Use post picture as OGP picture if existing
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-05-19 11:35:19 +02:00
Thomas Citharel
9f4cc5d981
Fix ActivityPub test contacting dead server
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-05-18 17:56:49 +02:00
Thomas Citharel
70ca2d68a6
Improve some translations
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-28 16:16:46 +02:00
Thomas Citharel
495fbda330
Add pagination to moderation logs
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-28 10:27:29 +02:00
Thomas Citharel
280f461ba7
Refactor the ActivityPub module
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-22 19:29:47 +02:00
Thomas Citharel
ebf192e2c7
Fix CLI to change an user's email and add a test
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-19 16:50:16 +02:00
Thomas Citharel
014c2da915
Improve wording when editing an user through CLI
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-19 09:53:36 +02:00
Thomas Citharel
f2175c6498
Refactor CSP
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-16 14:57:02 +02:00
Thomas Citharel
ed7b53357f
Refactor tests for relay task and refresh cassetes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 13:37:25 +02:00
Thomas Citharel
b34958d3af
Refactor Webfinger module, use XRD host-meta to find webfinger endpoint
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:49 +02:00
Thomas Citharel
8e6aa8c85c
Decode HTML entities when sanitized
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-30 09:12:53 +02:00
Thomas Citharel
cde9f8873e
Expose personal tokened feeds
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-26 19:36:48 +01:00
Thomas Citharel
1aa699fef0
Introduce instance ICS & Atom feeds (disabled by default)
...
And refactor the feed modules
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-26 16:19:58 +01:00
Thomas Citharel
80adf2307d
Extract tag parsing to own code, because linkify doesn't handle tag into
...
HTML
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-26 09:16:31 +01:00
Thomas Citharel
7aadc447e1
Handle changing default actor unlogged
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-25 10:38:31 +01:00
Thomas Citharel
95516a4067
Fix registering new user account with same email as unconfirmed
...
Refactors get_user_by_email/2
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-25 10:22:40 +01:00
Thomas Citharel
346d6438f8
Fix changing changing email and validating new email with bad token
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-23 16:38:37 +01:00
Thomas Citharel
d8e4d6c24f
Introduce activity filters
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-09 16:21:12 +01:00
Thomas Citharel
53c8349139
Fix activities test
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-08 16:02:09 +01:00
Thomas Citharel
6a23f03b70
Federate draft status
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-08 15:58:54 +01:00
Thomas Citharel
3bffabccb6
Only federate group draft posts to members
...
Closes #615
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-08 13:43:53 +01:00
Thomas Citharel
bc99e48f06
Add tests for discussion
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-04 11:43:35 +01:00
Thomas Citharel
74e0e009d1
Add cron job to clean old activities
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-02 14:34:52 +01:00
Thomas Citharel
3fe64a4389
Introduce the group activity section
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-26 09:37:06 +01:00
Thomas Citharel
a8e58547fd
Add back media proxy for resources pictures
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-26 12:15:53 +01:00
Thomas Citharel
a4545bcf67
Exclude persons from being followed
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-24 16:17:16 +01:00
Thomas Citharel
4fbdc94e7c
Fix following groups + Add interface to manage followers
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-22 11:52:52 +01:00
Thomas Citharel
e76a270e72
Feed improvements
...
And show public feed links on the group page
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-19 15:30:02 +01:00
Thomas Citharel
12d2ab669d
Improve Member federation
...
Federate the member ID instead of the person ID
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-18 16:19:07 +01:00
Thomas Citharel
1057963945
Fix iCalendar Export by updating the iCalendar library
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-15 09:49:25 +01:00
Thomas Citharel
7017f8e1a3
Improve resolver group test
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-14 19:18:14 +01:00
Thomas Citharel
79e00a65b8
Add junit to exunit
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-13 17:35:16 +01:00
Thomas Citharel
0b8538a65b
Fix FeedController test
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-12 11:18:04 +01:00
Thomas Citharel
b69daa7b54
Attach event ics files to event-related emails
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-11 11:29:28 +01:00
Thomas Citharel
fba16502cf
Remove leftover
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-18 16:48:05 +01:00
Thomas Citharel
ad0086032b
Fix tests with events listing
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-18 16:48:04 +01:00
Thomas Citharel
a646d4a40a
Fix unlisted groups being available in search
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-17 15:38:03 +01:00
Thomas Citharel
273c98cfdf
Fix tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-16 14:03:33 +01:00
Thomas Citharel
9b27e70eb0
Save remote profiles avatars & banners locally
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-15 17:17:42 +01:00
Thomas Citharel
8e722032fb
[GraphQL] Move events endpoint to paginated event list
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-09 19:55:44 +01:00
Thomas Citharel
2141f92a30
Fix tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-30 16:46:26 +01:00
Thomas Citharel
10eb64720e
Fix tests with scheduler notifications
...
Close #390
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-30 12:23:40 +01:00
Thomas Citharel
74e59b2398
Fix tests failure with Group test find_group/3
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-30 12:23:39 +01:00
Thomas Citharel
0e1dc0df8d
Clean unconfirmed users
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-27 11:10:12 +01:00
Thomas Citharel
c9457fe0d3
Track usage of media files and add a job to clean them
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-26 17:53:33 +01:00
Thomas Citharel
b11d35cbec
Backend support to get used media size for users and actors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-23 17:00:42 +01:00
Thomas Citharel
1cd680526a
Add backend to remove pictures
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-23 17:00:36 +01:00
Thomas Citharel
3eacbb2ca3
Improve GraphQL documentation and cleanup API
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-20 11:44:00 +01:00
Thomas Citharel
e6077d0dc3
Forbid creating usernames with uppercase characters
...
We don't actually enforce anything on the ActivityPub level, only
user-facing interfaces
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-17 19:54:40 +01:00
Thomas Citharel
72cd3e688d
Add tests for metadata
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-17 15:45:42 +01:00
Thomas Citharel
6099878ac5
Allow Ueberauth providers to be used at runtime
...
Close #504
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-15 19:49:38 +01:00
Thomas Citharel
7c11807c14
Allow to join an open group
...
Also:
* Refactor interacting with a remote event so that you can interact with
a remote group as well
* Add a setting for group admins to pick between an open and invite-only
group
* Fix new groups without posts/todos/resources/events/conversations URL
set
* Repair local groups that haven't got their
posts/todos/resources/events/conversations URL set
* Add a scheduled job to refresh remote groups every hour
* Add a user setting to pick when to receive notifications when there's
new members to approve (will be used when this feature is available)
* Fix pagination for members
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-06 15:19:36 +01:00