新しいものを表示

取りあえず署名付きオブジェクトの転送については考えないものとして、理屈の上では配送当時のフォロワー(⊂過去全てのフォロワー)と過去に受けた`GET`リクエストの署名のkeyidの`owner`を覚えておけばかなり網羅できそうな気もするけど、例えばMastodonの`StatusReachFinder`を見た感じではそこまではしていなそう

tesaguri 🦀🦝 さんがブースト

照会によるGet式の取得でも容易に起きえる [参照]

Esna Ligunskaya 👑 りぐんすかやの女王  
なお、完全に削除できないというのは、なんらかの理由で削除リクエストが他サーバーに送られなかった場合に起きる現象で、そうそう頻繁に起こることではない。 連合外にリノートされたくらいで容易に起こり得る気がする
tesaguri 🦀🦝 さんがブースト

なお、完全に削除できないというのは、なんらかの理由で削除リクエストが他サーバーに送られなかった場合に起きる現象で、そうそう頻繁に起こることではない。
連合外にリノートされたくらいで容易に起こり得る気がする

tesaguri 🦀🦝 さんがブースト

feat: ノートの閲覧にログイン必須にする設定 by syuilo · Pull Request #14799 · misskey-dev/misskey
github.com/misskey-dev/misskey
参照されているissueの「AI、検索エンジンといったクローラーを避けたい時などに使えそう」というユースケースはどう満たしているのだろうか。
いわゆるauthorized fetchを強制したりしているのかな。斜め読みをした限りよく分からなかったけど

そういえば名前空間の所有権とはまた別の話だけど、FEP-268dを書いていたときにこれを見かけたのだけど、結局この`searchableBy`は実用されたことがあるのだろうか。あるならターム名の衝突だし、ないとしてもニアミスで、いずれにしても現行のFediverseにおいてJSON-LDの名前空間の仕組みが実質的に死に体になってしまっていることの弊害の例をなしていそう
QT: blahaj.zone/notes/9ev0kge0aj
[参照]

Kaity A  

Long, technical post 

tesaguri 🦀🦝 さんがブースト

Long, technical post 

Preface: This is a long, technical post so I apologise in advance. Please avert your eyes if such things offend you.

Hi everybeings!

Overview

@Ada and I have discussed many areas where we see problems in the way the Fediverse currently works and where would like to see improvements made to improve safety of the fediverse.

Safety on the fediverse is one of the topics we hold most dear.

One of these areas (and one that has recently garnered a lot of attention) has been in the area of full-text search, and despite the option for account-wide no-crawl options in many pieces of fediverse softwares, this option is not-federated, non-specific, non-granular and not-for-purpose with regards to fediverse searching. It's specifically designed and worded for crawler bots at a html scraping level, and while we could repurpose it for fedi-searching, it just doesn't feel right or quite fit.

There's been a lot of talk on a lot of different levels out there, but nobody's come to a concensus. A lot of people are talking about how we should do it and what standards we should use, and generally making the whole concept a lot more complicated than it needs to be.

In this post, I want to share with you some of the ideas that I've gathered through my research, and implemented in a way that is simple enough (KISS), not overly complicated (YAGNI) yet still fit for the purpose I need as both a software engineer and an instance admin, and that anyone accessing the content will need.

The idea in sharing this is not to convince me that it shouldn't be done, or to create the absolutely most perfect solution possible that's going to take 20 years to build and will be outdated by the time we get there.

This will be getting built and going out in weeks, not months, not next year. It's needed now. This is my current plan how to implement something we needed months ago, now. This is your chance to change my mind and help refine this plan before I start really coding it up.

Technical/implementation details

A lot of these options will be settable as a default value in your settings as well as at an individual post / file level during composition or afterwards at editing stage.

In terms of inbound federated AP objects which do not support these new fields, we will try to infer the intent based off existing AP fields and other metadata when present.

Specifically, we will be using the Mastodon Account Lookup API (
GET /api/v1/accounts/lookup?acct=) to get and store the noindex flag during actor creation/refresh. This will also allow us to put the noindex meta tag on any HTML pages containing that actor's posts.

Searchability

So you don't want people to be able to search for you. But is that everybody? Maybe you want your followers to be able to find your posts? Maybe the people you mention should be able to find your post? What about actual users on your local instance? Maybe a particular post you never want to appear in searches? Maybe a particular post you write contains stuff you want everyone to see?

We will be adding a global default and per-post override federated in AP as
hk:searchableBy which will be settable to public, private or a combination of followers, mentions or local. This is different to the currentvisibility in that you can have a public visibility post that is searchable by followers and mentions for example.

{
    ...
    "searchableBy": ["followers", "mentions"]
}

Interactivity

The other problem is that at the moment you can't control who can reply, boost, vote and/or react to your posts.

To this end, we will be adding per-post overrides federated in AP as
hk:canReply and hk:canInteract which will allow you to specify like on searches a combination of public, private, followers, mentions and local for replying to, and boost, voting or reacting to your posts respectively.
{
    ...
    "canReply": ["mentions"],
    "canInteract": ["public"]
}

Licensing

Licensing and attribution can get pretty tricky. On the fediverse, we're assuming that if you're making a post, then you have the rights and willingness to let the content be federated. If you didn't you wouldn't post.

However posting content sometimes requires you to provide the license and attribution that you're using along with the content. At the moment there's no reasonable or standardised way to provide this information on an image or in a post, thus you're in breach if you post a CC-BY licensed image.

