Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

リモートサーバーのリアクションに相乗りできる機能(リアクションライディング) #23

Open
EbiseLutica opened this issue Mar 8, 2023 · 1 comment
Assignees
Labels
Backend バックエンドの更新を伴う

Comments

@EbiseLutica
Copy link
Member

EbiseLutica commented Mar 8, 2023

他サーバーのリアクションが押せなくてむず痒い問題を完璧に解決したい

実装方法

大前提として、リアクションのデータ構造を抜粋する。

フィールド名 説明
userId 文字列 リアクションしたユーザー ID
noteId 文字列 このリアクションがついているノート ID
reaction 文字列 実際のリアクション。Unicode文字列、:name@.::[email protected]: 形式を受理する

リモートから来たリアクションを表現可能にするために、リアクション部分にはホスト名を含む絵文字表現が利用可能である。

ただし、notes/reactions/create でリアクションを作成するとき、このリモートの絵文字を指定することはできないような仕様になっている。

これをできるようにするだけで実装できるはず。

ただし、対象のノートにリアクションとして存在するリモート絵文字のみを押せるように制限をかける。

よくありそうなツッコミ

コピー禁止な絵文字があるけれど、そういった絵文字についてどうするつもりか?

この機能は、リモートサーバーが使用している絵文字のキャッシュを用いているに過ぎず、決してリアクションのために絵文字をインポートするような挙動ではない。

つまり、本機能についてコピー禁止を訴えるのであれば、この「絵文字をキャッシュする仕組み」に対し訴えるべきであり、もっと言えばFediverseに放流すべきではない。

キャッシュは、リモートユーザーの表現のためであり、他鯖のユーザーに利用されるためにあるものではないが?

本機能は「リモートユーザーの表現に同調する」機能と解釈できるため、「自分の絵文字のキャッシュを他鯖のユーザーに利用させる」というわけではない。

@EbiseLutica EbiseLutica added the Backend バックエンドの更新を伴う label Mar 8, 2023
@kazu0617
Copy link

kazu0617 commented Mar 8, 2023

fedibirdが同じことやってるので全く問題ないと思います。欲しかった。

@EbiseLutica EbiseLutica pinned this issue Mar 29, 2023
@EbiseLutica EbiseLutica changed the title リモートサーバーのリアクションをそのまま押せる機能 リモートサーバーのリアクションをそのまま押せる機能(リアクションライディング) Mar 31, 2023
@EbiseLutica EbiseLutica self-assigned this Mar 31, 2023
@EbiseLutica EbiseLutica changed the title リモートサーバーのリアクションをそのまま押せる機能(リアクションライディング) リモートサーバーのリアクションに相乗りできる機能(リアクションライディング) Apr 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backend バックエンドの更新を伴う
Projects
None yet
Development

No branches or pull requests

2 participants