Commit graph

1408 commits

Author SHA1 Message Date
Thomas Citharel fa25ffbc83
Add some typespecs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-29 19:12:33 +02:00
Thomas Citharel c924975d40
Fix a typespec issue
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-29 18:22:47 +02:00
Thomas Citharel c5624ae33d
Fix an issue when leaving a group
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-29 18:22:32 +02:00
Thomas Citharel b5d9b82bdd
Refactor Mobilizon.Federation.ActivityPub and add typespecs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-29 16:31:11 +02:00
Thomas Citharel 41f086e2c9
Spec improvements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-27 09:42:12 +02:00
Thomas Citharel 55e7696230
Absinthe middleware actor provider
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-27 09:42:11 +02:00
Thomas Citharel 1893d9f55b
Various refactoring and typespec improvements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:24 +02:00
Thomas Citharel 75e254d8b4
Actor suspension refactoring
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:23 +02:00
Thomas Citharel e9fecc4d24
Disable support for e2e tests for now
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:22 +02:00
Thomas Citharel 28a2efc6eb
Add request context to Sentry
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:22 +02:00
Thomas Citharel acbe0e6c59
Fix rendering metadata from deleted (empty) comments
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:22 +02:00
Thomas Citharel e9e12500dc
Fix tags autocomplete
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:21 +02:00
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 c2c3014c2b
Show a default text for contact in default terms text when no contact is
filled

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-07 17:41:27 +02:00
Thomas Citharel cc197d7638
Fix federating geo coordinates
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-06 12:46:29 +02:00
Thomas Citharel 24ff99ffaf
Search should return only groups, don't show user profiles
Closes #845

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-23 11:17:32 +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
Thomas Citharel 7c9b76765f
Cleanup
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-20 18:00:21 +02:00
Thomas Citharel 46bfa2c422
Add a default timezone if user's timezone is set to null
Closes #746

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-20 16:54:34 +02:00
Thomas Citharel a3d02184f0
Fix sitemap creation on Docker
Docker is installed at root but priv/ lies in lib/mobilizon-x/
We can use Application.app_dir(:mobilizon, "priv/static") to get the
correct path

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-19 15:23:33 +02:00
Thomas Citharel de102755f8
Add sane limits to feeds
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-16 16:23:13 +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 34e2c4f310
Fix geocoordinates mixmatch
Closes #828

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-16 10:23:16 +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 4df1eab2b2
Fix GraphiQL in prod as well
Closes #708

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-12 16:21:42 +02:00
Thomas Citharel 53a3dc6fab
Extract blurhash into it's own filter
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-12 10:30:56 +02:00
Thomas Citharel 70bb3f3dd7
Put updated sizes in the upload when resizing
Closes #823

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-12 10:10:45 +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 0cb43515bc
Fix language and redirection issues when connecting from 3rd-party
Closes #626

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-09 19:29:15 +02:00
Thomas Citharel 5f3d1f89df
Allow to add metadata to an event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-09 16:16:14 +02:00
Thomas Citharel 33bf8334fe
Allow all rel values for event & post links in descriptions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-09 14:26:19 +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 f3a05929d9
Allow members-restricted posts to be viewable by instance moderators
But add a warning message on top of the post

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 d0ff547417
Fix a typo in a with clause in Upload module
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-03 18:47:28 +02:00
Thomas Citharel bd71dd6cf1
Handle SSL being already started in LDAP connection
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-03 14:58:06 +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 056146a566
Translate two backend errors from password change
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-02 19:31:16 +02:00
Thomas Citharel 8c480af4bd
Upgrade deps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-02 18:11:22 +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 630de6fee9
Add Actors.get_single_group_moderator_actor/1 and refactor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-02 11:45:49 +02:00
Thomas Citharel c788c020db
Fix updating event organizer actor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-02 11:45:49 +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 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 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 6066a44ae8
Change can_be_managed_by/2 to can_be_managed_by?/2
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:20 +02:00
Thomas Citharel 505b16611b
Fix event local detection
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:20 +02:00
Thomas Citharel 8b2ddbda2b
Fix whether group draft events should federate or not
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 867e88481d
Fix getting visibility from AP Post
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:17 +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 cc33ee7ada Merge branch 'fix-unattached-media-cleanup' into 'master'
Refactor the query to detect unattached media

See merge request framasoft/mobilizon!996
2021-07-22 14:40:03 +00: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 db1649ded8
Refactor the query to detect unattached media
The previous one was going 💥 in production

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-21 19:44:13 +02:00
Thomas Citharel c6098b33e3 Merge branch 'event-description-new-tabs' into 'master'
Add target to allowed attributes on <a> links so that links open in new tabs

Closes #786

See merge request framasoft/mobilizon!988
2021-07-21 09:30:49 +00:00
Thomas Citharel a31e97110b Merge branch 'rootwork-master-patch-42184' into 'master'
Correct link in password reset email, from demo site forum to Mobilizon forum

Closes #779

See merge request framasoft/mobilizon!981
2021-07-21 09:03:26 +00:00
Ivan Boothe 3f0e189a04 Correct link in password reset email, from demo site forum to Mobilizon forum 2021-07-21 09:03:26 +00:00
Thomas Citharel d7bcfd5be6
Add target to allowed attributes on <a> links so that links open in new
tabs

Closes #786

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-21 10:34:07 +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 69e3db1e9b
Fix push notifications for group, members & post activities
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-30 12:16:06 +02:00
Thomas Citharel f5aa7ffa74
Fix crash when trying to notify activities not from groups
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-30 10:13:57 +02:00
Thomas Citharel 57b71cb85a
Fix typo in user.modify task help text
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-28 17:23:17 +02:00
Thomas Citharel b782ca6527
Replace GraphiQL with graphql-playground
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-28 12:07:43 +02:00
Thomas Citharel bac2d3188c
Fix GraphiQL CSP headers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-28 11:57:11 +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 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 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 93297931bb
Disable Cldr warning that it didn't match any language
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-27 13:16:17 +02:00
Thomas Citharel b1eeebe05a
Default to UTC when no timezone in user settings in recaps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-26 17:52:07 +02:00
Thomas Citharel 2ec7457783
Handle actor being something else than Group or Person when deleting it
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-26 17:22:34 +02:00
Thomas Citharel 0ca6997f7f
Add a task to generate web_push key pairs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-26 16:09:03 +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 6c6ae7c712
Fix resource preview crash when resource has no image_remote_url
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-22 17:13:04 +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 691d71d9f7
Decode URI sent in notification payloads
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-17 16:19:35 +02:00
Thomas Citharel 3c2dfba880
Add .ics to the event files names attached to email
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-16 17:42:50 +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 33838974c5
Improve resources display on mobile
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-14 15:13:08 +02:00
Thomas Citharel 24b94d1860
Add pagination to resources
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-14 15:12:38 +02:00
Thomas Citharel 19792abd41
Better handling of bad host-meta responses
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-10 15:18:12 +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 95913ba28b
Handle crypto for different OTP versions better in media proxy
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-07 16:39:14 +02:00
Thomas Citharel 005f7e20ca
Remove compile-time dependencies for some config values
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-07 10:24:57 +02:00
Thomas Citharel 8298f50b3d
Fix metadata injection in html
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-06 20:25:16 +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 d3164899f3
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:26 +02:00
Thomas Citharel c0ab3d9905
Fix credo warnings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:25 +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 58bffc5c66
WIP notification settings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:25 +02:00
Thomas Citharel 6adbbc6a1d
Handle accessing ws socket without auth
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:25 +02:00
Thomas Citharel 15b3940262
Revoke old refresh token when doing a refresh token rotation
See
https://auth0.com/blog/securing-single-page-applications-with-refresh-token-rotation/
for details for instance

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:24 +02:00
Thomas Citharel a7da5ab269
Improve JWT tokens expiration
- Reduce access tokens TTL to 15 minutes
- Set refresh tokens TTL to 60 days
- Set Guardian.DB to only track refresh tokens
- Remove refresh token when logging out

