Commit Graph

1348 Commits

Author SHA1 Message Date
Thomas Citharel
4dc2f489e7 fix(activitypub): also handle as:Public and Public values for public addressing
Closes #1413

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:52:03 +01:00
Thomas Citharel
28430d6d57 feat(docker): add new environment variables for Docker config
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:52:03 +01:00
Thomas Citharel
1acf931ac5 fix(back): sitemapper fix after upgrade
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:23 +01:00
Thomas Citharel
ef20585f8c fix(announcements): error message not showing when an event announcement is created with empty text
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:22 +01:00
Thomas Citharel
0bd00de501 fix(backend): only send announcement event emails when the comment author has the right to do so
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:21 +01:00
Thomas Citharel
95379885c8 fix(backend): fix sending N notifications to a single conversation participant
Because of the conversation participant ID being necessary in the email, we launch N jobs to send
notifications, so we need to send the email straight away.

Anonymous participants are always only a single conversation actor
participant, so we're fine

Closes #1384

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:21 +01:00
Thomas Citharel
681f8dcd04 test(graphql): add tests for sending private event announcements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:21 +01:00
Thomas Citharel
5bc0593ed6 fix(graphql): fix checking actor identity when publishing event announcements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:21 +01:00
Thomas Citharel
10c4038b85 fix(backend): hide non-public replies to comments in event comment threads
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:20 +01:00
Thomas Citharel
c9a1c35aa7 fix(announcements): make sure only valid announcements are shown to the user
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:20 +01:00
Thomas Citharel
dcbb8eae01 feat(graphql): increase max_complexity to 300
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:20 +01:00
Thomas Citharel
01eecbf1d4 fix(event announcements): only show comments from event organizers in event announcement list
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:20 +01:00
Thomas Citharel
387d3b1c30 fix(activitypub): consider PM as private conversations even if attributed_to_id is defined
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:20 +01:00
Thomas Citharel
c12df03b5d refactor(backend): simplify the build_begins_on function in Metadata event impl
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:19 +01:00
Thomas Citharel
5de22f91e2 fix(backend): avoid duplicating locality and region if they are the same
An example is Paris where both locality and region are named "Paris"

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:19 +01:00
Thomas Citharel
1441d35e0b feat(activitpub): add summary of metadata to events
Currently only expressed as plain text even though it should be HTML because of Mastodon
compatibility

