Commit graph

1277 commits

Author SHA1 Message Date
Thomas Citharel 845bb6ac90
feat(graphql): validate timezone id as a GraphQL Scalar
Related to #1299

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-05 09:12:31 +02:00
Thomas Citharel 39e24c328a
fix(search): fix global search sorting
Closes #1297

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-01 16:11:12 +02:00
Thomas Citharel c971287624
feat(anti-spam): allow to only scan for spam in profiles or events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-01 14:49:17 +02:00
Thomas Citharel 618b3d23d9
refactor(anti-spam): make anti-spam agnostic from Akismet
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-01 14:48:42 +02:00
Thomas Citharel 9a457fb011
fix(apps): fix device flow authorization process
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-30 14:24:52 +02:00
Thomas Citharel 5664625c1c
fix(apps): fix typo in redirect_uri parameter
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-30 14:24:51 +02:00
Thomas Citharel 850b4e2a73
fix(rich media): fix error handling when resource preview URL leads to empty parsed data
Closes #1279

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-30 08:34:53 +02:00
Thomas Citharel 927e95f387
fix(emails): make sure group notification emails are only sent once per email
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-25 12:08:27 +02:00
Hugo Renard c4d60194a6
fix: include user role in moderator role
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-23 17:38:11 +02:00
Thomas Citharel 1c1d0d47d7
fix(back): Improve error message when requesting reset passwords and new instructions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-17 11:33:50 +02:00
Thomas Citharel 73eb4603b1
fix(password-reset): Lower time before being available to reset password or resend instructions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-17 09:45:44 +02:00
Thomas Citharel 8ea00e7c18
fix(back): Replace NaiveDateTime uses with DateTime for consistency
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-17 09:34:05 +02:00
Thomas Citharel aa20f69911
fix(apps): Fix cleaning application data background job
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-17 09:34:05 +02:00
Thomas Citharel b5f106b0a8
fix(backend): Ignore group mentions for now
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-17 09:34:04 +02:00
Thomas Citharel dbe2da79c3
fix(backend): Handle CLDR data having no standard property for a language
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-17 09:34:04 +02:00
Thomas Citharel 79b48da222
fix(federation): Account suspension should use actor in question as author and not relay actor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-17 09:34:04 +02:00
Thomas Citharel 2a57340a82
fix(back): Various small fixes in backend
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-17 09:34:03 +02:00
Thomas Citharel a22a5e3cb9
fix(auth): Handle logging-in with disabled auth provider
When only MobilizonAuthenticator provider is available, user can be found, but isn't valid for auth. We need to reject those users as well.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-17 09:34:02 +02:00
Thomas Citharel d969c6648f
fix(follow-instances): Show correct error message when trying to follow already following actor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-26 16:40:40 +02:00
Thomas Citharel a4e7ee37be
fix(search): Fix event search order
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-26 16:39:18 +02:00
Thomas Citharel 2043c98717
fix(typespec): Fix missing return type in typespec
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-21 14:28:33 +02:00
Thomas Citharel 63c9ed62de
fix(front): Fix event list month order
Closes #1244

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-21 10:18:22 +02:00
Thomas Citharel f3a443138a
fix(feeds): Only provide future events in ICS/Atom feeds
Closes #1246

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-20 11:30:34 +02:00
Thomas Citharel eda2761032
refactor(credo): Refactor to appease new credo checks (complexity and logging)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-19 18:33:06 +02:00
Thomas Citharel 8141bb0acb
feat(global-search): Add option values in debug log before calling global search service
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-19 12:14:03 +02:00
Thomas Citharel bcf6fd893c
fix(backend): Fix Mobilizon.Events.list_participations_for_user_query/1
Multiple on: following two join: declarations were not taken into account

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-19 12:00:40 +02:00
Thomas Citharel c07ba3a5d1
Add rate-limiting on queries with Hammer
Closes #67

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-24 15:32:27 +01:00
Thomas Citharel c4e9f88e85
Fix front-end stuff
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-24 15:32:26 +01:00
Thomas Citharel 986ae45f52
Add worker to clean obsolete application data, token revokation and spec conformance
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-24 09:18:53 +01:00
Thomas Citharel 59944603b7
Update deps and fix some front-end stuff
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-22 10:19:25 +01:00
Thomas Citharel 8984bd7636
Introduce authorizations with Rajska
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-22 10:19:25 +01:00
Thomas Citharel b6875f6a4b
Introduce device flow
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-22 09:34:11 +01:00
Thomas Citharel 2ee329ff7b
Introduce application tokens
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-22 09:34:10 +01:00
Thomas Citharel cfa1754ab5
Fix warnings in akismet service
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-22 09:34:09 +01:00
Thomas Citharel 317a3434b2
feat(spam): Introduce checking new accounts, events & comments for spam with the help of Akismet
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-02-07 15:18:29 +01:00
Thomas Citharel 1db5c4ae2d
Save IP and login date from directly registered accounts
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-01-31 19:33:33 +01:00
Thomas Citharel 5c43713d85
Forgot call to clear_feeds_cache
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-01-31 15:22:22 +01:00
Thomas Citharel f531c39b7e
Make sure every cache is properly cleared when managing an event
Closes #1252

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-01-28 17:37:20 +01:00
Thomas Citharel 92d7de51d0
Add debug logging to locale
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-01-28 17:37:20 +01:00
Thomas Citharel 7e49a80df9
Fix formatting
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-01-16 10:08:32 +01:00
ljf ae05832cb5
[fix] LDAP connector with erland 24.3+ 2023-01-16 10:06:53 +01:00
Thomas Citharel 8e7907ec9e
Don't notify group members & followers from new draft event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-22 12:21:42 +01:00
Thomas Citharel aeaf22a224
Set correct Content-Type on all AP endpoints
Closes #1210

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-22 12:21:42 +01:00
Thomas Citharel 2e9414767c
Increase paging timeout to 30
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-22 12:21:42 +01:00
Thomas Citharel 3e15048843
Prevent AP collection page number being < 1
Closes #1184

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-21 16:57:54 +01:00
MickGe e1469a5eec
Fix: Assets in production environment
Closes #1197
2022-11-21 11:53:23 +01:00
Thomas Citharel 035ff134f5
Properly log if we can't notify group follower
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-07 19:44:16 +01:00
Thomas Citharel 16b1e0080c
Add fallback handler for can_send_activity?
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-07 19:37:59 +01:00
Thomas Citharel af3110955d
Handle suspending actors with special type
Closes #1183

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-07 19:37:59 +01:00
Thomas Citharel bb86ca5413
Handle :http_not_found as an error when deleting an object
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-07 19:37:59 +01:00
Thomas Citharel 7b2eb82d6f
Handle nothing found by unsplash for location
Closes #1187

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-07 19:37:59 +01:00
Thomas Citharel 1f23bb421e
Increase timeout needed to build page
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-07 18:55:49 +01:00
Thomas Citharel 67b63a9a6e
Fix ecto dev warning
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-07 09:02:09 +01:00
Thomas Citharel e7e4ed2ac9
Add Ecto.DevLogger in dev mode
See https://github.com/fuelen/ecto_dev_logger

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-06 16:56:04 +01:00
Thomas Citharel 96ba48cdb0
Handle error when fetching object from tombstone
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-06 15:29:34 +01:00
Thomas Citharel 994797c475
Fix front-end analytics csp config
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-06 15:14:04 +01:00
Thomas Citharel 30b0d3ca08
Add GraphQL operation name, user ID and actor name in logs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-06 13:03:53 +01:00
Thomas Citharel de8433cdbb
Add error details in error logging in Activity Update handler
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-06 11:33:09 +01:00
Thomas Citharel a51b36fb75
Fix building CSP policy
You can't use 'none' as a CSP Policy if there's other things among

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-04 16:47:24 +01:00
Thomas Citharel e31433cf83
Allow for resource providers to register a csp policy
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-04 11:50:15 +01:00
Thomas Citharel 57fac37347
Support CSP report_uri, report_to and the Report-To and Reporting-Endpoints headers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-04 10:55:26 +01:00
Thomas Citharel e97206077c
Add CSP Policy for pictures
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-04 09:26:45 +01:00
Thomas Citharel 6058da0d44
Propertly handle other errors when receiving a comment
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-03 18:11:40 +01:00
Thomas Citharel 4bb90ebb3f
Properly handle replying to an event that has been deleted
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-03 18:02:32 +01:00
Thomas Citharel 770a518ad1
Properly handle un-needed background jobs
Cancel them if they're not needed

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-03 18:00:42 +01:00
Thomas Citharel c68c0c2120
Add context to error when removing an upload file following actor suspension
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-03 17:56:45 +01:00
Thomas Citharel d75a95cccd
Lower loglevel of resource insertion error
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-03 16:54:04 +01:00
Thomas Citharel 62dd1b85b7
Don't treat notification for a deleted event as an error
Just cancel the job

Closes #1180

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-03 09:50:33 +01:00
Thomas Citharel 4dede63b83
Remove unused variable
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-02 18:32:30 +01:00
Thomas Citharel 02381f2820
Fix deleting person detached from user
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-02 17:14:26 +01:00
Thomas Citharel 75296498c4
Do not list drafts in upcoming / old events event if moderator
Closes #1086

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-02 17:12:35 +01:00
Thomas Citharel dcfe87116e
Allow to view more than 10 drafts events on my events view
Closes #993

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-02 11:38:14 +01:00
Thomas Citharel a1726fc12e
Add sha-256 hash for toggling dark theme code and remove inlined phoenix digest
Follow-up to !1300

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-02 11:36:32 +01:00
Thomas Citharel 9a135bb67f
Add unique constraint on event URL
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-31 18:07:49 +01:00
Thomas Citharel 2e631d3633
Lower loglevel of error when creating a new person
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-31 18:07:28 +01:00
Thomas Citharel 470a3e594b
Correctly escape user-defined names in emails
Closes #1151

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-31 14:30:40 +01:00
Thomas Citharel 9ce618a267
Add an error log when we try to update the relay actor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-31 11:42:51 +01:00
Thomas Citharel 2bf8148951
Fix fetching events with addresses that's not objects
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-28 19:13:13 +02:00
Thomas Citharel 579bcaba06
Allow to disable non-SSO login
With a new disable_database_login parameter under :mobilizon, :instance