Closes #710 #705 #706

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:22 +02:00
Thomas Citharel 6cf6e47ec7
Only show errors in tasks
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:21 +02:00
Thomas Citharel c9700906f5
Paginate the list of conversations
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:20 +02:00
Thomas Citharel bab751591f
Make sure we have a valid timezone
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:19 +02:00
Thomas Citharel 679600f003
Comment fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:18 +02:00
Thomas Citharel b5a5de5c0c
Event edit and participant fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:18 +02:00
Thomas Citharel 80f951680f
Order actor organized events by begins_on
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:17 +02:00
Thomas Citharel 4ad67e1efc
Fix an issue when deleting an actor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:17 +02:00
Thomas Citharel bfb04bb84d
Make deleting an actor ignoring error when deleting files
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:16 +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 8c53ea442f
Make List report returns a paginated list
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:16 +02:00
Thomas Citharel 74778925e0
Refactor accessing person details resolver
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:15 +02:00
Thomas Citharel 628c55cd84
Make sure relay and anonymous actors don't automatically approve
followers

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:14 +02:00
Thomas Citharel 938f698b7a
Add webpush front-end support
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:12 +02:00
Thomas Citharel 9f5e3a39ec
Add Push notifications backend support
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:32:06 +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 df4b947c25
Fix removed call to :crypto.hmac/3
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-05-18 17:56:50 +02:00
Thomas Citharel a56f28f98e
Make koena connect picture configurable
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-05-18 17:56:49 +02:00
Thomas Citharel 5b36e71581
Fix rich media parsers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-05-03 15:34:25 +02:00
Thomas Citharel 46120b16b6
Fix merging URIs for media from url when doing a rich media preview
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-05-03 14:57:30 +02:00
Thomas Citharel 5afdd80c71
Fix searching for persons
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-05-02 19:27:34 +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 4a1e9ce713
Add constraint on the comment url
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-29 10:23:46 +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 b13d4d253e
Increase tag allowed size
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-28 18:18:42 +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 70ca2d68a6
Improve some translations
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-28 16:16:46 +02:00
Thomas Citharel 1dc20889da
Fix missing deleted comment moderation logaction
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-28 11:59:15 +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 c58e54d5b9
Add Group as a possible ActionLog object
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-27 16:51:28 +02:00
Thomas Citharel 493808a3c8
Reset default actor id for an user when a profile is deleted
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-27 12:02:56 +02:00
Thomas Citharel c39f83fa9a
Cleanup warnings
Came in 8185fcd0bd

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-27 09:13:45 +02:00
Thomas Citharel 6d99b04a7a
Fix email headers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-27 09:06:28 +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 687d1685f0
Fix metadata remote image URL
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-23 09:57:23 +02:00
Thomas Citharel 2d0abaad4a
Handle rendering AP issues
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-23 09:26:16 +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 87aeac6aea
Remove duplicate text in emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-23 09:16:20 +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 17a6a6eada
Add an unique index on addresses url
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-22 19:29:46 +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 fc5adedf0b
Handle 406 Not acceptable when asking for JSON on an AP entity better
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-21 11:36:32 +02:00
Thomas Citharel eb2050a997
Handle errors from comment changeset as well when creating discussions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-21 09:09:34 +02:00
Thomas Citharel 6ad4e33fab
Suspended actors don't need refreshing
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-20 17:10:34 +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 6668a663a7
Add user context to Sentry
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-20 15:07:57 +02:00
Thomas Citharel 118175db3e
Link Sentry to telemetry
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-20 15:07:38 +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 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 16d192db24
Trim addresses when exporting them
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-19 12:41:40 +02:00
Thomas Citharel 3df80b96aa
Expose instance wide Atom feed in the HTML if enabled
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-19 12:41:19 +02:00
Thomas Citharel bcf52ccdf7
Expose instance feed config option in the API and show it on About page
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-19 12:40:51 +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 489787ceb5
Avoid showing suspended broken UI for suspended/deleted groups
Don't return them if they're suspended

Closes #655

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-16 18:36:52 +02:00
Thomas Citharel 53fd77f5da
Fixes discussions being sent to followers instead of members
Closes #681

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-16 16:01:10 +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 947d0b0cdb
Handle maximum file sizes better
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:52 +02:00
Thomas Citharel 0210b677c5
Expose maximum picture sizes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:52 +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 4079af6f72
Make sure arg for Actors.get_actor_by_name/2 doesn't start with @
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:50 +02:00
Thomas Citharel bbfe3de471
Handle NotAcceptableError better
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:50 +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 5ac02bae5d
Use runtime configuration for HTTP clients user-agent
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:49 +02:00
Thomas Citharel e991d7d373
Fix content type and size missing for profile avatars
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:49 +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 00c8be4d8c
Fix an issue with default bot type value
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-08 10:39:02 +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 386dbbb3a6
Fix path issue when fetching favicon for resources
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-08 10:39:01 +02:00
Thomas Citharel 356f69cef2
Fix accessing a discussion without being a member
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-08 09:54:22 +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 8e6aa8c85c
Decode HTML entities when sanitized
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-30 09:12:53 +02:00
Thomas Citharel acf51a3130
Fix issues when group isn't local
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-29 18:23:03 +02:00
Thomas Citharel 4d4ee80b8c
Handle feeds with unknown formats properly
Closes #660

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-29 18:22:14 +02:00
Thomas Citharel 13c8080097
Allow to create an event from a group preconfigured with the organizer
Refactored the organizer-picker components a lot

