warriordog / ActivityPubSharp

Modular implementation of ActivityPub in C#
https://warriordog.github.io/ActivityPubSharp/
Mozilla Public License 2.0
45 stars 9 forks source link

Flatten Activity types #146

Closed jenniferplusplus closed 9 months ago

jenniferplusplus commented 9 months ago

I'm trying out APSharp again for some more complex activities. It's handling things pretty well, overall. There are a couple failures here, but honestly those are not showstoppers right now.

This includes some fixes for Activity properties that were missing, or were Linkable, but should have been LinkableList. I'm not sure what to do about the language-mapped strings. I think the most interoperable thing will be to have both the language-mapped and language-insensitive properties in the model.

jenniferplusplus commented 9 months ago

@warriordog I see, I'll have another look. I added the Object property because it wasn't available on one of the types I was expecting. Same with Target. I forget which, so I'll have to go back and see. The transitive/intransitive split makes sense, in that it's in keeping with the spec as written. Whether it works in practice is a question of whether other implementations also implement that properly, and tbh I don't know if they do or not.

For Target, the AS2 spec says it's a property of Activity, so I would expect it to be available on every activity.

warriordog commented 9 months ago

@jenniferplusplus I'm open to making them base-level properties if you think that's better. We could remove the transitive / targeted activities to match.

jenniferplusplus commented 9 months ago

@warriordog I skipped the failing tests, because I think they're useful examples. I think we can merge, if you're ready.