Closes #1154

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-28 17:41:49 +02:00
Thomas Citharel e420713a6f
Add setting to toggle light/dark mode
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-28 17:41:49 +02:00
Thomas Citharel 8761556bac
Add logging for when cached iCalendar feed data can't be found
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-28 09:58:36 +02:00
Thomas Citharel 2454fe2aa4
Fix leaving a group
There's still an issue because the call is made twice, but at least it
works

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-26 18:45:47 +02:00
Thomas Citharel 5225431d60
Add distinct clause to search events
Closes #1174

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-25 19:04:37 +02:00
Thomas Citharel f0c1444be3 Merge branch 'lowercase-users-emails-when-resetting' into 'main'
Always lowercase the emails before trying to reset password

See merge request framasoft/mobilizon!1295
2022-10-18 17:07:36 +00:00
Thomas Citharel c9fffca046
Always lowercase the emails before trying to reset password
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-18 18:37:39 +02:00
Thomas Citharel ad0fc61994
Remove obscure reference to Douglas Adams
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-18 16:26:17 +02:00
Thomas Citharel 5bce26980a
Fix: Don't start mobilizon server when running migrations
Closes #1126 #1166 #743

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-13 11:59:36 +02:00
Thomas Citharel 699465199e
Lint fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-12 19:30:34 +02:00
Thomas Citharel c051e26380
Fix getting categories from global search engine
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-12 19:19:20 +02:00
Thomas Citharel 76ff11ceae
Don't add empty search parameters to global search engine
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-12 19:19:20 +02:00
Thomas Citharel 74581912f3
Only preload svg shapes on homepage
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-11 18:45:33 +02:00
Thomas Citharel b514d417c0
Add typespec for category_statistics
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-11 14:58:55 +02:00
Thomas Citharel 0d6626d55a Merge branch 'search-fixes' into 'main'
Fix global search term

See merge request framasoft/mobilizon!1281
2022-10-06 08:39:37 +00:00
Thomas Citharel 200e4d2c56 Merge branch 'handle-categories-from-global-search' into 'main'
Handle unknown categories from global search

See merge request framasoft/mobilizon!1280
2022-10-06 08:10:05 +00:00
Thomas Citharel 1a31d9b54e
Fix global search term
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-06 09:53:54 +02:00
Thomas Citharel 0758995ac7
Handle unknown categories from global search
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-06 09:32:47 +02:00
Thomas Citharel c080795955
Reconfigure plug at runtime with env
Closes #1165

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-06 08:59:50 +02:00
Thomas Citharel 620008ee0d
Fix group location edition
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-05 18:17:11 +02:00
Thomas Citharel fee4f9add8
Fix address selector
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-05 17:54:04 +02:00
Thomas Citharel 456e987af8
Performance improvements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-05 13:18:38 +02:00