Close #464

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-29 10:33:19 +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 968a965763
Handle empty comments
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-25 12:11:49 +01:00
Thomas Citharel b95b3c16e7
Handle getting organized events from an actor when not authorized
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-25 10:46:45 +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 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 48f52ba4fd
Handle duplicate usernames correctly
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-24 11:38:31 +01:00
Thomas Citharel 98a219c7a9
Validate URIs before trying to proxify them
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-24 11:17:24 +01:00
Thomas Citharel 7b9910f251
Resources fixes and improvements
- Fix getting page description
- Fix fetching metadata from Twitter (thx @marienfressinaud)
- Improve error handling

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-24 11:07:00 +01:00
Thomas Citharel 50c89e21da
Make sure default publish date doesn't override the current one
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-23 19:29:22 +01:00
Thomas Citharel b002d905cb
Handle calling .well-known/host-meta with "application/xrd+xml" accept
header

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-23 19:28:19 +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 cfa94851fa
Fix close events order
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-18 09:58:53 +01:00
Thomas Citharel 4ff00e92b6
Fix lasts events published order on the homepage
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-16 19:08:00 +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 35e641bcff
Fix geospatial runtime configuration
Geospatial configuration was only evaluated at compile-time, not at
runtime

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-16 15:33:44 +01:00
Thomas Citharel c09a43f71e
Get front-end index path at runtime instead of compile-time
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-16 11:08:04 +01:00
Thomas Citharel 239457a219
Releases fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-15 10:34:03 +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 57662aa690
Improve Backend Error page
Mostly handle things properly when the front-end is missing

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-09 19:39:54 +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 aa2c79d312
Fixes for Bamboo 2.0
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-09 14:33: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 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 bc99e48f06
Add tests for discussion
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-04 11:43:35 +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 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 15eae2b070
Fix editing a group discussion
Make sure media is preloaded

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-26 14:04:10 +01:00
Thomas Citharel 8508558945
Allow every origin for connect-src because of Webfinger
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-26 11:44:27 +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 b1cc3868a6
Add user setting to provide location and show events near location on
homepage

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-12 19:10:22 +01:00
Thomas Citharel 4d7203a1d2
Disable Sentry in test mode
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-10 14:39:23 +01:00
Thomas Citharel 496debd6f3
Change everything for releases
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-10 14:39:09 +01:00
Thomas Citharel ad74234ab4
Upgrade to use latest Sentry
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-05 15:19:16 +01:00
Thomas Citharel 882661e22c
Clean some unused config key
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-05 15:19:15 +01:00
Thomas Citharel 48e5ad89e7
Merge branch 'stable-1.0.x' 2021-02-04 17:20:59 +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 0db39af37e
Fix default value for post visibility
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-04 12:29:34 +01:00
Thomas Citharel 88707ff729
Add Sentry
We use Sentry 7.x for now because Sentry 8.0 requires Elixir 1.10

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-27 17:06:09 +01:00
Thomas Citharel ba3e9fbaec
Fix search event query
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-26 20:13:52 +01:00
Thomas Citharel e933004daf
Fix CSP issues in production
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-26 17:00:15 +01:00
Thomas Citharel 0ac12a0a29
Proxify resource metadata pictures
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-26 12:15:53 +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 e0e46a81e3
Refactor CSP config by using Pleroma's HTTPSecurityPlug
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-25 18:06:49 +01:00
Thomas Citharel 3b78cffb17
Hide event group organizers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-25 12:00:06 +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 7b91367145
Some sobelow fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-22 23:24:51 +01:00
Thomas Citharel 21698f754d
Change some String.to_atom/1 to String.to_existing_atom/1
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-22 19:44:59 +01:00
Thomas Citharel b7915a6467
Add some CSP headers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-22 19:44:59 +01:00
Thomas Citharel f0141c97e8
Refactor rich media parsers to restrict the allowed properties
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-22 19:44:59 +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 ba5c3c53ce
Improve Discussion docs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-18 12:09:40 +01:00
Thomas Citharel a5416aae5c
Fix federation notification text email template
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-14 15:06:48 +01:00
Thomas Citharel 7f7bf025e7
Fix leftovers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-14 11:52:37 +01:00
Thomas Citharel eb72248e16
Revert "fix search results sorted by id instead of by begins_on"
This reverts commit a133612d9f.
2021-01-14 11:39:01 +01:00
Thomas Citharel 5d8ad897fd
Fix collection next attribute and add prev attribute
Closes #546

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-12 17:12:38 +01:00
setop a133612d9f fix search results sorted by id instead of by begins_on 2021-01-12 10:28:20 +01:00
Thomas Citharel 7657cadbbd
Sort group events by asc: begins_on
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-11 18:21:38 +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
setop 3f856daf41 add "hr"to allowed tags in HTML
because it doesn't hurt and it is useful in event description and all other HTML content
2021-01-10 00:01:57 +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 766b452640
Filter out cancelled events on homepage
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-18 16:48:04 +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 3635967439
Fix posts AP endpoint
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-17 17:32:59 +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 5e7bcc44df
Fix events query
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-17 16:57:55 +01:00
Thomas Citharel f9e14c3a93
Fix events being not distinct
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-17 16:52:57 +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 da564078b3
Add a missing option to a command comment
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-17 15:25:43 +01:00
ty kayn 5c57f1ce3c if an event has geo coordinates, add links to routing on OSM, with correct place and zoom of 14, 3 buttons to get routig as car, bike, and by feet.
Signed-off-by: Baptiste Lemoine <contact@cipherbliss.com>
2020-12-17 11:26:25 +01:00
Thomas Citharel d1472d94de
Expose posts media through AP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-16 09:54:56 +01:00
Thomas Citharel 4e7ab231ad
Allow data-media-id attribute in img tags
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-16 09:54:09 +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 848c18470c
Handle doing a paginated query on ordered_by results
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-09 19:55:45 +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 d35ccff5a1
Add tests for participation without account
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-07 15:55:49 +01:00
Thomas Citharel 0541fb0ada
Allow event's attributedTo to use the Dataloader
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-01 17:42:07 +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 d6d9309784
[LDAP] Allow to filter users by memberOf
Closes #528

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-01 09:16:41 +01:00
Thomas Citharel 0f5941a046
[LDAP] Allow to bind to an admin with a different FQDN
By directly providing the full DN

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-01 09:16:28 +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 207d5c0eb0
Use better upstream deps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-30 12:48:23 +01:00
Thomas Citharel b05f0fe3e6
simplify user resolver errors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-30 12:48:22 +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 d041d274e0
Fix leftover from Picture -> Media rename
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-27 17:20:21 +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 6a1cd42d2c
Add backend to list an user's pictures
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 68a4222a18
Add missing leftover documentation for GraphQL schema
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-20 15:24:04 +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 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 15a82c7bce
[Metadata] Fix actors not sanitizing their description and refactor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-17 15:45:08 +01:00
Thomas Citharel a115b49b4c
Only load all locales in prod mode
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-17 15:42:03 +01:00
Thomas Citharel fdc8536c6f
Use user timezone in emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-17 09:36:32 +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 dbdb2bcdab
Use DateTime.utc_now/0 instead of Timex.local/0
Timex.local/0 requires the TZ environment variable to be set

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-14 19:07:19 +01:00
Thomas Citharel 782c01e85d
Fix email missing headers
Close #426 #491

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-13 18:00:05 +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 7baad7cafc
Load only a few locales in dev environment
No need to load everything

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-06 12:03:20 +01:00
Thomas Citharel 78e3bcb2f8
Add proper error message when accessing followers/followings w/ auth
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 18:11:27 +01:00
Thomas Citharel c5e7abe3d4
Make sure we have only one relay actor
Close #427

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 18:10:56 +01:00
Thomas Citharel 9540a486ec
Fix About page crashing when instance language is not supported
Use the languages defined by CLDR on server instead, and fallback to
english if not defined

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 12:12:55 +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
Thomas Citharel 01f746a5d2 Allow to use Mix tasks inside Releases
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-31 02:42:06 +01:00
Thomas Citharel a269d77044 Fix pictures not being served by Plug.Static
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-31 02:42:06 +01:00
prichier 751b72a434 Fix Mix.env use in prod app & MR threads 2020-10-31 02:42:06 +01:00
prichier 1acff2dd8a Mutli-stage build for production 2020-10-31 02:42:06 +01:00
Thomas Citharel 67b906cc96
Fix language change
- Load the language files correctly when language is changed
- Save user language in localstorage so that we can have it even if disconnected (but still load it from user settings eventually since
user might be on a different device)
- Load all locales from Cldr with Gettext
- Fix pt-PT -> pt-BR
- Clean some obsolete config.exs comments

