misskey-dev / misskey

🌎 An interplanetary microblogging platform 🚀
https://misskey-hub.net/
GNU Affero General Public License v3.0
9.81k stars 1.32k forks source link

Bridgy Fed(@bsky.brid.gy@bsky.brid.gy)のフォローが出来ない #13915

Open excelsior091224 opened 3 months ago

excelsior091224 commented 3 months ago

💡 Summary

Blueskyとのブリッジを行うBridgy Fed(@bsky.brid.gy@bsky.brid.gy)のフォローが「処理中」のまま完了しない。

🥰 Expected Behavior

@bsky.brid.gy@bsky.brid.gyをフォローしたとき、こちらからのフォローが成功し、同事に@bsky.brid.gy@bsky.brid.gyからこちらのアカウントもフォローされる。

🤬 Actual Behavior

私の建てたmisskeyインスタンス(https://misskey.vermilion3.xyz,Cloudflare tunnelを使用して外部公開)とmisskey.ioの2つで試したが、どちらも「処理中」のままで完了しない。 Screenshot_20240531-081512 Screenshot_20240531-082109 misskey.ioのほうだと、向こうからの自動リフォローは成功しているが、こちらからはフォローできていない状態。 Screenshot_20240531-083329 Screenshot_20240531-083133 Bridgy Fedのリポジトリのほうでイシューを作ったが、そちらでの回答によると以下の通り。 https://github.com/snarfed/bridgy-fed/issues/1093 misskey.vermilion3.xyzでの問題

Interesting. Looking at Bridgy Fed's logs for the last two weeks, it's never received a Follow or any other activities from https://misskey.vermilion3.xyz/@gimlet_202312 . Also, when we've tried to fetch other objects from that instance, it always returns HTTP 403 error. Looks like it's behind Cloudflare, which may be the problem. Looking at the Charts tab of https://misskey.vermilion3.xyz/instance-info/bsky.brid.gy , its requests to Bridgy Fed are failing too.

I use a Cloudflare tunnel to expose misskey.vermilion3.xyz to the outside world, but is that wrong?

Definitely not wrong! You just need to configure it to not return 403 errors to Bridgy Fed's (and I assume other fediverse instances') requests.

misskey.ioでの問題

Bridgy Fed sent the Accept activity below for that follow to https://misskey.io/users/9qdu744o1onc0cue/inbox at 16:21:04 PT and got an HTTP 202 response. If it's still not showing as accepted, then we'd probably need to ask the misskey.io admins or Misskey developers.

{
  "id": "https://fed.brid.gy/r/bsky.brid.gy/followers#accept-https://misskey.io/follows/9txg0s7ppz2y0dry",
  "actor": "https://bsky.brid.gy/bsky.brid.gy",
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Accept",
  "object": {
    "id": "https://misskey.io/follows/9txg0s7ppz2y0dry",
    "actor": "https://misskey.io/users/9qdu744o1onc0cue",
    "url": "https://misskey.io/users/9qdu744o1onc0cue#followed-bsky.brid.gy",
    "type": "Follow",
    "object": "https://bsky.brid.gy/bsky.brid.gy",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public"
    ]
  },
  "to": [
    "https://www.w3.org/ns/activitystreams#Public"
  ]
}

📝 Steps to Reproduce

1.あなたのmisskeyアカウントで@bsky.brid.gy@bsky.brid.gyをフォローする。

💻 Frontend Environment

* Model and OS of the device(s):Windows11,Android14
* Browser:Chrome
* Server URL:misskey.vermilion3.xyz,misskey.io
* Misskey:2024.3.1

🛰 Backend Environment (for server admin)

* Installation Method or Hosting Service:docker-compose
* Misskey:2024.3.1
* Node:20.10.0
* PostgreSQL:15.7
* Redis:7.2.5
* OS and Architecture:Ubuntu24.04LTS

Do you want to address this bug yourself?

kakkokari-gtyih commented 3 months ago

Related to https://github.com/misskey-dev/misskey/issues/9036

temtemy commented 3 months ago

I can follow Bridgy Fed from my Misskey instance at makai.chaotic.ninja so it probably is something else.

kussy-tessy commented 2 months ago
failed(UnrecoverableError: skip: signerHost(bsky.brid.gy) !== activity.id host(fed.brid.gy

っていうログを発見したので、idとactorのホスト名の表現が違うのが原因っぽい?

kussy-tessy commented 2 months ago

やや強引にUtilityService#extractDbHostをいじったらフォローが通るようになった。

public extractDbHost(uri: string): string {
    if (uri.includes('bsky.brid.gy')) return 'bsky.brid.gy';
    const url = new URL(uri);
    return this.toPuny(url.hostname);
}