Ref: https://framagit.org/les/gancio/-/issues/321
Ref: https://github.com/mastodon/mastodon/issues/28455

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:19 +01:00
André Menrath
0d7462de06 Improve the detection of a banner image.
- Also accept attachments of type Image
- Prefer the key "image" if it is set as the banner image (https://www.w3.org/TR/activitystreams-vocabulary/#dfn-object)
- solves #1399

Co-authored-by: Thomas Citharel <tcit@tcit.fr>
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 16:55:35 +01:00
Jonathan Reinbrecht
9670b77bc3 [IMP] move filtering of past events in related events section to backend 2024-01-19 13:59:01 +01:00
Thomas Citharel
d0835232d6 refactor(backend): change naming of function names to avoid the is_ prefix
Following Credo.Check.Readability.PredicateFunctionNames check

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-04 13:35:08 +01:00
Thomas Citharel
b3ba45e8a7 fix(back): fix instances filtering
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-04 13:02:16 +01:00
Thomas Citharel
428537df1f refactor: remove some outdated todos and legacy fallbacks
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-04 13:02:16 +01:00
Thomas Citharel
f7585cfc75 fix(backend): validate length of instance actor details and set description column to text
Closes #1393

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-04 13:02:05 +01:00
Thomas Citharel
c3aa145148 refactor(backend): extract convert_ecto_errors in the Mobilizon.Storage.Ecto module
And use it to log refreshing instance errors

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-04 12:59:15 +01:00
Thomas Citharel
9308c5399d fix(activitypub): handle any type of error when fetching Application actor from NodeInfo
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-03 18:33:16 +01:00
Thomas Citharel
7c51ef79b9 refactor(activitypub): simplify request to get instances list and status
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-03 18:33:15 +01:00
Thomas Citharel
2f4b8feeba fix(activitypub): refresh NodeInfo metadata straight away when adding a new instance to follow
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-03 18:33:14 +01:00
Thomas Citharel
6d2f08f3c1 refactor(activitypub): log instance actor details before it's created
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-03 18:33:13 +01:00
Thomas Citharel
da3b074619 fix(nodeinfo): make sure we only process JSON content
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-03 18:33:13 +01:00
Thomas Citharel
881695ca19 refactor(http): extract HTTP header tests to a new module
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-22 16:00:33 +01:00
Thomas Citharel
7351468842 fix(activitypub): handle actors following with manually_approves_followers not set
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-22 15:57:29 +01:00
Thomas Citharel
58e4239aae Merge branch 'extract-nodeinfo-metadata' into 'main'
feat(nodeinfo): extract and save NodeInfo information from instances to...

Closes #1392

See merge request framasoft/mobilizon!1513
2023-12-21 10:05:26 +00:00
Thomas Citharel
99b2339424 feat(nodeinfo): extract and save NodeInfo information from instances to display it on instances list
We also try to detect the application actor if it's not given by NodeInfo metadata (FEP-2677)
(guessing for Mobilizon, PeerTube & Mastodon).

Closes #1392

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-21 10:45:56 +01:00
Thomas Citharel
ff0440c634 fix(feeds): increase feed item limit from 500 to 5000
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-20 09:26:58 +01:00
Thomas Citharel
3c75856149 fix(feeds): make sure posts for feeds are ordered by publication date desc
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-20 09:26:28 +01:00
Thomas Citharel
e73fd9b370 fix(activitypub): make relay outbox events ordered by desc publication date
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-20 09:24:59 +01:00
summersamara
31411bfc03 Fix ICS feed missing events: order by "begins_on" DESC so that the latest events are always included
https://git.potsda.mn/potsda.mn/mobilizon/issues/37
2023-12-20 09:07:47 +01:00
Thomas Citharel
001a0ed1a5 fix(activitypub): do not try to calculate timezone from missing geo-coordinates
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-19 10:53:12 +01:00
Thomas Citharel
64237cfc26 feat(activitypub): allow simple text for address field
Closes #1387

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-19 10:52:31 +01:00
Thomas Citharel
00250ff33a refactor(activitypub): cleanup unused imports and variables
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-19 09:53:05 +01:00
Thomas Citharel
dd775b6ae2 fix(nodeinfo): fix getting application actor information from NodeInfo response
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-19 09:52:32 +01:00
Thomas Citharel
f10977a99a feat(activitypub): implement FEP-2677 to identify the application actor used for federation
Instead of always assuming it will be @relay@host.tld

Closes #1367

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-14 16:31:58 +01:00
Thomas Citharel
459f486a90 refactor(docker): allow webPush configuration to be configured using env variables in Docker
Closes #1383

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-11 16:31:24 +01:00
778a69cd
5030b755a0 fix: allow html_to_text to receive nil, e.g. for empty event descriptions
Fixes https://git.potsda.mn/potsda.mn/mobilizon/issues/34

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-11 09:42:06 +01:00
Thomas Citharel
7210f86889 feat(cli): add command to test emails send correctly
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-07 09:17:33 +01:00
Thomas Citharel
4855af8f87 feat(docker): allow to configure loglevel at runtime through env variable
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-07 09:17:33 +01:00
Thomas Citharel
09f41328ab fix(graphql): set default value for resource type parameter
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-06 14:43:51 +01:00
Thomas Citharel
dc6647f5dc fix: sanitize descriptions from resources
Currently resources descriptions are not used anywhere but they are
prefilled from source URL preview. Still, doesn't hurt to sanitize
these.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-06 11:47:28 +01:00
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