Later changes will allow to set the language without an account
https://framagit.org/framasoft/mobilizon/-/issues/375

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-28 19:57:57 +01:00
Thomas Citharel bad8c779f8
Update demo mode to remove references to beta
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-28 11:41:39 +01:00
vincent debierre 07a69b78cf
Remove warning and reference to beta version status in text email format 2020-10-28 11:36:42 +01:00
Thomas Citharel 4e79d6a042
Fix detecting file MIME type if file hasn't got a name
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-27 16:32:34 +01:00
Thomas Citharel 6678e8f9eb Merge branch 'improve-local-upload' into 'master'
Improve local uploader

See merge request framasoft/mobilizon!653
2020-10-26 12:01:24 +01:00
Thomas Citharel 37402ece68
Improve local uploader
Check that destination file is not here and temporary file is still here

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-26 11:42:29 +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
Thomas Citharel 974620b3b3 Merge branch 'upload-and-avatar-improvements' into 'master'
Upload and avatar improvements

See merge request framasoft/mobilizon!646
2020-10-26 09:00:08 +01:00
Colin Reeder 32629a8d4b Fix is_public? for non-lists 2020-10-25 12:17:31 -06:00
Thomas Citharel 4a11d4adcc
Add more tests to upload filters
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-25 12:00:00 +01:00
Thomas Citharel ce7b8e05a1
Fallback GitStatus version code to mix env value
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-23 18:55:47 +02:00
Thomas Citharel a709a196bd
Fix list group elements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-22 18:06:02 +02:00
Thomas Citharel 2c42cf2735
Fix listing event groups
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-22 16:59:04 +02:00
Thomas Citharel d8185660e3
When filter on public group events, exclude draft events as well
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-22 16:58:18 +02:00
Thomas Citharel fa7cd7e0e3
New unlogged homepage
With fancy illustrations 

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-21 17:49:18 +02:00
Thomas Citharel afc9febf0b Merge branch 'docs-email' into 'master'
Docs email

