07:43:05
2024-09-07 14:01:24 tesaguri 🦀🦝の投稿 tesaguri@fedibird.com
icon

FEP-8b32はJSONベースの署名を埋め込みオブジェクトで上手く動作させるために`object`タームの定義をオーバーライドしてセマンティクスにも手を入れているけど(<codeberg.org/fediverse/fep/src>)、Activity StreamsオブジェクトをRDFとして扱っている実装(`rdf-pub`がそうだっけ?)との互換性が気になっている

07:43:10
2024-09-07 22:52:52 silverpillの投稿 silverpill@mitra.social
icon

このアカウントは、notestockで公開設定になっていません。

07:43:17
2024-09-08 01:38:31 silverpillの投稿 silverpill@mitra.social
icon

このアカウントは、notestockで公開設定になっていません。

12:08:13
icon

手続きマクロのUIテストの結果が手元とCIで食い違っていて首を傾げているけど、まあ実用上は困らなそうなので取りあえずはヨシッ(?)

12:10:17
icon

手元とCIでツールチェーンのバージョンが一致していることはもちろん確認済

12:18:06
icon

UIテスト、当然ながらツールチェーンを更新するたびに結果がコロコロ変わりがちなのがつらい。しかしいつの間にか全く想定していない出力になったりしても困るので、いずれにせよ継続的にテストを回す必要はあるのだけど

12:21:33
icon

まあ`trybuild`のおかげで追従作業がかなり楽にはなった。`compiletest_rs`のときは毎回手作業でテストを書き換えていたからなあ

12:37:43
2024-09-08 09:14:11 雪あすか🔞の投稿 askyq@kmy.blue
icon

このアカウントは、notestockで公開設定になっていません。

12:37:58
icon

Mastodonの`toot:indexable`とかは(デフォルトで検索可能と解するのが一般的である)Webの慣行と相性が悪いと思うけど、一方でフォロワー以外のユーザによる検索タイムラインにも含まないという仕様については、いわゆる非収載/未収載/ホーム「公開範囲」を「公開タイムラインに含めない」ものとして扱う慣習を踏まえればある種の一貫性はあるように思う(それに倣うべきかは別として)

12:42:15
icon

「公開範囲」を鉤括弧で囲んでいるのは、「公開範囲」/「可視性」というのはActivityPub/Activity Streamsで定められているわけでもない概念だからですね。Activity Streamsにあるのはアクターやそのコレクションを対象としたaudience targetingであって、"public"/"unlisted"/"limited"/"direct"といった有限通りの列挙型的な「公開範囲」ではないので(早口)(過激派)

12:43:08
2024-08-04 18:44:42 Erin 💽✨の投稿 erincandescent@erincandescent.net
icon

このアカウントは、notestockで公開設定になっていません。

12:57:00
icon

しかしaudience targetingを検索可能性に流用するのはやはり標準で明示的に定められた仕様ではないし、そうなると(著作権法施行規則第四条の四で`robots.txt`に与えられているような)法的な効力を持たせるのも難しそうだし、本当なら`fedibird:searchableBy`のような専用の仕組みを整備するのが良いのだろうけど

13:06:12
icon

s/(?<=一方で)/「非収載」のオブジェクトを/
(推敲のつもりで文節を並び替えているうちに前後が繋がらなくなってしまっていた)

13:13:35
2024-09-08 08:36:44 雪あすか🔞の投稿 askyq@kmy.blue
icon

このアカウントは、notestockで公開設定になっていません。

13:13:57
2024-09-08 10:41:48 雪あすか🔞の投稿 askyq@kmy.blue
icon

このアカウントは、notestockで公開設定になっていません。

13:14:26
icon

`Emoji`が標準化されていないとはいっても、オブジェクトの帰属を`id`のauthorityで判断するのは普通に普遍的な解釈だと思うけどなあ。
アクターのホストと`Emoji`オブジェクトのホストが食い違うときに無効なものと判定するならまだ分かるけど、当該の`Emoji`オブジェクトをアクターのホストのものとして処理する(というのが現行のMisskeyの仕様という認識で合っている?)のはかなりアクロバティックなように思える

13:22:41
icon

FEP-5e53: Opt-out Preference Signals - Standards / Fediverse Enhancement Proposals - SocialHub
socialhub.activitypub.rocks/t/
そういえば`X-Robots-Tag`をActivityPubに輸入しようという提案もあるのだった

13:34:59
icon

というか少なくともFedibirdはローカルのアクターによるリモートの絵文字リアクションへの「相乗り」の`Like`アクティビティの`tag`にリモートの`Emoji`オブジェクトを全て埋め込んでいるようだけど、これは(C2Sでなく連合の場合は)本来なら単にURIで良いはずだよね。
仮に埋め込みでないと上手く相互運用できないというなら、それは相手のサーバが(`id`をfetchし直さず埋め込まれた内容をそのまま信用するなどの)怪しい処理をしているということに他ならないわけだし

