Open ShadowJonathan opened 8 months ago
I've figured out whats happening.
With a normal akkoma install, it'll fail with the following error;
Uncaught:
jsonld.InvalidUrl: Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.
at ContextResolver._fetchContext (/Users/j0j0/dev/activitypub-express/node_modules/jsonld/lib/ContextResolver.js:186:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async ContextResolver._resolveRemoteContext (/Users/j0j0/dev/activitypub-express/node_modules/jsonld/lib/ContextResolver.js:117:34)
at async ContextResolver.resolve (/Users/j0j0/dev/activitypub-express/node_modules/jsonld/lib/ContextResolver.js:50:22)
at async api.process (/Users/j0j0/dev/activitypub-express/node_modules/jsonld/lib/context.js:87:20)
at async api.expand (/Users/j0j0/dev/activitypub-express/node_modules/jsonld/lib/expand.js:214:17)
at async jsonld.expand (/Users/j0j0/dev/activitypub-express/node_modules/jsonld/lib/jsonld.js:321:18)
at async jsonld.compact (/Users/j0j0/dev/activitypub-express/node_modules/jsonld/lib/jsonld.js:171:16) {
details: {
code: 'invalid remote context',
url: 'https://cooltrans.men/schemas/litepub-0.1.jsonld'
}
}
However, fetching that content manually reveals that the content-type
is not properly set, it says application/octet-stream
.
Strongarming the reverse proxy to set it to application/json
makes it work again.
This was tracked on akkoma's side with https://akkoma.dev/AkkomaGang/akkoma/issues/716, now closed and fixed with 3.12.0
After some additional debugging logging, we figured out why a.gup.pe was not accepting posts from our instance, it replies with "Error processing request JSON-LD", which is defined here: https://github.com/immers-space/activitypub-express/blob/37b711906b4fc545184d5ad6e3d38110aa314a80/net/validators.js#L167
We're using Akkoma 3.11
The JSON we were trying to send to the inbox was the following;
Long JSON
```json { "@context": [ "https://www.w3.org/ns/activitystreams", "https://cooltrans.men/schemas/litepub-0.1.jsonld", { "@language": "und" } ], "actor": "https://cooltrans.men/users/jo", "cc": [ "https://www.w3.org/ns/activitystreams#Public" ], "context": "https://cooltrans.men/contexts/0443005c-aaf5-4557-b156-39087a5035d2", "directMessage": false, "id": "https://cooltrans.men/activities/1399b1f9-b48d-4790-b9ed-db6114011bff", "object": { "actor": "https://cooltrans.men/users/jo", "attachment": [], "attributedTo": "https://cooltrans.men/users/jo", "cc": [ "https://www.w3.org/ns/activitystreams#Public" ], "content": "@test A test post", "contentMap": { "en": "@test A test post" }, "context": "https://cooltrans.men/contexts/0443005c-aaf5-4557-b156-39087a5035d2", "conversation": "https://cooltrans.men/contexts/0443005c-aaf5-4557-b156-39087a5035d2", "id": "https://cooltrans.men/objects/2702435d-83fa-4b49-a18f-be4636ee3e8c", "published": "2024-03-02T13:11:10.574761Z", "sensitive": null, "source": { "content": "@test@a.gup.pe A test post", "mediaType": "text/plain" }, "summary": "", "tag": [ { "href": "https://a.gup.pe/u/test", "name": "@test@a.gup.pe", "type": "Mention" } ], "to": [ "https://cooltrans.men/users/jo/followers", "https://a.gup.pe/u/test" ], "type": "Note" }, "published": "2024-03-02T13:11:10.574683Z", "to": [ "https://cooltrans.men/users/jo/followers", "https://a.gup.pe/u/test" ], "type": "Create" } ```