So to alleviate this, we will be providing 2 federated AP fields
hk:licensing and hk:attribution. The licensing field will contain the URL of the license under which the content is being shared and the attribution will contain any links to the source content/s and/or creator/s.
{
    ...
    "license": "https://creativecommons.org/licenses/by-sa-nc/4.0/",
    "attribution": [
        "https://github.com/supakaity/icons"
    ]
}

Crawlability

So crawlability is about indexing of the content by external parties whether they be search engines or fedicrawlers. It will provide a per-object level flag under the AP field
hk:crawlable that lists whether the item may be processed by a bot. The possible values are true or false.
{
    ...
    "crawlable": false
}

Quotability

Now this is a controvertial one. Sometimes people out there don't mind their posts being boosted, but don't want them to be quoted. You know what we say? If you don't want your posts quoted, we should respect that and not allow people to quote you. So we'll be supplying an AP field
hk:canBoost that lists who can quote your posts using the same combination of actor types as above.
{
    ...
    "canQuote": ["followers"]
}

「ありそう」というか、名前空間というものがそもそもそういうものか……

スレッドを表示

他人が管理する名前空間の名前を勝手に使うの、所有者本人が同じ名前を使おうとした時に困るというアレがありそう

tesaguri 🦀🦝 さんがブースト

当該PRがCloseされたのでMisskeyにはまだ取り込まれてないです

tesaguri 🦀🦝 さんがブースト

AT Protocolの`!no-unauthenticated`ラベルとかいうやつ、エコシステムの中で一人だけ妙に浮いている気がする。他はあらゆるものを全世界に晒している中で中途半端に融通の効かないアクセス制御もどきが紛れ込んでいるというか

大量の実装がそれぞれ微妙に異なる拡張のセットしかサポートしていない中でいかにマシなフォールバック表現に落ち着くように拡張を設計できるかとかを考えるのが楽しいのに(いいえ)

AT Protocolの世界観では少数のAppViewの実装者が自身の所有するNSIDのlexiconをかっちりと制御するのが理想で、拡張プロパティが対等でないのはもしかして欠点ではなく機能として意図されているのではという気がしてきた。
コレクションは基本的に1つのAppView実装&インスタンスにのみ対応するという想定で、例えば`app.bsky.feed.like`に絵文字リアクションのサポートを追加する代替/フォークAppViewのようなものを考慮する必要性は低い的な(適当)
QT: fedibird.com/@tesaguri/1132657
[参照]

tesaguri 🦀🦝  
AT Protocolのレコードはデータ型のlexiconがプロパティを規定しているものと認識しているけど(詳しく読んでいないので知らんけど)、型がプロパティを規定するよりプロパティが型を規定するRDF的なアプローチの方が拡張性の観点で有利なのではという気がする

Just noticed has its `toot:indexable` value set to `false`. I wonder if it's intentional

Pleromaが絵文字の画像のURLを`id`に設定するの、すごい仕様だな……と思ったけど、そういえばMastodonの`Update`アクティビティとかも`id`を参照外ししたときにその`Update`アクティビティ自身が含まれないような文書が返ってくるのだったっけか

tesaguri 🦀🦝 さんがブースト

FedibirdもPleroma / Akkomaも、便乗リアクションができます。

既に投稿についているリアクションであれば、自分のサーバに登録されていない絵文字を使ったリアクションが可能になる機能です。

この際、他のサーバの絵文字情報を添えてリアクションのActivityを送信します。

受け取る側は、既に知っている絵文字であればそのまま受理しますが、知らない絵文字は、いったんリモート絵文字として登録した上でリアクションとして受理する流れになります。

このとき、他サーバの絵文字の情報が虚偽であるとマズイので、リモート絵文字を登録する前に、本来の絵文字の帰属サーバに問い合わせて存在確認をします。

ところがPleroma / Akkomaは絵文字の情報(Object)を取得できるurl(ID)に絵文字の画像URLを返してくるので、Objectを取得して照合することができません。

このため、未登録の第三者の絵文字を登録する処理を安全に行うことができず、この絵文字リアクションは失敗することになります。

あまり頻度の高い状況ではないのですが、制限ではあるので、一応気に留めておいて下さい。

スレッドを表示
tesaguri 🦀🦝 さんがブースト

絵文字リアクションの連合まわりについて、実装上の不備や仕様の変更を行いました。

・Pleroma / Akkomaに対し、絵文字リアクションを送ってもお気に入りとして届く問題を修正

・Holloからの絵文字リアクションを受け取れない問題を修正

・リアクションに添付する絵文字の情報をID(URI)のみで表現しても受理できるよう変更

・絵文字リアクションに対応したサーバへは、EmojiReact Activityを送信するよう変更

・お気に入りのみ対応のMastodonなど、絵文字リアクションに未対応のサーバへは、Like Activityで送信する(従来通りの仕様)

また現在、Pleroma系の仕様により、既についているPleroma系他サーバの絵文字を使ったリアクションに便乗した際、相手サーバがまだその絵文字を一度も受け取っていない場合は失敗します。

うん、何を言ってるかわかりにくいね! リプライで詳細を説明します。

✨Semantic Web✨に関わりたくないというのが普通に大きそう(?)

スレッドを表示

Solidのpodに署名されたActivity Streams文書を突っ込んだやつと比較して、改竄耐性を捨てた後のAT ProtocolのPDSが本質的にどういう優位性を保っているのかよく分かっていない。というのも、そもそもSolid自体を全く理解していないので(?)

スレッドを表示
古いものを表示
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。