13:37:04
icon

まあこれは本来なら不要というだけで、埋め込んだら何かがまずいというわけでもないので別に良いのだけど

15:10:07
icon

あのMetaだってActivityPub対応を進めているのだから、もはやActivityPubに対応していないプラットフォームはDMA違反扱いで良いのでは(適当)

17:56:14
icon

Early Access Federation for Self-Hosters | Bluesky
docs.bsky.app/blog/self-host-f
> Unlike a Mastodon instance, it does not need to function as a full-fledged social media service
お、喧嘩売っとんのか?(?)

Web site image
Early Access Federation for Self-Hosters | Bluesky
17:56:45
icon

別にActivity Streamsだってオブジェクトを静的にホストすることは出来るわけですけど〜? <small style="font-size: xx-small">LDNを購読する代わりに静的な`Collection`をクロールできるような実装はまだ一般的でないけど</small>

18:04:48
icon

Pub/subを管理することに比べて定期的にクロールするというのはそこまで難しいものでないだろうから、本当に単に機運がないからやっていないだけなのでは

19:05:09
icon

【生演奏】秋にはちょっとはやい?演奏会♪【 】 - YouTube
youtube.com/watch?v=BTKmE0TJos

Attach YouTube
20:11:47
icon

ワードミュート等のフィルタリングの仕組みといわゆる検索避けを両立するには検索されたくないという意志を表示する手段は不可欠だと思うので、Mastodonの方式に従うかは別として何らかのオプトアウトの仕組みは欲しいよね

20:26:14
icon

`toot:indexable`は粒度が粗すぎて個人的には使いづらいと感じている。個別実装のインタフェースとしてアカウント単位の設定しか提供しないのは良いとしても、多様な実装から利用されることを想定した連合上の表現としては`fedibird:searchableBy`くらいの柔軟性が欲しいよね

20:29:05
icon

まあ連合上でオブジェクト単位で設定可能にした場合、アカウント単位で設定を変更したい場合にどうするんだという問題があるけど。というか`toot:indexable` aka. FEP-5febがアクター単位の設定になっているのがまさにその理由なのだよな(<socialhub.activitypub.rocks/t/>)

20:31:38
icon

それはそれとしてブーリアンでなくaudience targetingの表現を流用するくらいはできたのではという気はするけど。個別の実装として「フォロワー限定」のような検索範囲に対応したくないなら検索不能にフォールバックすれば良いわけで

20:36:58
icon

`toot`拡張、当然っちゃ当然ではあるけど、全体的にMastodonの実装詳細に影響されすぎの感がある。
例えば`manuallyApprovesFollowers`とかも、ActivityPubでは「フォロー承認制」相当の挙動がデフォルトなのだからそこは`automaticallyApprovesFollowers`のようなプロパティを生やすべきところだろという感じだし(細かい表現にうるさいオタク)。あ、これは`toot:`名前空間でなく`as:`名前空間に直接生やしてしまった拡張プロパティだったか

20:51:42
icon

@mei23 Fedibirdの場合はこんな感じですね(一部略):

```json
{
"id": "fedibird.com/emoji_reactions/1",
"type": "Like",
"content": ":blobsignya:",
"object": "fedibird.com/users/tesaguri/st",
"tag": [
{
"id": "misskey.m544.net/emojis/blobsi",
"type": "Emoji",
"name": ":blobsignya:",
"icon": { /* … */ }
}
]
}
``` [参照]

Web site image
tesaguri 🦀🦝 (@tesaguri@fedibird.com)
Web site image
投稿の参照(1件) by tesaguri 🦀🦝 (@tesaguri@fedibird.com)
20:53:47
icon

@mei23 私もFedibirdの実装を詳しく追っているわけではないですが、`Emoji`オブジェクトに`id`があるならそのURIの同一性をもってリモートのものと同一の絵文字であることが判定できるのではないでしょうか

20:59:57
icon

@mei23 その場合はそのURIをfetchすれば良いのではないでしょうか。<github.com/kmycode/mastodon/se>のような脆弱性のリスクを避けるためにはいずれにしても`id`をfetchする必要はあるでしょうし

Web site image
スタンプを利用することで、他のサーバーのカスタム絵文字の画像やライセンス情報などを上書きできる2つのリスク
21:06:27
icon

まあ、いちいち実装前にFEPを提案して相互運用性を検証しながら地道に仕様を固めたりしなくても、とりあえず実装してユーザ数の力で既成事実化すれば他の実装が追従してくれるのでユーザ数が正義なのだろう(炎上)

21:14:33
icon

一応補足しておくと、`toot:indexable`は実装後にFEPを出している(FEP-5feb)。一方で`fediverse:creator`などは……はい。Claire氏やa氏などとその他のメンバーで温度感が違いすぎるといったところだろうか