Commit Graph

226 Commits

Author SHA1 Message Date
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 784c607c65
Send activity digests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-26 16:09:02 +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 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 a24e08a6de
Add blurhash support to backend
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-10 15:18:08 +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 8298f50b3d
Fix metadata injection in html
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-06 20:25:16 +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 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 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 6d99b04a7a
Fix email headers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-27 09:06:28 +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 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 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 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 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 f2175c6498
Refactor CSP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-16 14:57:02 +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 bbfe3de471
Handle NotAcceptableError better
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:50 +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 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 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 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 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 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 aa2c79d312
Fixes for Bamboo 2.0
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-09 14:33:09 +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 4d7203a1d2
Disable Sentry in test mode
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-10 14:39:23 +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 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 e933004daf
Fix CSP issues in production
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-26 17:00:15 +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 7b91367145
Some sobelow fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-22 23:24:51 +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 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 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 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
Thomas Citharel b69daa7b54
Attach event ics files to event-related emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-11 11:29:28 +01:00
Thomas Citharel d1472d94de
Expose posts media through AP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-16 09:54:56 +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 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 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 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 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
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 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 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 2c42cf2735
Fix listing event groups
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-22 16:59:04 +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 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 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 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 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 05e5fc35d5
Improve profile registration
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-06 12:35:45 +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 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 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 49a5725da3
Improve and activate groups
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-29 10:25:00 +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
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 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 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 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 c56fb710b6
Introduce Sitemaps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-12 16:29: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 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 9c9f1385fb
Introduce group posts
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-30 16:55:35 +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
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 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 f5241954bd
Improve Terms of Service
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-23 10:35:15 +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 47297127a2
Improve comment section
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 16:50:01 +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 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 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 3e74f59ee8
Send Notifications when participation approval
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-08 13:59:27 +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 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 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