Commit graph

1382 commits

Author SHA1 Message Date
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
778a69cd d8ba0bc12c Merge remote-tracking branch 'origin/main' 2023-12-04 16:08:22 +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
778a69cd 2d69dc2076 Merge remote-tracking branch 'origin/main' 2023-12-03 23:40:50 +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
778a69cd 4bd97ebfcb Merge remote-tracking branch 'origin/main' 2023-12-01 20:27:18 +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
778a69cd 696f0e4901 Merge remote-tracking branch 'origin/main' 2023-12-01 01:34:37 +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
summersamara d31a5b68ec Merge remote-tracking branch 'upstream/main' 2023-11-23 16:39:53 +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
778a69cd 1ab82cdfb8 Merge remote-tracking branch 'origin/main' 2023-11-21 23:30:30 +01:00
778a69cd 0a300ea5e5 Merge remote-tracking branch 'origin/main' 2023-11-21 22:09:20 +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
778a69cd 224b5607b6 Merge remote-tracking branch 'origin/main'
nix run .#update
2023-10-13 14:07:21 +02: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
778a69cd 7cd4b34cb8 Merge remote-tracking branch 'origin/main' 2023-10-11 17:42:31 +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
778a69cd 61d98308f4 Merge remote-tracking branch 'origin' 2023-09-28 12:27:34 +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
778a69cd 54e09ed919 Merge remote-tracking branch 'origin/main' 2023-09-08 11:55: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
778a69cd 73aa8bd0f1 Merge remote-tracking branch 'origin/main' 2023-09-06 14:13:41 +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
778a69cd 71d2a50356 Merge remote-tracking branch 'origin/main' 2023-09-05 17:41:49 +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
778a69cd 25836b5971 Merge remote-tracking branch 'origin/main' 2023-09-02 14:48:50 +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
778a69cd 239ca025bb Merge remote-tracking branch 'origin/main' 2023-09-01 12:43:33 +02: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
778a69cd d02d62bd0d Merge remote-tracking branch 'origin/main' 2023-08-25 13:51:29 +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
778a69cd 340aba5624 Merge remote-tracking branch 'origin/main' 2023-08-23 13:55:14 +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
778a69cd 8d9ddbdfe8 Merge remote-tracking branch 'origin/main'
nix run .#update

added cacerts_load check to build inside Nix sandbox
2023-08-19 18:12:41 +02:00
778a69cd f52ddfffa2 Merge remote-tracking branch 'origin/main'
nix run .#update
2023-08-18 15:02:28 +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 33094bb160 Merge remote-tracking branch 'origin/main' 2023-08-11 13:39:52 +02:00
778a69cd a6b29f1745 Revert "reintroduce webmanifest for PWA compatability"
This reverts commit c1299bddf6.
2023-08-11 13:39:48 +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
778a69cd 733d58a49b Merge remote-tracking branch 'origin/main'
nix run .#update
2023-08-10 23:49:12 +02:00
778a69cd c1299bddf6 reintroduce webmanifest for PWA compatability 2023-08-10 23:48:12 +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
778a69cd 496ba488b6 Merge remote-tracking branch 'origin/main' 2023-08-03 16:43:36 +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