Commit Graph

278 Commits

Author SHA1 Message Date
Laurent GAY
328cd6a96b elixir reformat - #877 2025-09-03 21:18:38 +02:00
André Menrath
63d44ce4db fix(activitypub): Remote event processing fails if featured image is of type Image 2025-08-29 09:42:14 +00:00
André Menrath
2a29b623e9 hotfix: announce might also contain an activity 2025-08-29 09:27:38 +00:00
Laurent GAY
40339a8f5b replace joinmobilizon.org by mobilizon.org (#1702) 2025-08-01 18:15:14 +02:00
Massedil
73165a0216 Call refresh_instance_actor when an external instance asks to follow us
Fixes #1638
2025-06-10 05:38:49 +02:00
André Menrath
ed85ae2bee fix(activitypub): remote event processing fails when featured image is of type Image 2025-01-12 22:55:36 +01:00
André Menrath
6d7688e4f7 Use RemoteMediaDownloaderClient, not Tesla directly to use global ssl options 2024-06-30 13:18:10 +02:00
André Menrath
b8b2e895b0 1503 fix ActivityPub publishing for self-signed CA certs 2024-06-20 22:02:31 +02:00
Thomas Citharel
e3b36434cb fix(activitypub): handle issue with AP Fetcher not catching some changeset errors
Closes #1409

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:56:50 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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
b315e1d7ff refactor: use Phoenix verified routes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-01 11:29:53 +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
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
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
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
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
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
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
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