See merge request framasoft/mobilizon!627
2020-10-21 11:38:13 +02:00
Thomas Citharel 85aa9df4f8
Fix webfinger not following redirections by using a custom dedicated Tesla client
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-21 11:20:15 +02: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 b94bf2ad87
Fix a credo issue
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 10:06:58 +02:00
Thomas Citharel 2b3d1d7f79
Fix issue with hostname validation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:19 +02:00
Thomas Citharel 2ad043a91d
Fix OEmbed preview parser
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:18 +02:00
Thomas Citharel efd95044c2
Use a RichMediaPreviewClient to get details on resources
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:18 +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 0c4a7e0216
Fix listing group public events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:44:03 +02:00
Thomas Citharel 6f5d535b86
Fix finding local actor by username with domain
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 17:19:22 +02:00
Thomas Citharel 479bd466b5
Improve debug logger message in webfinger module
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 17:19:15 +02:00
Thomas Citharel 8c9546ff2a
Improve member management
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 14:24:51 +02:00
Thomas Citharel f6480cb37e
Improve dashboard
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 11:04:05 +02:00
Thomas Citharel 2fc08dfc5c
Remove outdated string in install assistant
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-14 18:56:23 +02:00
Thomas Citharel 9573e417d9
Fix email template without variables
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-14 11:45:32 +02:00
Thomas Citharel cf9b8d5f46
Fix events from former followed instances showing up
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-14 11:45:32 +02:00
Thomas Citharel 86e1e84247
Use datetime with TZ for posts timestamps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-14 09:46:33 +02:00
Thomas Citharel bba9e6bf59
Fix tests with user tasks
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:53:18 +02:00
Thomas Citharel 71476ee587
Don't sent reset email when user is disabled
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:21:00 +02:00
Thomas Citharel 53c4f5dfde
Show user disabled status in mix task
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:20:30 +02:00
Thomas Citharel edfcacf5ac
Fix a typo in create_bot task
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:20:07 +02:00
Thomas Citharel 3c6916360d
Completely delete user when user request self destruction
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:10:27 +02:00
Thomas Citharel 8035fb743d
Don't count deactivated users in statistics
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 14:39:05 +02:00
Thomas Citharel 1a3a3602d1
Change CLI delete user task to completly delete user by default
And document the new option

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 14:36:55 +02:00
Thomas Citharel cd5418825b
Make sure a person profile page returns 404
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-12 13:38:25 +02:00
Thomas Citharel dad9623482
Make sure only proper pictures are uploaded
Closes #384

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 19:29:12 +02:00
Thomas Citharel c296381ed6
[Security] Fix events being editable by other users that organizers
Closes #385

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 18:12:35 +02:00
Thomas Citharel 24238da393
Fix a typo in the path to picture on error template
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 17:07:10 +02:00
Thomas Citharel 75fc1f125a
Show a proper error message on creating/updating an event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 16:09:45 +02:00
Thomas Citharel 9430f1145f
Fix profiles not administrators able to edit a group
Related to #385

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 16:09:44 +02:00
Thomas Citharel 07a5d10421
Introduce support for custom nginx error pages
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 14:48:49 +02:00
Thomas Citharel ed4042ed1e
Fix injecting metadata into HTML pages
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-08 10:41:30 +02:00
Thomas Citharel f4b777c3d6
Make sure event update notification email gets sent to anonymous
participants

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-08 08:53:25 +02:00
Thomas Citharel 9f9f58ce7d
Improve event update notification email
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-08 08:53:07 +02:00
Thomas Citharel fbb1b2d607
Handle case when setting value is nil
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-08 08:19:59 +02:00
Thomas Citharel 77970b8091
Improve anonymous participation and confirmation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 17:05:15 +02:00
Thomas Citharel 9382e8fc74
Improve participation rejection email by adding bold
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 16:39:33 +02:00
Thomas Citharel 3a84e6dfa5
Improve anonymous participation confirmation email by adding bold
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 16:39:32 +02:00
Thomas Citharel 586d8c440d
Add languages to admin settings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 16:38:24 +02:00
Thomas Citharel 02eac30c9b
Expose more statistics
* differenciate local & all events/comments/groups
* add instance follows/followings

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 10:52:29 +02:00
Thomas Citharel 27a75cd0df
Improve some texts on account registration and email notification
settings

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-06 15:36:19 +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 8eca9d9702
Make sure only organizer actor can comment if event comments are
disabled

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-05 17:42:53 +02:00
Thomas Citharel 8ba23c858b
Fix issues in email change emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-05 14:46:08 +02:00
Thomas Citharel a576d41b24
Fix typo in atom name
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-05 14:45:58 +02:00
Thomas Citharel afb7d75307
Fix invitations
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 16:19:31 +02:00
Thomas Citharel 4896036cd1
Make sure event and group search only return the correct type
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 16:19:30 +02:00
Thomas Citharel d41aa3b2fd
Disallow accessing identity page when logged in
And disallow calls to fetchPerson when not our own profile or unlogged

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 09:53:32 +02:00
Thomas Citharel beba4a16ea
Fix anonymous call to profile endpoint
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-01 19:10:18 +02:00
Thomas Citharel e068326c4b
Fix duplicate events on homepage
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-01 17:51:07 +02:00
Thomas Citharel aced4d039b
Fix posts and rework graphql errors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-01 15:07:15 +02:00
Thomas Citharel 92367a5f33
Allow to report a group
And multiple group tweaks

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-30 15:26:58 +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 dc8faa12bd
Sent notification that the event participation has been confirmed when
anonymous

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-30 10:44:01 +02:00
Thomas Citharel a600720062
Add local groups as statistics
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-30 10:42:19 +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
setop bd3087d121
Fix geospatial clients
add json plus to base client and rename to geospacial client
geospatial http client with json plug
2020-09-21 14:46:07 +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 69faeec14c
Allow to disable event creation
And change the group toggle

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 15:08:47 +02:00
Thomas Citharel 952e592e2c
Show group address in group metadata
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 10:57:19 +02:00
Thomas Citharel 93728cb9d7
Add a noindex HTTP header on unlisted resources
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 10:57:18 +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 aa7d919c98
Show user connection IP and date in admin
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-31 16:57:13 +02:00
Thomas Citharel 5f0497144a
Improve texts
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-31 14:25:21 +02:00
Thomas Citharel 45fa3e8ad0
Add login information to user
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-28 09:23:49 +02:00
Thomas Citharel 7c0b813dce
Fix getting remote IP behind reverse proxy
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-27 15:54:43 +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 bdb4350624
Add an authenticated fetch route for members
If the member is remote, it redirects to original instance

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-19 11:29:02 +02:00
Thomas Citharel 6ae8de7560
Fix datetime unserialize on admin logs view
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-18 17:22:06 +02:00
Thomas Citharel 2ea6286d3f
Fix account suspension
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-18 17:21: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 3ca4291c9b
Remove the /events/explore route
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-12 17:55:38 +02:00
Thomas Citharel 1de802a36c Merge branch 'feature/sitemap' into 'master'
Introduce sitemap and upgrade oban

See merge request framasoft/mobilizon!538
2020-08-12 16:36:37 +02:00
Thomas Citharel 634c33c959
Add a mix task to generate a sitemap
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-12 16:35:46 +02:00
Thomas Citharel c56fb710b6
Introduce Sitemaps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-12 16:29:34 +02:00
Thomas Citharel 9a0068dfea
Upgrade oban to 2.0
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-12 16:06:09 +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 4fc1a984f9
Fix Tesla warning.
No need to implement get/post functions here

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-11 10:13:25 +02:00
Thomas Citharel 163b189d75 Merge branch 'change-wording-on-email-change' into 'master'
Fix some gettext issues with translations

See merge request framasoft/mobilizon!532
2020-08-10 18:39:34 +02:00
Thomas Citharel 7162c30153
Fix some gettext issues with translations
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 18:30:15 +02:00
Thomas Citharel e4e316b42b Merge branch 'change-wording-on-email-change' into 'master'
Change wording on email modification notification sentence

See merge request framasoft/mobilizon!531
2020-08-10 18:13:35 +02:00
Thomas Citharel 09c131c33b
Fix Schema.org SearchAction metadata
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 18:08:25 +02:00
Thomas Citharel 3263a84c51
Improve wording for emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 18:02:48 +02:00
Thomas Citharel 992e3af237
Add a VirtualLocation field to the event URL itself when location is not
defined

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 16:22:15 +02:00
Thomas Citharel 3c077c59ad
Allow to search groups by location
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:24 +02:00
Thomas Citharel b4f500532f
Allow to filter by begins_on and ends_on. Redirect explore to search
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:21 +02:00
Thomas Citharel 2198b2cb87
Allow to filter search by multiple tags
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:19 +02:00
Thomas Citharel 50666e5dd7
Fix AP Fetcher
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:19 +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 5a8745dc13 Merge branch 'patch-4' into 'master'
fix instance_name option for `mix mobilizon.instance gen`

Closes #368

