Skip to content

Feature Request: Support for importing non-inlined starter kits #2037

@jfietkau

Description

@jfietkau

What

Heya. I'm currently helping out fedidevs.com with a little bit of ActivityPub support for their starter kits. There's ongoing work in anze3db/fedidevs/pull/177 if you want to watch (or partake).

Since this plugin is the only publicly existing consumer of starter kits that I know of, I figure it makes sense to check that we're compatible. 🙂

My current plan (which is still being discussed) is to publish fedidevs.com starter packs with the items listed as IDs instead of as inlined objects, like this:

{
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Collection",
    "id": "https://example.org/s/abcde/",
    "name": "Test Starter Pack",
    "totalItems": 2,
    "items": [
        "https://example.org/users/test",
        "https://example.social/p/a487c0ae-5218-4632-b1a3-59053a79494f"
    ]
}

As I assume you know, this is equivalent JSON-LD to having the objects inlined, and an ActivityPub recipient accepting one should also accept the other.

Now, it's been well over a decade since I did any PHP programming to speak of, so I'm not 100% confident. But if I'm reading this and this correctly, then it looks like your importer doesn't yet support this kind of object reference. Since it looks like you're transforming the objects back into IDs right afterwards anyway, maybe it'd be a quick fix. But if you need to do any checks on the object (looks like you're validating the types?), maybe it's not trivial.

I'm filing this as a feature request since it doesn't currently break anything, but if your goal is to be able to parse all valid ActivityPub starter kits conforming to Dan's schema, this would technically be a bug.

Why

tl;dr: Readiness for compatibility with fedidevs.com's ActivityPub starter packs whenever we launch them.

How

No response

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions