Commit Graph

1291 Commits

Author SHA1 Message Date
Thomas Citharel
56f341e960
fix(federation): ignore mentions from everything that's not a AP Person
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-20 16:55:37 +02:00
Thomas Citharel
2729d5ed7a
fix(federation): handle string values for tags when constructing mentions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-20 16:55:37 +02:00
Thomas Citharel
552ab4c80b
fix(federation): handle fetch_actor with a map
For some reason

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-20 16:55:37 +02:00
Thomas Citharel
5cc5c9943c
fix(participant): handle re-confirming participation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-20 16:55:37 +02:00
Thomas Citharel
a76b1ca66d
fix(exports): properly handle export format not being handled
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-20 16:55:36 +02:00
Thomas Citharel
96b4ef08c6
style: unused variable
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-20 14:59:57 +02:00
Thomas Citharel
ca06ec397f
fix(discussions): handle changeset errors when updating discussion
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-20 14:49:18 +02:00
Thomas Citharel
49b04c9b19
fix(participant exports): fix participants by returning the export type as well as the file path
We previously used the Apollo context but that's really unreliable.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-20 12:11:52 +02:00
Thomas Citharel
80f73a34a6 Merge branch 'fix-pruning-old-app-activations' into 'main'
fix(apps): fix pruning old application device activations

See merge request framasoft/mobilizon!1411
2023-06-06 12:10:28 +00:00
Thomas Citharel
dd00620b9a
fix(apps): fix pruning old application device activations
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-06 12:47:38 +02:00
Thomas Citharel
5381eaae22
fix(federation): rotate relay keys on startup if missing private keys
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-06 12:20:35 +02:00
Thomas Citharel
e8d34b4ea9
fix(federation): restrict fetch_group first arg to binaries
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-06 09:57:14 +02:00
Thomas Citharel
b981f91cf7
fix(federation): prevent fetching own relay actor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-06 09:52:46 +02:00
Thomas Citharel
6c1e1e98d8
fix(activity settings): fix saving activity settings
Closes #1251

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-05 09:23:22 +02:00
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