See merge request framasoft/mobilizon!526
2020-08-10 14:39:51 +02:00
yalh 660eaf094c Adding listen-port option to mix mobilizon.instance gen 2020-08-04 21:46:17 +02:00
yalh b24b6fd61a Trying to fix https://framagit.org/framasoft/mobilizon/-/issues/368 2020-08-04 21:22:38 +02:00
Thomas Citharel 8b6c7aa207
Insert spaces before stripping HTML when inserting search data
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-31 11:19:42 +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 d4cde716d4
Fix redirections on WebFinger
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-30 17:57:20 +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 5fe829ae76 Merge branch 'fix-my-events-pagination' into 'master'
Fix scheduler for participation notifications

See merge request framasoft/mobilizon!510
2020-07-06 19:06:59 +02:00
Thomas Citharel c7ad21262c
Fix scheduler for participation notifications
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-06 18:55:58 +02:00
Thomas Citharel 69841cbb45
Fix 3rd-party auth issues
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-06 17:33:40 +02:00
Thomas Citharel 9a080c1f10
Introduce support for 3rd-party auth (OAuth2 & LDAP)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-06 15:42:59 +02:00
setop 2749b6b2d4
fix addok - country and region 2020-06-30 09:16:32 +02:00
Thomas Citharel b11674fc9e
Fix opengraph issue
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-26 14:42:40 +02:00
Thomas Citharel 39c03301c9
Allow to properly move group resources
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-26 11:48:05 +02:00
Marie-Cécile Godwin 1d03bff1fd Make this file match the "gettext" requests 2020-06-24 19:00:34 +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 378a113002
Scheduler fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-24 11:37:22 +02:00
Thomas Citharel 4f961f958d
More email fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-23 18:40:56 +02:00
Marie-Cécile Godwin 16ca2c115c
Text amendments to sound more native English, switch to MBZ latest colour scheme, switch to Roboto font. 2020-06-23 18:13:53 +02:00
Marie-Cécile Godwin fec8298d3d
Update "gettext" commands to reflect html file. 2020-06-23 18:13:39 +02:00
Marie-Cécile Godwin 2f9976b289
Text amendments to sound more native English, switch to MBZ latest colour scheme, switch to Roboto font. 2020-06-23 18:13:28 +02:00
Thomas Citharel 6981b54679
Fix instance terms when contact is undefined
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-23 10:58:48 +02:00
Thomas Citharel f5241954bd
Improve Terms of Service
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-23 10:35:15 +02:00
Thomas Citharel 5759f2bc32
Comment fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-18 16:50:47 +02:00
Thomas Citharel e030eab93d
Fix event stats participants / going incoherent
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-18 16:24:00 +02:00
Thomas Citharel b61d12b5fd
Participation panel revamp and fixes
Apollo is a pain in the ass with pagination & filters, so this removes
the tabs system and uses a <select> to filter instead

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-18 15:52:19 +02:00
Thomas Citharel b5f295c5d9
UI improvements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-17 15:55:21 +02:00
Thomas Citharel 7cd45a1351
Fixup
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-16 18:02:53 +02:00
Thomas Citharel 5cb3f478ae
Allow to change language
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-16 18:00:27 +02:00
Thomas Citharel ef6a1a21ac
Even more fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 19:41:11 +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 d8bdc132e8 Merge branch 'use-ap-wrapper-instead-of-calling-directly-actors-context' into 'master'
Use ActivityPub.get_or_fetch_actor_by_url/2 instead of directly Actors.get_actor_by_url

See merge request framasoft/mobilizon!469
2020-06-15 11:59:35 +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 d0bf64275e Merge branch 'improve-registration-page' into 'master'
Improve registration page and add a rules option

See merge request framasoft/mobilizon!467
2020-06-15 11:20:16 +02:00
Thomas Citharel 97197e3811
Improve registration page and add a rules option
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 11:01:49 +02:00
Thomas Citharel 9063772e35 Merge branch 'fix-comment-threads' into 'master'
Fix comment threads display

See merge request framasoft/mobilizon!466
2020-06-15 10:10:23 +02:00
Thomas Citharel 790f333e4a
Fix comment threads display
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 09:46:08 +02:00
Thomas Citharel 0ea5b27402
Fix events tests with public visibility
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 09:11:35 +02:00
Thomas Citharel 0fcbbaa80c
Fix searchable unlisted events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-12 19:19:19 +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 c61a54d802
Add a command to refresh a single actor or all actors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-10 15:09:59 +02:00
Thomas Citharel 23a5ffd3a1 Merge branch 'exclude-happening-events' into 'master'
Currently happening events are not future events

Closes #220

See merge request framasoft/mobilizon!460
2020-06-10 10:03:36 +02:00
Thomas Citharel 0702878924 Merge branch 'install-fixes' into 'master'
Install fixes

See merge request framasoft/mobilizon!459
2020-06-10 09:58:25 +02:00
Thomas Citharel c4cdfd9857
Currently happening events are not future events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-10 09:44:01 +02:00
Thomas Citharel da3673386c
Install fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-10 09:38:06 +02:00
Thomas Citharel eaa791cb89
Update i18n, move release to fall 2020
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-10 09:08:10 +02:00
Thomas Citharel 503616fa60 Merge branch 'fix-lang-not-detected-on-fallback-pages' into 'master'
Fix lang not detected on fallback pages

See merge request framasoft/mobilizon!456
2020-06-09 18:00:42 +02:00
Thomas Citharel ecbc5993c4
Fix lang not detected on fallback pages
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 17:45:41 +02:00
Thomas Citharel ff5e27b0a0
Fix admin settings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 17:41:08 +02:00
Thomas Citharel ba6e656015
Fix geocoding
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 15:20:07 +02:00
Thomas Citharel dac47d2abb
Add config option to allow anonymous reporting
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 14:07:49 +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 0da2ad44a5 Merge branch 'fix-activity-pub-fetch-issue' into 'master'
Fix activitypub HTTPoison issue

See merge request framasoft/mobilizon!449
2020-06-09 11:12:18 +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 8310a3d4b9
Use correct locale for participation emails
For anonymous participations we now use a locale parameter in metadata

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 10:32:26 +02:00
Thomas Citharel 7dbabcf15f
Add toggle to disable groups
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-08 16:47:57 +02:00
Thomas Citharel 428ce9e200
Fixup
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-08 15:04:53 +02:00
Thomas Citharel e77cfe2e33
Provide metadata for tombstone
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-08 14:37:31 +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 09ad687403 Merge branch 'validate-number-of-places' into 'master'
Validate number of places being a positive integer

Closes #286

See merge request framasoft/mobilizon!440
2020-06-05 11:52:33 +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 f627477662 Merge branch 'event-address-update-trigger-change' into 'master'
Also send event updates if physical address changed

