Thomas Citharel
ffff379d47
fix: always consider report content as text
...
Report content was used as HTML in front-end and e-mails but wasn't sanitized as such.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-06 11:05:56 +01:00
Thomas Citharel
5b337f952a
refactor(activitypub): handle failure finding public key in actor keys
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-06 08:25:02 +01:00
Thomas Citharel
147096cc3d
refactor: to lower cyclomatic complexity
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-05 08:40:01 +01:00
Thomas Citharel
89d1ee42f4
fix(backend): handle ecto errors when fetching and create entities
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-05 08:06:16 +01:00
Thomas Citharel
f1084c101f
fix(activitypub): fix receiving comments
...
Should fix race conditions and actors deleted of received comments
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-05 08:02:09 +01:00
Thomas Citharel
5e8f9afb62
fix(activitypub): compact ical:status in activitystream data
...
Was kept for no other reason than disambiguation with https://schema.org/status , but no need if we
specify the correct alias in the context.
Keeps a fallback for older versions compatibility
Closes #1378
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-04 14:05:27 +01:00
Thomas Citharel
9e41bc1ad6
fix(backend): only send suspension notification emails when actor's suspended and not just deleted
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-04 09:02:38 +01:00
Thomas Citharel
32caebb1d0
fix: prevent sending group physical address if it's empty and allow empty text for timezone
...
As old addresses don't hold TZ information
Closes #1357
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-03 18:14:00 +01:00
Thomas Citharel
8795576865
fix(activitypub): add missing externalParticipationUrl context
...
Closes #1376
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-03 17:51:05 +01:00
Thomas Citharel
5fcf3d5267
test: fix tests using verified routes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-01 16:34:48 +01:00
Thomas Citharel
11e42d6601
feat(background): add a job to refresh participant stats
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-01 11:29:56 +01:00
Thomas Citharel
3f2a88fcfa
fix: fix creating participant stats
...
Map.update/4 does not pass initial value to callback function, so increasing for a new role would
set 0 instead of 1
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-01 11:29:54 +01:00
Thomas Citharel
9e6b232a78
feat: add links to cancel anonymous participations in emails
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-01 11:29:53 +01:00
Thomas Citharel
b315e1d7ff
refactor: use Phoenix verified routes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-01 11:29:53 +01:00
Thomas Citharel
49b070d939
fix(api): allow localhost as a valid uri host for applications
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-30 09:45:25 +01:00
Thomas Citharel
cd53062c01
fix: add a final fallback if we have default_language: nil in instance config
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-23 11:20:38 +01:00
Thomas Citharel
c731f0f084
test: fix tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-21 17:29:58 +01:00
Thomas Citharel
99c80c6490
chore: upgrade deps
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-21 16:40:32 +01:00
Thomas Citharel
d7daafc4ea
fix(export): fix iCalendar export description HTML conversion
...
Paragraphs and line breaks are now properly handled when converting from HTML to text
Closes #888
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-21 15:40:34 +01:00
Thomas Citharel
b97f1c997f
refactor: use dedicated email for event announcements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-21 15:28:56 +01:00
Thomas Citharel
18314956ca
fix(api): fix allowing posting event private announcement
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-21 12:00:04 +01:00
Thomas Citharel
7ef85fe19b
fix(announcements): load group announcements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-20 17:35:37 +01:00
Thomas Citharel
b635937091
fix: various fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-20 09:35:21 +01:00
Thomas Citharel
3c288c5858
fix: build pictures at correct location and fix Plug.Static
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-15 18:15:21 +01:00
Thomas Citharel
e051df1ab3
test: fix unit backend tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-15 16:35:40 +01:00
Thomas Citharel
b5672cee7e
WIP
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-14 14:24:17 +01:00
Thomas Citharel
2ecd55df96
fix(i18n): fix typos in translation sources
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-10-13 10:46:09 +02:00
Thomas Citharel
7a1bfcac49
feat(export): add event status in iCalendar exports
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-10-11 17:08:31 +02:00
Sandro Jäckel
66e89b9ee2
Fix typos
2023-09-25 01:26:02 +02:00
Thomas Citharel
85e4715412
feat(federation): expose public activities as announcements in relay outbx & rfrsh profile aftr fllw
...
Also change ActorView to send proper HTTP error codes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-09-19 18:07:18 +02:00
Thomas Citharel
7e4934513a
feat(auth): pre-initialize registration fields with information from 3rd-party provider
...
When using a 3rd-party auth provider, we now use the given username & display name information from
the provider to fill fields from the profile RegistrationView.
Partly addresses #1105
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-09-07 12:18:46 +02:00
Thomas Citharel
f28109ad50
fix(sitemap): save generated sitemaps in configurable directory
...
Previously in priv/static, now by default in production in /var/lib/mobilizon/sitemap and
configurable through the $MOBILIZON_SITEMAP_PATH ENV variable
Closes #1321
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-09-05 20:04:26 +02:00
Thomas Citharel
92b222b091
fix(back): allow any other type of actor to be suspended
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-09-05 16:03:45 +02:00
Thomas Citharel
cfc984345e
fix(back): only try to insert activities for groups
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-09-05 15:35:04 +02:00
Thomas Citharel
f6611e8eb5
feat(back): add admin setting to disable external event feature
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-09-01 18:16:40 +02:00
Luca Eichler
2de6937407
feat: Add option to link an external registration provider for events
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-09-01 18:16:35 +02:00
setop
3f60174877
improve group creation view
2023-09-01 14:06:44 +00:00
Thomas Citharel
4f530cabcf
fix(reports): remove on delete cascade for reports
...
Deleting an actor should not remove the reports
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-31 19:04:12 +02:00
Thomas Citharel
b105c508c0
feat(reports): improve reportview and allow removing content + resolve report automatically
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-31 14:37:54 +02:00
Thomas Citharel
f2ac3e2e5d
feat(reports): allow reports to hold multiple events
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-31 10:43:36 +02:00
Thomas Citharel
da532c7059
feat(notifications): add missing notifications when an user registers to an event
...
Closes #1344
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-24 17:36:58 +02:00
Thomas Citharel
fef60ed0f9
feat(export): add date of participant creation in participant exports
...
Closes #1343
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-24 17:36:58 +02:00
Thomas Citharel
8617382af2
test: add tests for push notification registration GraphQL resolver
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-24 11:49:19 +02:00
Thomas Citharel
fdf87ea991
fix(push): fix push subscriptions registration
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-24 11:49:19 +02:00
Thomas Citharel
d2490f9304
test: fix user deletion CLI tests and bring back the -k option
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-23 08:24:28 +02:00
Thomas Citharel
bc50ab66f3
feat(cli): allow the mobilizon.users.delete command to delete multiple users by email domain or ip
...
Also allow to delete groups the user's actors are admins of
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-22 10:28:38 +02:00
Thomas Citharel
b2492a3870
fix(backend): handle email not being sent when resending registration instructions
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-18 13:41:46 +02:00
Thomas Citharel
1b0a7499f8
test(export): fix exporting participants CSV
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-17 16:35:26 +02:00
Thomas Citharel
107bab33c9
style: run mix format
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-17 14:50:44 +02:00
Thomas Citharel
675ac38289
style: remove leftover comment
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-17 14:20:28 +02:00
Thomas Citharel
ed3cd5858c
fix(backend): fix config cache not being used everytime
...
When loading a page, we inject various meta tags in the HTML. These made database calls everytime
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-17 14:20:28 +02:00
778a69cd
2e08aa2573
reintroduce webmanifest for PWA compatability
2023-08-11 12:23:16 +02:00
778a69cd
951ff96b2a
show events until their end time, unless they have no end time
2023-08-11 00:15:56 +02:00
Thomas Citharel
7e98097c71
fix(apps): add missing app scopes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-10 18:02:01 +02:00
Thomas Citharel
1a6095d27a
fix(apps): make sure we can set status for an application token
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-10 18:02:01 +02:00
Thomas Citharel
da70427e32
fix: fix Elixir 1.15 depreciations
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-02 09:59:09 +02:00
Thomas Citharel
7c5f8b2431
fix(federation): fix getting pictures from Gruppe actors
...
They directly put urls for icon/image properties
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-29 19:30:13 +02:00
Thomas Citharel
3714925896
fix(groups): fix unauthenticated access to groups because of missing read:group:members permission
...
The permission in question is now removed
Closes #1311
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-21 18:09:45 +02:00
Thomas Citharel
f04d2b9225
fix(backend): filter out nil tags before starting looking for existing ones
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-20 16:55:37 +02:00
Thomas Citharel
d5021647d7
fix(federation): allow federated usernames with capitals
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-20 16:55:37 +02:00
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