@feld Can't we use it in Fediverse? I don't know how iroh works, but if it can deliver arbitrary JSON object to another machine, then it is compatible with ActivityPub
- content is supposed to be human readable. I think it would be better to use a new property, for example encryptedContent (and possibly a new type), to make it clear that this object shouldn't be presented as a "post" by other software. - instrument should be used only in activities - AP currently allows null IDs, but it is probably an error in the spec, see discussion: https://github.com/w3c/activitypub/issues/476 - It would be nice to encrypt metadata too, at least partially (tags, attachments).
>the media files attached to the message simply disappeared.
It doesn't happen when I edit the message in mitra-web If you are using a different client, I suggest sending a bug report to them. Also, the list of supported clients can be found in README.md : https://codeberg.org/silverpill/mitra#supported-clients
>I hope the cleanup will remove unrelated files from the filestore - because searching for it manually is almost a hopeless task. There are thousands of image files that are similar to each other.
I noticed some federation issues between my server and yours (though by now they seem to be gone). Did you have another fedi software installed there before mitra?
@mochi Gateways are supposed to keep inboxes and outboxes in sync. Clients retrieve activities from inboxes and outboxes, so if gateways are synced, clients will be synced as well.
But I don't know yet what is the best way to sync collections. Maybe we need to use FEP-8fcf or a similar mechanism.
@mochi I want Mitra to work in user-owns-data mode too, and my current plan is to re-purpose it as FEP-ae97 client without a total rewrite. It already does almost everything a rich client is supposed to do, I just need to replace 'http' URLs with 'ap' URLs, sign all objects and replace inbox deliveries with outbox deliveries.
The main difference between a regular ActivityPub server and FEP-ae97 client is that server must be online all the time, whereas FEP-ae97 client is local-first and communicates using gateways
...so it might not be necessary to ditch your current codebase
- "Thread" is easier to implement, and in any case, software needs to keep track of reply trees, one way or another. - "Context" is a bonus. It contains everything related to a conversation, including reactions and edits. Some applications may not need it, and for some it might be difficult to implement, so it should be optional.
My estimation is that implementation of "Context" + "Thread" will require roughly the same amount of effort as implementation of "Context" alone, so for those who want "Context" this separation should not be a problem. If software doesn't keep track of activities it can provide empty "Context", but their Add activities should nevertheless have it in target. Perhaps in the following form:
conversation containers by @mikedev solve that problem. With this mechanism in place not only replies are synchronized, but also reactions and edits - everything that happens in a conversation. It also enables reply controls, private groups and (better) followers-only posts.
Developer of ActivityPub-based micro-blogging and content subscription platform Mitra. Working on Fediverse standards: https://codeberg.org/silverpill/feps