See merge request framasoft/mobilizon!438
2020-06-05 11:02:46 +02:00
Thomas Citharel 44e08c4319
Add weekly notification
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-05 10:27:02 +02:00
Thomas Citharel 9e3107e3aa
Also send event updates if physical address changed
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-05 10:18:08 +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 5e6bdb92fb
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-03 16:55:34 +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 fa19270232
Fix DateTime comparison
!420 used Date.compare/2 instead of DateTime.compare/2

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-04-14 17:50:17 +02:00
setop 01bdd7b344 fix compare begin and end dates
this bug prevent from creating an event with the day of month of the begin date greater than the day of month of the end date, event if end date is effectively greater than begin date.

for example, if the begin date is '2020-04-28' and end date is '2020-05-13', these dates are valid but because 28 > 13, the validation fails.

this is better explained in this article ["Never compare dates in Elixir using < or >"](https://blog.leif.io/never-use-to-compare-dates/).

using Date.compare, as proposed in this PR fix the issue.
2020-04-03 23:37:56 +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 3a753312c1
Validate Date header in HTTPSignatures
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-14 09:22:17 +01:00
Thomas Citharel 9f007da286
Allow to edit account email and delete account
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-13 16:21:26 +01:00
Thomas Citharel da879f5bcd
Fix event link construction in emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-10 09:59:20 +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 94df5bd1be
Don't access remote events from non-federated instances when not logged
in

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-07 16:28:49 +01:00
Thomas Citharel 39017b63a9
Add canonical link to the original event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-07 16:25:30 +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 bc31e2f0c2 Fix mix format 2020-01-26 21:53:17 +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 ba3ad713c0 Split GraphQL as separate context 2020-01-26 20:34:25 +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
Thomas Citharel fe4cf86838
Restrict follows to approved actors/instances
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-19 13:41:25 +01:00
Thomas Citharel b911ecbb00
Fix comments URLs
Also remote comments were marked as local

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 18:25:40 +01:00
Thomas Citharel 9485694392
Add a mix mobilizon.actors task to list actors tasks
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 15:57:15 +01:00
Thomas Citharel d8c20feead
Use mix.exs version instead of config one
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 14:32:20 +01:00
Thomas Citharel 814c9ab53b
Move from Schema.org Place to AS Place with Schema.org properties
See https://socialhub.activitypub.rocks/t/how-to-represent-places-in-an-event/413

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 11:03:04 +01:00
Thomas Citharel 846b4e9b77
Fix event html representation with no Accept header
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 10:15:58 +01:00
Thomas Citharel 822a522579
Handle actor or object being AP Public string
Mastodon uses "https://www.w3.org/ns/activitystreams#Public" as object
when sending a `Follow` activity to a relay

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 13:36:45 +01:00
Thomas Citharel 89b751e124
Fix signatures for relay
The plugs were missing

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 13:36:25 +01:00
Thomas Citharel d552fcb2d3
Add a config option to whitelist users registration
Through whole email or domain email

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 12:09:24 +01:00
Thomas Citharel 28e966e5b0
Fix comment visibility and local status
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 09:49:08 +01:00
Thomas Citharel 4da3fb946b
Update demo warning message
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 09:20:40 +01:00
Thomas Citharel 39b7a5b948
Improve JSON-LD representation for Address and add it to the docs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-16 11:47:57 +01:00
Thomas Citharel 039846d465
Clear AP cache when content is updated or deleted
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-16 11:47:31 +01:00
Thomas Citharel 14176ccc89
Support pt:CommentsEnabled in addition to mz:repliesModeration
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-16 11:46:19 +01:00
Thomas Citharel 334d66bf5d
Add admin interface to manage instances subscriptions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-15 21:56:16 +01:00
Thomas Citharel dc07f34d78
Introduce comments below events
Also add tomstones

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-28 12:33:58 +01:00
Thomas Citharel 8aed527971 Merge branch 'master' into 'feature/add-a-demo-mode'
# Conflicts:
#   CHANGELOG.md
2019-11-21 16:28:53 +01:00
Thomas Citharel a53100ef6e
Added a demo mode to show or hide instance warnings that data is deleted
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-21 16:07:43 +01:00
Thomas Citharel 5e9c91e659
Added mix commands to manage users and view actors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-21 15:51:13 +01:00
Thomas Citharel 3b210a33a2
Disable address autocomplete where required (nominatim)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-20 13:49:57 +01:00
Thomas Citharel 83fcf2b62e Merge branch 'feature/add-pelias-geocoder' into 'master'
Feature/add pelias geocoder

See merge request framasoft/mobilizon!324
2019-11-19 20:19:02 +01:00
Thomas Citharel ea00cf45dc
Update docs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 20:01:31 +01:00
Thomas Citharel c7b25474d3
Introduce support for Pelias geocoder
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 17:59:04 +01:00
Thomas Citharel 321a04babe
Fix duplicate tags when editing an event with tags in description
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 15:36:25 +01:00
Thomas Citharel b6645a4acc
Include sender mail in from: emails
Closes #277

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 11:12:59 +01:00
Thomas Citharel 258550ec94
Handle missing geolix database
Close #313

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 10:47:48 +01:00
Thomas Citharel 634a0b851e
Validate ends_on being after begins_on
Closes #315

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-18 18:56:36 +01:00
Thomas Citharel 4dc4524e71
Validate username on backend side and refactor actor changeset
Closes #316

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-18 18:56:28 +01:00
Thomas Citharel f35698005a
Fix #232 and #230
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-18 18:56:28 +01:00
Thomas Citharel c599a47d58
Introduce Mimirsbrunn geocoder and improve addresses & maps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-12 14:10:18 +01:00
Thomas Citharel 0e7cf89492
Remove floor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-08 19:39:02 +01:00
Thomas Citharel 33f7c14db6
Fixes with addresses and iCalendar
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-06 10:04:17 +01:00
Thomas Citharel f91f8ab926
Fix for adding addresses
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-06 09:32:01 +01:00
Thomas Citharel 95ba76a0fa
Fix issue when updating event and introduce background jobs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-04 16:40:36 +01:00
Thomas Citharel cc820d6b63
Refactor Core things, including Ecto handling, ActivityPub & Transmogrifier modules
* Data doesn't need anymore to be converted to ActivityStream format to
be saved (this was taken from Pleroma and not at all a good idea here)
* Everything saved when creating an event is inserted into PostgreSQL in
a single transaction
2019-10-31 10:06:11 +01:00
Thomas Citharel b117985dff
Make inserting data into search table an async operation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 16:33:56 +02:00
Thomas Citharel 39d7db07f3
Fix unrelated warning
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 15:27:11 +02:00
Thomas Citharel b5f9518faf
Implement search engine & service in backend
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 15:27:11 +02:00
Thomas Citharel afa3bb1eff
Allow WebP and Gif pics
svg stays forbidden until we can be sure it's fine security-wise

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-21 13:43:06 +02:00
Thomas Citharel d1fb90eece
Add the optimize filter for uploaded pics
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-21 13:42:45 +02:00
Thomas Citharel c16ef05d88
Limit multipart upload to 10MB
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-18 14:10:39 +02:00
Thomas Citharel 342506bac0
Add some backend changes and validation for field length
Closes #225 and #226

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-18 11:31:11 +02:00
Thomas Citharel 6718dd8e69
Upgrade vue-cli to v4, change the way server params injection is made
and serve es6 modules

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-17 14:20:22 +02:00
Thomas Citharel 4dcbf85d9a Merge branch 'bug/fix-XSS-on-event-title' into 'master'
Make sure title is properly sanitized

Closes #247

See merge request framasoft/mobilizon!281
2019-10-16 19:17:27 +02:00
Thomas Citharel 8094f1d80a
Make sure title is properly sanitized
Close #247

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-16 19:03:31 +02:00
Thomas Citharel de9b26df2d
Translate them and handle difference between user not found and user not
confirmed

Closes #212

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-16 17:07:49 +02:00
Damien b98a86184b (Hopefully) improve grammar
[CI skip]
2019-10-15 21:38:49 +02:00
Thomas Citharel 5e9ca2f2f3
set default to show event time
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 20:00:58 +02:00
Thomas Citharel 7b296e01da
Change link for Framacolibri
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 19:33:07 +02:00
Thomas Citharel d93561742a
Better handle datetime
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 19:29:18 +02:00
Thomas Citharel cc701f8994
Properly update event ics export cache and fix export desc html
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 15:44:16 +02:00
Thomas Citharel cbe1dd2868
Prevent picture resend on event update, handle duplicate pictures
properly in backend and add a proper default picture

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 11:41:57 +02:00
Thomas Citharel 33e51a05ec
Handle errors better
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-13 13:56:24 +02:00
Thomas Citharel 57f0b5dad1
Participation fixes
Closes #208 and #210

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-13 10:51:22 +02:00
Thomas Citharel 2577a2a27b Merge branch 'test/add-cypress-on-event-creation' into 'master'
Add e2e seed and test event creation

See merge request framasoft/mobilizon!254
2019-10-12 19:47:19 +02:00
Thomas Citharel 5e75daa732
Add e2e seed and test event creation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-12 19:34:16 +02:00
Thomas Citharel d3a5b1f3e5
Add custom user-agent to geospatial calls
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-12 11:41:18 +02:00
Thomas Citharel 534ff09674
Properly handle event status
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 16:34:03 +02:00
Thomas Citharel 4499fb2f31
Fix participation section, show how many places are available
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 15:26:16 +02:00
Thomas Citharel 98472e7222
Expose participants number through API
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 11:54:57 +02:00
Thomas Citharel bf25d22786
Make sure people can't join an event with limited participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 11:50:06 +02:00
Thomas Citharel 210b348b46
Add warning inside emails as well
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 10:44:53 +02:00
Thomas Citharel 040faf4451
Fix title & meta
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-10 17:28:32 +02:00
Thomas Citharel 5a56c47360 Merge branch 'bug/email-logo-alt' into 'master'
Bug/email logo alt

See merge request framasoft/mobilizon!238
2019-10-10 14:57:07 +02:00
Thomas Citharel aa233f43a7
Replace email logo alternative text by instance name
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-10 14:27:06 +02:00
Thomas Citharel ac35e4b923
Fix preview
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-10 12:25:32 +02:00
Thomas Citharel eca8b9ec7c
Fix editor related issues
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-10 11:05:53 +02:00
Thomas Citharel 5b1b7ee164
Make sure featured events have currently happening events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-09 16:37:39 +02:00
Thomas Citharel 7a453b4329
Fix unavailable access to an event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-08 21:31:47 +02:00
Thomas Citharel bff00dea21
Properly handle account deleted
Close #191

Also fix an issue with public events not being accessible when requested
as another logged-in user.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-08 18:13:06 +02:00
Thomas Citharel 77d286ebb6
Introduce Cypress
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-06 18:28:18 +02:00
Thomas Citharel 471e8ac472
Redirect to profile creation when user has no identities
Also load persons by ID instead of preferred_username

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-06 12:36:42 +02:00
Thomas Citharel 442a011490
Add draft feature
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-02 18:23:32 +02:00
Thomas Citharel a84cfb5910
Save user locale and use it to translate things
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-01 13:08:09 +02:00
Thomas Citharel 5fd38ace2e
Notifications on event update
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-30 19:01:46 +02:00
Thomas Citharel 5b4f1c271a
Send email notifications when a participation is approved/rejected
Also handles participant status :rejected instead of deleting the
participation

Closes #164

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-30 18:45:29 +02:00
Thomas Citharel 65b49e247f
Add config option to disable federation
Closes #148

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-27 16:18:29 +02:00
Thomas Citharel 8dc2fbcf98
Fix rebase issue
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-26 18:10:11 +02:00
miffigriffi 0a0d07cf38
Fix software design suggestions 2019-09-26 17:45:47 +02:00
miffigriffi aed824f1aa
Fix code readability issues 2019-09-26 17:45:47 +02:00
miffigriffi 20dfce5c83
Fix refactoring opportunities 2019-09-26 17:45:33 +02:00
Thomas Citharel 4d4fdaaffe Merge branch 'feature/participate-dropdown' into 'master'
Add a dropdown on participate menu, disallow listing participations

Closes #174

See merge request framasoft/mobilizon!200
2019-09-26 17:41:14 +02:00
Thomas Citharel 757d2cabec
Add a dropdown on participate menu, disallow listing participations
Now requires quering the person endpoint to know if an actor
participates in an event, organizers can make authenticated requests to
event { participants { } } to see the pending / approved participants.

Also closes #174

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-26 17:00:01 +02:00
Thomas Citharel d4a7b6fe0d
Remove unneeded Markdown converter (earmark)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-26 16:49:49 +02:00
Thomas Citharel f129d4137d
[Backend] Allow to change your password
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-24 18:08:33 +02:00
Thomas Citharel 8006b8e0f3
Fixes for email
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-24 12:09:43 +02:00
Thomas Citharel 6a41b13446
🎨 Add fancy html emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-23 19:50:33 +02:00
Thomas Citharel 9abb2f3526
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-23 10:26:23 +02:00