I think duck typing is great. Articles can be identified by name and content properties. Music albums can be identified by other properties, e.g. artists and tracks. Now you can use all these properties in one object. Music services will display it as a music album and blogs will display it as a post, interoperability is easier that way.
I have a document where I collect ideas like this one, as well as best practices and common-but-undocumented requirements:
>If the buttons are at the top, it don't need to do all this.
I don't want to move the toolbar, but I think the client can auto-scroll to the top when you click Edit.
>I have also noticed that if Tuba saves the post as HTML, then after redacting all the images may disappear. There are no visual differences between Markdown/HTML posts.
Sounds like a Tuba bug
>Bsky (ATP) is gaining momentum on anti-Musk protesters. Can we think of a cross-post for Bluesky?
Mitra will not support Bluesky cross-posting, but you can use a bridge to communicate with its users https://fed.brid.gy/docs
@benpate@mariusor Most services have hard-coded lists of supported types, and will drop any object with unusual type like MusicRelease (see FunFedi data, only Mitra accepts objects with arbitrary types, because it uses duck typing).
>I think I was trying to follow FunkWhale’s model, to be as compatible with it as possible. But the two object types probably will be more trouble than they’re worth.
Can it handle [Album, Article]? If so, that might be a good argument in favor of that value.
Their docs describe Album object, but say type should be a string.
@mariusor@benpate My software can handle it, but Mastodon/Pleroma/Misskey can't, as far as I know. So if wider interop is desirable it would be better to use Article.
@benpate Do you really need two types there? I know, technically array is a valid value for "type", but a single type can be understood by more services.
(I think Article is a good choice for representing music album.)
@hongminhee@thisismissem LitePub relays use Announce activity. That has a nice side-effect: LitePub relays can be followed by regular users of micro-blogging services
FEP-fe34: Origin-based security model has been published. It supersedes FEP-c7d3: Ownership and describes authentication of ActivityPub objects in simpler terms. I think ownership is still useful for authorization and access control, so that part was copied from FEP-c7d3.
@ceresbzns Yeah, lightweight ActivityPub servers can easily be hosted for $5/mo. Admittedly, we don't have data portability yet, but proposed portability mechanisms don't add much overhead.
Of course, you can't self-host it. But this article is interesting because it provides a honest description of their stack written by someone who appears to be a true believer.
@suno What buttons you use the most? Perhaps it would be better to make image previews smaller?
By the way, I implemented drag-n-drop in the development version of mitra-web. Meanwhile, you can copy-paste files into the text area (I completely forgot about this feature).
It now includes a comparison with other proposals: FEP-1b12 and GoToSocial Interaction Policy.
I think FEP-1b12 and conversation containers can be made compatible, but GtS solution seems to be fundamentally different because conversations there don't have a single "context" managed by OP. Instead, every reply creates a new independent context (doc).
Both approaches have downsides, so it is hard to choose one over the other. I don't like how audience can't be changed in a contained conversation, but I'm still slightly in favor of that solution because it is more efficient and keeps conversations synchronized across servers.
@justin@jdt What do you think about embedded signatures? Are they compatible with your design?
I'm asking because I'm working on "rich" clients that are capable of signing activities (FEP-ae97). In my solution signatures are embedded, and I want it to support E2EE in the future
@feld I developed a transport agnostic object format for FEP-ef61. Looks like iroh-compatible object IDs could be derived in the same way as web-compatible IDs:
In theory that should be enough for nodes to communicate even if they are not directly connected (e.g. iroh and web), because the "where" part is not required for verification
Developer of ActivityPub-based micro-blogging and content subscription platform Mitra. Working on Fediverse standards: https://codeberg.org/silverpill/feps