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

外部サービス連携情報をPersonのfieldsに乗せて配信する #3499

Merged
merged 3 commits into from
Dec 5, 2018

Conversation

acid-chicken
Copy link
Member

Related to #66

@AyaMorisawa
Copy link
Contributor

@mei23 you can merge if it looks good to you

@syuilo syuilo added enhancement 🌌Federation The Federation/ActivityPub feature labels Dec 5, 2018
Copy link
Contributor

@mei23 mei23 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

なぜfieldsにしたのかが気になる
定義も既存の実装もみつからなかったので

@mei23
Copy link
Contributor

mei23 commented Dec 5, 2018

MastodonにはFieldという、ユーザーが独自にnameとvalueのペアを4つ定義できる場所がありますが
https://docs.joinmastodon.org/api/entities/#field

これはAP上ではfieldsではなくattachment PropertyValueとして配信されているみたいです。

  attachment:
   [ { type: 'PropertyValue',
       name: 'name',
       value:
        '<a href= ...' },
     { type: 'PropertyValue',
       name: 'name',
       value:
        '<a href= ...' },

もし、これに対応することを意図している場合はattachment PropertyValueにしないといけないと思います。
ただこれに対応しようとすると、Mastodonは4つまでしか定義できなそう?なので
今後ユーザーが自由に項目を追加できる機能や連携が増えた時に足りなくなる可能性があり。
(これは、後々自由項目を優先したり、連携の自動表示を切り替えるオプションを入れればいいかも)

Misskeyでしか使えない独自項目とするでもいいのですが、
この場合、直下のfieldsはなんかどこかで他の実装と被りそうなのが気になります。

@tamaina
Copy link
Member

tamaina commented Dec 5, 2018

(Mastodonとの互換を意図していた場合)MastodonのFieldとMisskeyの外部連携の意味合いが大きく違っているのがとても気になる。
MastodonのFieldは自由に設定可能だが、Misskeyの外部連携はきちんとした認証を行っているので、そこは混ぜないほうがよさそう。

@acid-chicken acid-chicken changed the title 外部サービス連携情報をPersonのfieldsに乗せて配信する WIP: 外部サービス連携情報をPersonのfieldsに乗せて配信する Dec 5, 2018
@mei23
Copy link
Contributor

mei23 commented Dec 5, 2018

他のインスタンスからの情報という時点で完全に信頼できるわけでないので、
認証の厳密さはさほど気にしないでいいと思う気がするわ。

あと、この配信部分だけ独自実装しても誰も確認できない機能になるので
ならば、MastodonのFieldに寄せて利用できるようにしたほうがいいと思う。
valueの生成方法を見るに寄せることを意図していた?ように見える。

@acid-chicken
Copy link
Member Author

@mei23 はい、仰る通り、寄せる事をある程度意識しておりました。完全に私のミスリードでした、レビュー感謝いたします。また、他インスタンスの情報が信頼できないというのも仰る通りで、OAuth 2のトークンをうまいこと使って何か証明する方法はないものかと少々考えておりましたが、考えるのを諦めたところです。

@acid-chicken
Copy link
Member Author

とりあえず一旦ご指摘の部分だけ寄せ直します。

@mei23
Copy link
Contributor

mei23 commented Dec 5, 2018

@AyaMorisawa @syuilo たぶん大丈夫だけど、フィールドの場所を変えている (Mastodonのカスタムフィールドとして出るように寄せてる) ので、問題なさそうならマージお願いなのだわ。

@syuilo
Copy link
Member

syuilo commented Dec 5, 2018

もうWIPではなさそう?

@acid-chicken acid-chicken changed the title WIP: 外部サービス連携情報をPersonのfieldsに乗せて配信する 外部サービス連携情報をPersonのfieldsに乗せて配信する Dec 5, 2018
@syuilo syuilo merged commit fe891da into develop Dec 5, 2018
@syuilo
Copy link
Member

syuilo commented Dec 5, 2018

Thank you guys!
🙏🙏🙏

@tateisu
Copy link

tateisu commented Dec 5, 2018

マストドンのカスタマイズされたタンスで4より多いフィールドを定義しているところはある。そのプロフィールが無改造のマストドンのタンスに流れてきた場合、少なくとも公式WebUIはそれを全て表示する。(クライアントによっては4つまでしか表示しない)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🌌Federation The Federation/ActivityPub feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants