Thomas Citharel
de047c8939
Various typespec and compilation improvements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52: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
Thomas Citharel
f204141262
Content is visible only @ap_public is in "to"
...
Closes #711
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-16 11:16:45 +02:00
Thomas Citharel
e05735265b
Fix remote group moderators managing event participations
...
Closes #827
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-13 12:24:30 +02:00
Thomas Citharel
cfffe5b248
Better handle deleted comments
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-10 20:49:46 +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
a5822d179c
Fix editing event from original instance on a group event
...
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
e6c05c481a
Fix variables names
...
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
ecfcc4fe83
Don't preload just public events, group draft can be fetched as well
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:20 +02:00
Thomas Citharel
20ff0a7f6c
Refactor Mobilizon.Federation.ActivityPub.Permission to handle
...
permissions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:19 +02:00
Thomas Citharel
c394f2cc5a
Use Permission module to check if user can have access to resource
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:18 +02:00
Thomas Citharel
0995043d04
Add the :role_needed_to_access permission check and refactor
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:17 +02:00
Thomas Citharel
7ec6f158ec
Add wrapper to Sentry to not load it when not configured
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-27 15:21:33 +02:00
Thomas Citharel
725a3c8b9e
Fix accessing outdated page of group
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-16 11:27:14 +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
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
f84cc299ba
Log when a follow request is auto-accepted
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:16 +02:00
Thomas Citharel
4100b2f962
Refresh profiles in a background task
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:16 +02:00
Thomas Citharel
2692d32c5e
Add url to error log
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-29 10:23:47 +02:00
Thomas Citharel
614ead1777
Transmogrifier event create Handle any type of error
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-28 18:19:09 +02:00
Thomas Citharel
4fd6ecf53d
Improve AP error handling
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-28 18:06:17 +02:00
Thomas Citharel
8185fcd0bd
Refresh after invite accept only if remote group
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-26 10:17:57 +02:00
Thomas Citharel
ed52474b51
Disable sentry logging unknown activities
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-26 09:21:00 +02:00
Thomas Citharel
eaadf261ac
Handle actor fetch issues better
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-23 09:25:57 +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
67b537f380
Fix sentry issues
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-22 19:29:46 +02:00
Thomas Citharel
cb4a801519
Small fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-20 17:10:34 +02:00
Thomas Citharel
d98e68203e
Handle sending mail more properly
...
With custom sentry reporting issues
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-20 15:02:24 +02:00
Thomas Citharel
fb614cf877
Handle AP fetch issues properly
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:51 +02:00
Thomas Citharel
cbf772f282
Add a check for valid URI before fetching it in AP Client
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:50 +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
bd53bfc46b
Fix usage of is_bitstring instead of is_binary
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-08 16:41:49 +02:00
Thomas Citharel
fa99c09c57
Use tasks to process refreshing elements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-08 10:39:01 +02:00
Thomas Citharel
076c14b54e
Don't auto-approve instance follows
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-30 09:12:53 +02:00
Thomas Citharel
e6189390ac
Fix creating discussion with title containing only spaces
...
Also sanitize first comment
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-24 15:47:03 +01:00
Thomas Citharel
6fe22ac6ed
Handle ActivityPub Fetcher returning text that's not JSON
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-16 16:50:43 +01:00
Thomas Citharel
1f926902aa
Add comments under events to activities
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-10 17:40:55 +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
03824b898c
Get membership status only for the current group
...
Closes #575
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-05 11:23:17 +01:00
Thomas Citharel
e70b21ae79
Only refresh groups that need updating
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-02 14:48:59 +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
177341b491
Fix events & posts not being sent to group followers
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-04 16:48:42 +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
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
Cédric Van Rompay
08df0be1b7
update location of litepub JSON-LD context
...
previous URL returns "HTTP 301 Moved Permanently"
2020-12-19 13:38:04 +01:00
Thomas Citharel
f7d064c022
Handle Hubzilla posts better
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-17 17:32:12 +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
06050c9cd6
Fix leftover
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-01 17:42:07 +01:00
Thomas Citharel
6d8710f0fe
Send the membership emails in the correct language
...
And send them as well if the member is on the same instance 🙈
Close #472
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-01 10:21:07 +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
19c9cf5e16
Fix refreshing groups
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-20 11:44:00 +01:00
Thomas Citharel
44559a71ee
Remove duplicate @doc blocs
...
Elixir 11 notifies this a lot
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-06 15:48:05 +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
Thomas Citharel
6cda3c0a94
Don't allow remote comments to be inserted if parent event doesn't allow it
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 10:49:58 +01:00
prichier
751b72a434
Fix Mix.env use in prod app & MR threads
2020-10-31 02:42:06 +01:00
Thomas Citharel
19b0f4fc91
Merge branch 'vpzomtrrfrt/mobilizon-port-support' into 'master'
...
Check port in compare_urls
See merge request framasoft/mobilizon!651
2020-10-26 10:01:31 +01:00
Colin Reeder
1cf59ef24a
Check port in compare_urls
2020-10-26 09:33:20 +01:00
Colin Reeder
32629a8d4b
Fix is_public? for non-lists
2020-10-25 12:17:31 -06:00
Thomas Citharel
e29704a928
Add task to refresh an instance relay
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-21 11:02:28 +02:00
Thomas Citharel
23dcb47ce5
Make sure only group moderators can update/delete events, posts
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:17 +02:00
Thomas Citharel
fc1d392211
Couple of fixes for groups
...
- Fix posts update federation and add tests
- Fix posts deletion federation and add tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:44:04 +02:00
Thomas Citharel
05e5fc35d5
Improve profile registration
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-06 12:35:45 +02:00
Thomas Citharel
36cdcaa864
Send all event reminder notifications
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-30 10:45:01 +02:00
Thomas Citharel
49a5725da3
Improve and activate groups
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-29 10:25:00 +02:00
Thomas Citharel
aed2dadb35
Merge branch 'patch-1' into 'master'
...
add debut statement to create activity
See merge request framasoft/mobilizon!563
2020-09-21 11:53:55 +02:00
Thomas Citharel
b0e8a32d2a
Improvements to group page
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-21 11:18:49 +02:00
setop
31a2ede77f
add debut statement to create activity
2020-09-12 00:42:35 +02:00
Thomas Citharel
489fd74545
Allow to refresh instance outbox when they accept subscription
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 10:57:18 +02:00
Thomas Citharel
c011a988a8
Fix relay outbox endpoint
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 10:50:22 +02:00
Thomas Citharel
1984f71cbf
Add group admin profiles
...
And other fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-27 12:12:54 +02:00
Thomas Citharel
4782221ef4
Allow to update a member role
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-20 10:54:58 +02:00
Thomas Citharel
156eba0551
Improve member adding and excluding flow
...
Allow to exclude a member
Send emails to the member when it's excluded
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-18 14:37:31 +02:00
Thomas Citharel
c09deb5bc6
Fix remote group visibility and use Mastodon's discoverable attribute
...
Make sure actor visibility is :public or :unlisted
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-12 10:45:48 +02:00
Thomas Citharel
3807ab1b63
Allow events to be searched by location and period
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:18 +02:00
Thomas Citharel
74031892c5
Fix a line no longer used
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-31 11:08:29 +02:00
Thomas Citharel
2eda4eca3e
Merge branch 'fix-accepting-follows' into 'master'
...
Fix accepting follows
See merge request framasoft/mobilizon!518
2020-07-31 10:00:18 +02:00
Thomas Citharel
d268a16c4f
Fix trying to create signatures for remote actors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-31 09:21:10 +02:00
Thomas Citharel
b9cdd2f02f
Prevent upserting local actor
...
By comparing it's URI
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-31 09:01:27 +02:00
Thomas Citharel
9c9f1385fb
Introduce group posts
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-30 16:55:35 +02:00
Thomas Citharel
e0fad9ddd1
Update Instance Actor when updating instance settings
...
Also fix an issue when publishing activities to followers/group members
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-07 16:55:59 +02:00
Thomas Citharel
83aa005faf
Drop HTMLSanitizeEx and fix title sanitizing
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-24 16:37:00 +02:00
Thomas Citharel
47297127a2
Improve comment section
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 16:50:01 +02:00
Thomas Citharel
5990633fb9
Use ActivityPub.get_or_fetch_actor_by_url/2 instead of
...
directly Actors.get_actor_by_url
So that we can refresh actors when they're stale
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 11:45:58 +02:00
Thomas Citharel
beb35a09c6
Introduce basic user and profile management
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-12 19:16:40 +02:00
Thomas Citharel
2e64da11e3
Merge branch 'fix-online-address' into 'master'
...
Fix online address validation
See merge request framasoft/mobilizon!450
2020-06-09 11:27:45 +02:00
Thomas Citharel
2634c7f46b
Fix online address validation
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 11:13:22 +02:00
Thomas Citharel
39ae24edb8
Fix activitypub HTTPoison issue
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 10:40:20 +02:00
Thomas Citharel
3e74f59ee8
Send Notifications when participation approval
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-08 13:59:27 +02:00
Thomas Citharel
c56e299a09
Validate number of places being a positive integer
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-05 11:38:49 +02:00
Thomas Citharel
42f07c17e5
Disable mix docs for now
...
Because of https://github.com/elixir-lang/ex_doc/issues/1172
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-04 10:58:27 +02:00
Thomas Citharel
4144e9ffd0
Introduce group basic federation, event new page and notifications
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-03 16:01:26 +02:00
Thomas Citharel
c732ec7f87
Add ability to add message for participation and improve participation
...
management interface
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-03-06 09:00:48 +01:00
Thomas Citharel
39b7afd1cd
Blind key rotation and stale duration for profiles
...
See https://blog.dereferenced.org/the-case-for-blind-key-rotation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-14 18:21:18 +01:00
Thomas Citharel
18c8b7bc14
Fix event online URL AP attachment
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-07 18:41:36 +01:00
Thomas Citharel
9e3df495dc
Move configuration to traditional way
...
⭐ ️ This is the way.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-06 16:12:13 +01:00
Thomas Citharel
2ed9050a90
Add anonymous and remote participations
2020-01-29 17:28:11 +01:00
rustra
3505736705
Fix Credo code readability issues
2020-01-28 20:15:59 +01:00
rustra
97651e88e9
Implement Credo software design suggestions
2020-01-28 19:18:33 +01:00
rustra
8856cc2f55
Rename MobilizonWeb to Mobilizon.Web
2020-01-26 21:39:49 +01:00
rustra
b3f8d52bc9
Move API under GraphQL context
2020-01-26 21:15:04 +01:00
rustra
3577fe42e1
Improve Federation boundaries
2020-01-24 22:02:10 +01:00
rustra
8ca5c0b320
Separate Web modules related to Federation
2020-01-23 01:03:33 +01:00
rustra
d1251280c5
Put HTTPSignatures, WebFinger and ActivityStream alongside with ActivityPub
2020-01-22 22:40:40 +01:00
rustra
cdb520a95b
Split Federation as separate context
2020-01-22 02:14:42 +01:00