glitch-soc / mastodon

A glitchy but lovable microblogging server
https://glitch-soc.github.io/docs/
GNU Affero General Public License v3.0
688 stars 184 forks source link

support isCat ? #1764

Open theotheroracle opened 2 years ago

theotheroracle commented 2 years ago

Pitch

since glitch-soc is basically cool mastodon, do you think we could have the iscat feature here ? https://github.com/mastodon/mastodon/issues/18337

Misskey allows users to add cat ears to their profile picture. This is an excellent feature that Mastodon should adopt. This is implemented by adding a https://misskey-hub.net/ns#isCat property to the Actor JSON, linked to a checkbox in user settings marked "User is a cat" or similar. This can't be emulated by adding cat ears in the profile image itself as the ears extend outside of

Motivation

Many Mastodon users are "cat girls" or would otherwise benefit from being able to add cat ears to their profile picture.

marrus-sh commented 2 years ago

I’ve long considered supporting this sort of thing in GlitchSoc by hacking the profile metadata API (it’s actually one of the reasons I originally implemented profile metadata fields in the first place). I don’t think it would be hard to, on seeing a <https://misskey-hub.net/ns#isCat> true in an actor JSON, translate that to adding (or ensuring the existence of) a https://misskey-hub.net/ns#isCat: true key-value pair in the profile metadata for the actor. This has the added benefit of allowing existing, and even upstream, Mastodon users to say they are cats without any codebase support.

The outstanding problems with this approach are :—

  1. Client support. Ideally, a client would check the profile metadata for a user and search for fields that it might recognize (is cat, favourite colour, now playing, etc…), then make use that information when displaying the user’s information. However, no clients exist which currently do this.

  2. The politics of which properties in the actor JSON to translate into profile metadata is messy. A broad Misskey feature might pass muster, but what about a property on a personal fork?? It would be better if we could get Misskey to add this sort of information to profile metadata themselves, so that we wouldn’t have to do as much translation on our end.

noellabo commented 2 years ago

My Mastodon fork Fedibird already implements isCat, but it is now deprecated.

This is a Misskey-specific feature that was intended to increase federation compatibility with Misskey and accurately reproduce Misskey's intent. However, a large percentage of users did not like this display, so we disabled it by reverting it to an unsupported state overall. https://fedibird.com/@noellabo/107810267410254707

The concept behind Misskey's isCat is that it is a joke feature, meant to annoy the user in the first place. It is a joke feature to annoy the user. Even "Delete & re-draft" does not return the original text, which is the intended specification. An issue to fix this has been proposed but rejected.

It's a very fun feature, but I'm not sure this joke matches Mastodon. I also disagree with stealing only the convenient parts that do not reflect Misskey's intent.