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

Can't follow @bsky.brid.gy@bsky.brid.gy from my misskey instance #1093

Closed
excelsior091224 opened this issue May 30, 2024 · 64 comments
Closed
Labels
compat Protocol differences that need special handling. now

Comments

@excelsior091224
Copy link

excelsior091224 commented May 30, 2024

I tried to follow @bsky.brid.gy@bsky.brid.gy from the account of the Misskey instance I set up on my home server, but the follow remains in progress as shown in the attached image and does not complete.

Screenshot_20240530-115004

When I look at logs in the Misskey container, I see the following error, but I don't understand what it means. What is the reason why I can't follow it?

INFO *	[url-preview]	(Proxy) Getting preview of https://davesmapper.com/@en-US ...
DONE *	[url-preview]	Got preview of https://davesmapper.com/: Dave's Mapper
INFO *	[url-preview]	(Proxy) Getting preview of https://thegriddle.net/@en-US ...
DONE *	[url-preview]	Got preview of https://thegriddle.net/: Free Printable Puzzles
INFO *	[url-preview]	(Proxy) Getting preview of https://davegoesthedistance.com/@en-US ...
WARN 1	[queue inbox]	failed(UnrecoverableError: skip: failed to resolve user
    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:98:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)
    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)) id=604144 attempts=1/8 age=26ms activity=https://bgme.me/users/smilemonkey#delete {
  job: Job {
    queue: Worker {
      _events: [Object: null prototype],
      _eventsCount: 5,
      _maxListeners: undefined,
      name: 'inbox',
      opts: [Object],
      closed: false,
      connection: [RedisConnection],
      qualifiedName: 'misskey.vermilion3.xyz:queue:inbox:inbox',
      keys: [Object],
      toKey: [Function (anonymous)],
      scripts: [Scripts],
      abortDelayController: null,
      blockUntil: 0,
      drained: true,
      extendLocksTimer: Timeout {
        _idleTimeout: 7500,
        _idlePrev: [Timeout],
        _idleNext: [Timeout],
        _idleStart: 1873459,
        _onTimeout: [AsyncFunction (anonymous)],
        _timerArgs: undefined,
        _repeat: null,
        _destroyed: false,
        [Symbol(refed)]: true,
        [Symbol(kHasPrimitive)]: false,
        [Symbol(asyncId)]: 21465,
        [Symbol(triggerId)]: 21434
      },
      limitUntil: 0,
      waiting: [Promise],
      running: true,
      id: '6297c929-a61c-4f43-a8f4-a5e345e9a742',
      processFn: [Function (anonymous)],
      blockingConnection: [RedisConnection],
      stalledCheckTimer: Timeout {
        _idleTimeout: 30000,
        _idlePrev: [Timeout],
        _idleNext: [Timeout],
        _idleStart: 1865805,
        _onTimeout: [AsyncFunction (anonymous)],
        _timerArgs: undefined,
        _repeat: null,
        _destroyed: false,
        [Symbol(refed)]: true,
        [Symbol(kHasPrimitive)]: false,
        [Symbol(asyncId)]: 21422,
        [Symbol(triggerId)]: 0
      },
      asyncFifoQueue: [AsyncFifoQueue],
      [Symbol(kCapture)]: false
    },
    name: '',
    data: { activity: [Object], signature: [Object] },
    opts: {
      attempts: 8,
      delay: 0,
      backoff: [Object],
      removeOnFail: true,
      removeOnComplete: true
    },
    id: '604144',
    progress: 0,
    returnvalue: null,
    stacktrace: [
      'UnrecoverableError: skip: failed to resolve user\n' +
        '    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:98:19)\n' +
        '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
        '    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)\n' +
        '    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)'
    ],
    attemptsStarted: 1,
    attemptsMade: 1,
    delay: 0,
    repeatJobKey: undefined,
    timestamp: 1717037290624,
    parentKey: undefined,
    parent: undefined,
    toKey: [Function: bound ],
    scripts: Scripts { queue: [Worker], moveToFinishedKeys: [Array] },
    queueQualifiedName: 'misskey.vermilion3.xyz:queue:inbox:inbox',
    processedOn: 1717037290626,
    failedReason: 'skip: failed to resolve user',
    token: '6297c929-a61c-4f43-a8f4-a5e345e9a742:420',
    finishedOn: 1717037290649
  },
  e: {
    stack: 'UnrecoverableError: skip: failed to resolve user\n' +
      '    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:98:19)\n' +
      '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
      '    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)\n' +
      '    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)',
    message: 'skip: failed to resolve user',
    name: 'UnrecoverableError'
  }
}
DONE *	[url-preview]	Got preview of https://davegoesthedistance.com/: Dave Goes the Distance
WARN 1	[queue deliver]	failed(Error: 502 Bad Gateway
    at DeliverProcessorService.process (file:///misskey/packages/backend/built/queue/processors/DeliverProcessorService.js:127:23)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)
    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)) id=677 attempts=5/12 age=29m to=https://bsky.brid.gy/bsky.brid.gy/inbox
WARN 1	[queue inbox]	failed(UnrecoverableError: skip: Ignored deleted actors on both ends https://gametoots.de/users/writer13_press0451 - 404
    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:90:31)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)
    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)) id=604145 attempts=1/8 age=815ms activity=https://gametoots.de/users/writer13_press0451#delete {
  job: Job {
    queue: Worker {
      _events: [Object: null prototype],
      _eventsCount: 5,
      _maxListeners: undefined,
      name: 'inbox',
      opts: [Object],
      closed: false,
      connection: [RedisConnection],
      qualifiedName: 'misskey.vermilion3.xyz:queue:inbox:inbox',
      keys: [Object],
      toKey: [Function (anonymous)],
      scripts: [Scripts],
      abortDelayController: null,
      blockUntil: 0,
      drained: true,
      extendLocksTimer: Timeout {
        _idleTimeout: 7500,
        _idlePrev: [Timeout],
        _idleNext: [Timeout],
        _idleStart: 1918467,
        _onTimeout: [AsyncFunction (anonymous)],
        _timerArgs: undefined,
        _repeat: null,
        _destroyed: false,
        [Symbol(refed)]: true,
        [Symbol(kHasPrimitive)]: false,
        [Symbol(asyncId)]: 21779,
        [Symbol(triggerId)]: 21751
      },
      limitUntil: 0,
      waiting: [Promise],
      running: true,
      id: '6297c929-a61c-4f43-a8f4-a5e345e9a742',
      processFn: [Function (anonymous)],
      blockingConnection: [RedisConnection],
      stalledCheckTimer: Timeout {
        _idleTimeout: 30000,
        _idlePrev: [Timeout],
        _idleNext: [Timeout],
        _idleStart: 1895807,
        _onTimeout: [AsyncFunction (anonymous)],
        _timerArgs: undefined,
        _repeat: null,
        _destroyed: false,
        [Symbol(refed)]: true,
        [Symbol(kHasPrimitive)]: false,
        [Symbol(asyncId)]: 21586,
        [Symbol(triggerId)]: 0
      },
      asyncFifoQueue: [AsyncFifoQueue],
      [Symbol(kCapture)]: false
    },
    name: '',
    data: { activity: [Object], signature: [Object] },
    opts: {
      attempts: 8,
      delay: 0,
      backoff: [Object],
      removeOnFail: true,
      removeOnComplete: true
    },
    id: '604145',
    progress: 0,
    returnvalue: null,
    stacktrace: [
      'UnrecoverableError: skip: Ignored deleted actors on both ends https://gametoots.de/users/writer13_press0451 - 404\n' +
        '    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:90:31)\n' +
        '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
        '    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)\n' +
        '    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)'
    ],
    attemptsStarted: 1,
    attemptsMade: 1,
    delay: 0,
    repeatJobKey: undefined,
    timestamp: 1717037333533,
    parentKey: undefined,
    parent: undefined,
    toKey: [Function: bound ],
    scripts: Scripts { queue: [Worker], moveToFinishedKeys: [Array] },
    queueQualifiedName: 'misskey.vermilion3.xyz:queue:inbox:inbox',
    processedOn: 1717037333534,
    failedReason: 'skip: Ignored deleted actors on both ends https://gametoots.de/users/writer13_press0451 - 404',
    token: '6297c929-a61c-4f43-a8f4-a5e345e9a742:430',
    finishedOn: 1717037334347
  },
  e: {
    stack: 'UnrecoverableError: skip: Ignored deleted actors on both ends https://gametoots.de/users/writer13_press0451 - 404\n' +
      '    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:90:31)\n' +
      '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
      '    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)\n' +
      '    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)',
    message: 'skip: Ignored deleted actors on both ends https://gametoots.de/users/writer13_press0451 - 404',
    name: 'UnrecoverableError'
  }
}
WARN 1	[queue deliver]	failed(Error: 502 Bad Gateway
    at DeliverProcessorService.process (file:///misskey/packages/backend/built/queue/processors/DeliverProcessorService.js:127:23)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)
    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)) id=679 attempts=5/12 age=29m to=https://bsky.brid.gy/bsky.brid.gy/inbox
WARN 1	[queue deliver]	failed(Error: 502 Bad Gateway
    at DeliverProcessorService.process (file:///misskey/packages/backend/built/queue/processors/DeliverProcessorService.js:127:23)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)
    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)) id=684 attempts=1/12 age=1005ms to=https://bsky.brid.gy/bsky.brid.gy/inbox
INFO 1	[queue check-expired-mutings]	Checking expired mutings...
DONE 1	[queue check-expired-mutings]	All expired mutings checked.
WARN 1	[queue inbox]	failed(UnrecoverableError: skip: Ignored deleted actors on both ends https://mograph.social/users/Subocaj - 410
    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:90:31)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)
    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)) id=604146 attempts=1/8 age=1389ms activity=https://mograph.social/users/Subocaj#delete {
  job: Job {
    queue: Worker {
      _events: [Object: null prototype],
      _eventsCount: 5,
      _maxListeners: undefined,
      name: 'inbox',
      opts: [Object],
      closed: false,
      connection: [RedisConnection],
      qualifiedName: 'misskey.vermilion3.xyz:queue:inbox:inbox',
      keys: [Object],
      toKey: [Function (anonymous)],
      scripts: [Scripts],
      abortDelayController: null,
      blockUntil: 0,
      drained: true,
      extendLocksTimer: Timeout {
        _idleTimeout: 7500,
        _idlePrev: [Timeout],
        _idleNext: [Timeout],
        _idleStart: 1985980,
        _onTimeout: [AsyncFunction (anonymous)],
        _timerArgs: undefined,
        _repeat: null,
        _destroyed: false,
        [Symbol(refed)]: true,
        [Symbol(kHasPrimitive)]: false,
        [Symbol(asyncId)]: 22318,
        [Symbol(triggerId)]: 22275
      },
      limitUntil: 0,
      waiting: [Promise],
      running: true,
      id: '6297c929-a61c-4f43-a8f4-a5e345e9a742',
      processFn: [Function (anonymous)],
      blockingConnection: [RedisConnection],
      stalledCheckTimer: Timeout {
        _idleTimeout: 30000,
        _idlePrev: [Timeout],
        _idleNext: [Timeout],
        _idleStart: 1985813,
        _onTimeout: [AsyncFunction (anonymous)],
        _timerArgs: undefined,
        _repeat: null,
        _destroyed: false,
        [Symbol(refed)]: true,
        [Symbol(kHasPrimitive)]: false,
        [Symbol(asyncId)]: 22306,
        [Symbol(triggerId)]: 0
      },
      asyncFifoQueue: [AsyncFifoQueue],
      [Symbol(kCapture)]: false
    },
    name: '',
    data: { activity: [Object], signature: [Object] },
    opts: {
      attempts: 8,
      delay: 0,
      backoff: [Object],
      removeOnFail: true,
      removeOnComplete: true
    },
    id: '604146',
    progress: 0,
    returnvalue: null,
    stacktrace: [
      'UnrecoverableError: skip: Ignored deleted actors on both ends https://mograph.social/users/Subocaj - 410\n' +
        '    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:90:31)\n' +
        '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
        '    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)\n' +
        '    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)'
    ],
    attemptsStarted: 1,
    attemptsMade: 1,
    delay: 0,
    repeatJobKey: undefined,
    timestamp: 1717037398811,
    parentKey: undefined,
    parent: undefined,
    toKey: [Function: bound ],
    scripts: Scripts { queue: [Worker], moveToFinishedKeys: [Array] },
    queueQualifiedName: 'misskey.vermilion3.xyz:queue:inbox:inbox',
    processedOn: 1717037398812,
    failedReason: 'skip: Ignored deleted actors on both ends https://mograph.social/users/Subocaj - 410',
    token: '6297c929-a61c-4f43-a8f4-a5e345e9a742:445',
    finishedOn: 1717037400199
  },
  e: {
    stack: 'UnrecoverableError: skip: Ignored deleted actors on both ends https://mograph.social/users/Subocaj - 410\n' +
      '    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:90:31)\n' +
      '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
      '    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)\n' +
      '    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)',
    message: 'skip: Ignored deleted actors on both ends https://mograph.social/users/Subocaj - 410',
    name: 'UnrecoverableError'
  }
}
WARN 1	[queue inbox]	failed(UnrecoverableError: skip: Ignored deleted actors on both ends https://gametoots.de/users/totorruns - 404
    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:90:31)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)
    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)) id=604147 attempts=1/8 age=515ms activity=https://gametoots.de/users/totorruns#delete {
  job: Job {
    queue: Worker {
      _events: [Object: null prototype],
      _eventsCount: 5,
      _maxListeners: undefined,
      name: 'inbox',
      opts: [Object],
      closed: false,
      connection: [RedisConnection],
      qualifiedName: 'misskey.vermilion3.xyz:queue:inbox:inbox',
      keys: [Object],
      toKey: [Function (anonymous)],
      scripts: [Scripts],
      abortDelayController: null,
      blockUntil: 0,
      drained: true,
      extendLocksTimer: Timeout {
        _idleTimeout: 7500,
        _idlePrev: [Timeout],
        _idleNext: [Timeout],
        _idleStart: 2015986,
        _onTimeout: [AsyncFunction (anonymous)],
        _timerArgs: undefined,
        _repeat: null,
        _destroyed: false,
        [Symbol(refed)]: true,
        [Symbol(kHasPrimitive)]: false,
        [Symbol(asyncId)]: 22513,
        [Symbol(triggerId)]: 22472
      },
      limitUntil: 0,
      waiting: [Promise],
      running: true,
      id: '6297c929-a61c-4f43-a8f4-a5e345e9a742',
      processFn: [Function (anonymous)],
      blockingConnection: [RedisConnection],
      stalledCheckTimer: Timeout {
        _idleTimeout: 30000,
        _idlePrev: [Timeout],
        _idleNext: [Timeout],
        _idleStart: 2015813,
        _onTimeout: [AsyncFunction (anonymous)],
        _timerArgs: undefined,
        _repeat: null,
        _destroyed: false,
        [Symbol(refed)]: true,
        [Symbol(kHasPrimitive)]: false,
        [Symbol(asyncId)]: 22503,
        [Symbol(triggerId)]: 0
      },
      asyncFifoQueue: [AsyncFifoQueue],
      [Symbol(kCapture)]: false
    },
    name: '',
    data: { activity: [Object], signature: [Object] },
    opts: {
      attempts: 8,
      delay: 0,
      backoff: [Object],
      removeOnFail: true,
      removeOnComplete: true
    },
    id: '604147',
    progress: 0,
    returnvalue: null,
    stacktrace: [
      'UnrecoverableError: skip: Ignored deleted actors on both ends https://gametoots.de/users/totorruns - 404\n' +
        '    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:90:31)\n' +
        '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
        '    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)\n' +
        '    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)'
    ],
    attemptsStarted: 1,
    attemptsMade: 1,
    delay: 0,
    repeatJobKey: undefined,
    timestamp: 1717037433554,
    parentKey: undefined,
    parent: undefined,
    toKey: [Function: bound ],
    scripts: Scripts { queue: [Worker], moveToFinishedKeys: [Array] },
    queueQualifiedName: 'misskey.vermilion3.xyz:queue:inbox:inbox',
    processedOn: 1717037433555,
    failedReason: 'skip: Ignored deleted actors on both ends https://gametoots.de/users/totorruns - 404',
    token: '6297c929-a61c-4f43-a8f4-a5e345e9a742:453',
    finishedOn: 1717037434068
  },
  e: {
    stack: 'UnrecoverableError: skip: Ignored deleted actors on both ends https://gametoots.de/users/totorruns - 404\n' +
      '    at InboxProcessorService.process (file:///misskey/packages/backend/built/queue/processors/InboxProcessorService.js:90:31)\n' +
      '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
  

Misskey version: misskey@2024.3.1(docker image latest)
nodejs: v20.10.0

@excelsior091224
Copy link
Author

I just tried clicking the follow button from the misskey.io account, but the same thing happened.
Screenshot_20240530-125657

@snarfed
Copy link
Owner

snarfed commented May 30, 2024

Hmm! Sorry for the trouble. I know we have at least some Misskey accounts using the bridge successfully. If you're ok with posting them, what are the two accounts that you tried from here?

@excelsior091224
Copy link
Author

These are accounts who tried it.

https://misskey.vermilion3.xyz/@gimlet_202312
https://misskey.io/@gimlet_202312

@snarfed
Copy link
Owner

snarfed commented May 30, 2024

Ah, looks like you're getting caught by the spam filters. Right now, Bridgy Fed requires a profile picture and display name that's different from your username. https://fed.brid.gy/docs#fediverse-cant-find

@excelsior091224
Copy link
Author

Ah, looks like you're getting caught by the spam filters. Right now, Bridgy Fed requires a profile picture and display name that's different from your username. https://fed.brid.gy/docs#fediverse-cant-find

I don't understand what you mean by "a profile picture and display name that's different from your username". At least on my first account, my profile picture is different from the default one, and my display name is different from my username. How can I change it?

@excelsior091224
Copy link
Author

https://misskey.io/@gimlet_202312
I tried changing the display name and profile picture for the second account, but they remained the same.

@snarfed
Copy link
Owner

snarfed commented May 30, 2024

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.

@snarfed
Copy link
Owner

snarfed commented May 30, 2024

I tried changing the display name and profile picture for the second account, but they remained the same.

Looks like you're up and running! https://bsky.app/profile/gimlet-202312.misskey.io.ap.brid.gy . You can unfollow and refollow @bsky.brid.gy@bsky.brid.gy to get it to accept your follow, follow you back, and start bridging posts.

@excelsior091224
Copy link
Author

I tried changing the display name and profile picture for the second account, but they remained the same.

Looks like you're up and running! https://bsky.app/profile/gimlet-202312.misskey.io.ap.brid.gy . You can unfollow and refollow @bsky.brid.gy@bsky.brid.gy to get it to accept your follow, follow you back, and start bridging posts.

Screenshot_20240531-081512
Nothing changes. It remains the same.

@snarfed
Copy link
Owner

snarfed commented May 30, 2024

Nothing changes. It remains the same.

That's the instance that isn't working with Bridgy Fed, as I described above. Try from misskey.io.

@excelsior091224
Copy link
Author

Screenshot_20240531-082109
Same.

@snarfed
Copy link
Owner

snarfed commented May 30, 2024

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"
  ]
}

@excelsior091224
Copy link
Author

excelsior091224 commented May 30, 2024

Screenshot_20240531-083133
Screenshot_20240531-083329
It seems that I am being followed on misskey.io, but my follow is not reflected.
Also, misskey.vermilion3.xyz is the account I actually use (misskey.io is a test account), so if I can't use it there, it's pointless. I use a Cloudflare tunnel to expose misskey.vermilion3.xyz to the outside world, but is that wrong? That would be a problem. If you want to expose it to the public in a way other than Cloudflare tunnel, you would probably have to rent another VPS and use a reverse proxy, which would incur additional running costs.

@snarfed
Copy link
Owner

snarfed commented May 30, 2024

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.

@excelsior091224
Copy link
Author

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.

I don't have it set up to return a 403 and I can follow other Fediverse accounts.

@snarfed
Copy link
Owner

snarfed commented May 31, 2024

I don't know what to tell you. https://misskey.vermilion3.xyz/instance-info/bsky.brid.gy shows that your instance's requests to Bridgy Fed are all failing, and Bridgy Fed's requests to your instance all fail with HTTP 403 errors that look like they're served by Cloudflare.

@excelsior091224
Copy link
Author

I made issue in https://github.com/misskey-dev/misskey/.

@excelsior091224
Copy link
Author

I output the log of misskey.vermilion3.xyz. Does this give you any idea?

error_logs_misskey.log
It's getting multiple errors like this so I think something is wrong.

WARN 1	[queue deliver]	failed(Error: 502 Bad Gateway
    at DeliverProcessorService.process (file:///misskey/packages/backend/built/queue/processors/DeliverProcessorService.js:127:23)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)
    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)) id=712 attempts=1/12 age=1739ms to=https://bsky.brid.gy/bsky.brid.gy/inbox
WARN 1	[queue deliver]	failed(Error: 502 Bad Gateway
    at DeliverProcessorService.process (file:///misskey/packages/backend/built/queue/processors/DeliverProcessorService.js:127:23)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Worker.processJob (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28)
    at async Worker.retryIfFailed (/misskey/node_modules/.pnpm/bullmq@5.4.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)) id=713 attempts=1/12 age=2824ms to=https://bsky.brid.gy/bsky.brid.gy/inbox

@excelsior091224
Copy link
Author

excelsior091224 commented May 31, 2024

There was a record of a Cloudflare WAF event. It seems that the bot fight mode was activated.
image
I created a skip rule, but it seems that it can't skip the bot fight mode. In fact, it still worked after I created it.
https://developers.cloudflare.com/waf/custom-rules/skip/options/
image
What can I do? For safety reasons, the Bot Fight mode itself cannot be disabled.

@snarfed
Copy link
Owner

snarfed commented May 31, 2024

Ah, good catch! Makes sense. I don't know what you can do, I've never used Cloudflare's WAF.

@excelsior091224
Copy link
Author

Ah, good catch! Makes sense. I don't know what you can do, I've never used Cloudflare's WAF.

So nothing we can do. If I turn off the firewall, my instance will quickly become a victim of malicious bots. I'm sure there are other instances that use Cloudflare, but I wonder if they are all like this.

@excelsior091224
Copy link
Author

Regarding the issue where I can't follow on misskey.io, I received a reply to an issue I created in the misskey repository. It seems to be related to misskey-dev/misskey#9036.

@excelsior091224
Copy link
Author

Ah, good catch! Makes sense. I don't know what you can do, I've never used Cloudflare's WAF.

Is there anything you can do? I'd be in trouble if I couldn't use Cloudflare on my instance.

@snarfed
Copy link
Owner

snarfed commented May 31, 2024

I don't know of anything I can do on my end. Sounds like Bot Fight mode specifically is the problem, right? You're sure you can't disable it? https://mastodon.social/@andryou/108218913202599968

@excelsior091224
Copy link
Author

I don't know of anything I can do on my end. Sounds like Bot Fight mode specifically is the problem, right? You're sure you can't disable it? https://mastodon.social/@andryou/108218913202599968

The issue isn't whether I can actually turn it off, it's that if I do, my instance open itself up to attacks from nasty bots other than yours.

@qazmlp
Copy link

qazmlp commented May 31, 2024

I'm pretty sure you'd realistically have to turn off Bot Fight Mode for the entire ActivityPub API for your instance to function correctly (also with regard to other legitimate servers), or at least have to make it use very loose limits. Automated/"bot" fetches are a pretty central part of the protocol.

Generally speaking, services like this are incompatible with anti-bot measures built for general web pages.
You can leave it enabled for the web-visible/HTML portion of the site, of course, which should still lock out the bots it's made to handle.

@excelsior091224
Copy link
Author

I ended up disabling bot fight mode. I got a follow back, but it's still processing.
Screenshot_20240601-004041
Screenshot_20240601-004256

@qazmlp
Copy link

qazmlp commented May 31, 2024

It should be working now. The follow being confirmed isn't actually necessary for it to fully function, I think.

@snarfed
Copy link
Owner

snarfed commented Jun 5, 2024

Glad this is working! Tentatively closing. Feel free to reopen if necessary!

@snarfed
Copy link
Owner

snarfed commented Aug 20, 2024

@excelsior091224 oh no, it looks like you blocked @bsky.brid.gy@bsky.brid.gy from that account at 08:54:45 UTC today, which disabled its bridging and deleted its bridged Bluesky account https://bsky.app/profile/gimlet-202312.misskey.vermilion3.xyz.ap.brid.gy . I see that you later un-blocked it, but right now Bluesky doesn't support undeleting accounts. https://fed.brid.gy/docs#opt-out

I'm sorry. Hopefully they'll add that support soon!

@excelsior091224
Copy link
Author

@snarfed
I blocked it because I thought that disconnecting and reconnecting would fix the problem. To no avail.
Instead, an issue posted in misskey's repository revealed that the follow was stuck in progress due to a mismatch between the expression of the id and the actor's hostname.

misskey-dev/misskey#13915 (comment)

failed(UnrecoverableError: skip: signerHost(bsky.brid.gy) !== activity.id host(fed.brid.gy

idとactorのホスト名の表現が違うのが原因っぽい?
It seems like the cause is the different expression of the id and actor hostname?

misskey-dev/misskey#13915 (comment)

やや強引にUtilityService#extractDbHostをいじったらフォローが通るようになった。
I managed to get the follow up to work by tweaking UtilityService#extractDbHost a little forcefully.

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);
}

Ultimately, that's your problem. Can't you do something about it?

@qazmlp
Copy link

qazmlp commented Aug 20, 2024

For context:
https://github.com/misskey-dev/misskey/blob/043ab1f69b78af5caea47644a2878cae3cdbe141/packages/backend/src/queue/processors/InboxProcessorService.ts#L78-L182
https://github.com/misskey-dev/misskey/blob/043ab1f69b78af5caea47644a2878cae3cdbe141/packages/backend/src/core/activitypub/ApDbResolverService.ts#L123-L147

I wonder if it got confused because Bridgy also answers to @bsky.brid.gy@fed.brid.gy and https://fed.brid.gy/bsky.brid.gy (though the former points to https://bsky.brid.gy/bsky.brid.gy and both that and the https://fed.… URL serve the user and key data with the https://bsky.brid.gy/ domain).

Though, @snarfed please check which keyid you use for the HTTP signature. I found

obj = Object.get_or_create(id, authed_as=followee.key.id(),
but I don't know what that results in.


By the way,

def _load_key(cls, key_id, follow_owner=True):
seemingly doesn't match https://swicg.github.io/activitypub-http-signature/#how-to-obtain-a-signature-s-public-key. It would fail if there are multiple keys or if the ID leads to a raw key object, I think.


Edit: As a side note, I keep misreading the public keys because I check the start instead of the end for identity.
The keys used by Bridgy Fed on each account are distinct.

@qazmlp
Copy link

qazmlp commented Aug 20, 2024

[…] Can't you do something about it?

Just to clarify, while the issue with the Accept may be fixable here, as far as I know, your account currently can't be bridged again due to an issue with Bluesky. This would be #1130.

@excelsior091224
Copy link
Author

@snarfed
@qazmlp
So you closed this issue without solving anything and now I can't bridge misskey's posts to Bluesky anymore. How are you going to take responsibility for this?

@snarfed
Copy link
Owner

snarfed commented Aug 20, 2024

Sorry this still isn't working for your Misskey instance @excelsior091224! We got it working with at least some other Misskey instances, but it sounds like it's not fully fixed. I'm happy to reopen.

And thank you for the details on Misskey's hostname check! That definitely is a problem. However, nothing in ActivityPub requires activity ids and actor ids to be on the same host. If Misskey requires it, that's a non-standard requirement on Misskey's part that most other fediverse software doesn't share.

I can look into moving these specific follow ids onto bsky.brid.gy to match the bot actor. Bridgy Fed generates many different kinds of activities, though, and it has logic based on those activities' hosts (subdomains). I doubt I'd be able to move every activity's host to match its actor.

@snarfed snarfed reopened this Aug 20, 2024
@snarfed
Copy link
Owner

snarfed commented Aug 20, 2024

Huh, actually, @excelsior091224 the bot's follow activity ids are already on bsky.brid.gy after all. Here's an example that we delivered at 2024-08-19 17:05:35 UTC to https://misskey.vermilion3.xyz/users/9mvya5mf7tue0001/inbox , which returned HTTP 202:

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Follow",
  "id": "https://bsky.brid.gy/r/https://bsky.brid.gy/#follow-back-https://misskey.vermilion3.xyz/users/9mvya5mf7tue0001-2024-08-20T00:05:35.434465+00:00",
  "actor": "https://bsky.brid.gy/bsky.brid.gy",
  "object": "https://misskey.vermilion3.xyz/users/9mvya5mf7tue0001",
  "to": ["https://www.w3.org/ns/activitystreams#Public"]
}

@excelsior091224
Copy link
Author

Huh, actually, @excelsior091224 the bot's follow activity ids are already on bsky.brid.gy after all. Here's an example that we delivered at 2024-08-19 17:05:35 UTC to https://misskey.vermilion3.xyz/users/9mvya5mf7tue0001/inbox , which returned HTTP 202:

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Follow",
  "id": "https://bsky.brid.gy/r/https://bsky.brid.gy/#follow-back-https://misskey.vermilion3.xyz/users/9mvya5mf7tue0001-2024-08-20T00:05:35.434465+00:00",
  "actor": "https://bsky.brid.gy/bsky.brid.gy",
  "object": "https://misskey.vermilion3.xyz/users/9mvya5mf7tue0001",
  "to": ["https://www.w3.org/ns/activitystreams#Public"]
}

So what's this?
Misskey's follow button is still showing the spinning loading circle.
image
And it's the same with misskey.io.
image
Either way, I can't bridge from my misskey instance account to Bluesky forever. I don't think Bluesky will respond. This is because you guys didn't listen to me properly.

@snarfed
Copy link
Owner

snarfed commented Aug 20, 2024

Understood. I don't know why those aren't working yet, I'm sorry. Thank you for the information so far.

And I'm sorry you can't currently re-enable fediverse =>Bluesky bridging after you disable it! Hopefully it won't be forever, the Bluesky team knows about this and will hopefully fix it eventually, but I don't know when yet.

@qazmlp
Copy link

qazmlp commented Aug 20, 2024

Huh, actually, @excelsior091224 the bot's follow activity ids are already on bsky.brid.gy after all. Here's an example that we delivered at 2024-08-19 17:05:35 UTC to https://misskey.vermilion3.xyz/users/9mvya5mf7tue0001/inbox , which returned HTTP 202:

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Follow",
  "id": "https://bsky.brid.gy/r/https://bsky.brid.gy/#follow-back-https://misskey.vermilion3.xyz/users/9mvya5mf7tue0001-2024-08-20T00:05:35.434465+00:00",
  "actor": "https://bsky.brid.gy/bsky.brid.gy",
  "object": "https://misskey.vermilion3.xyz/users/9mvya5mf7tue0001",
  "to": ["https://www.w3.org/ns/activitystreams#Public"]
}

The problem in this case is the Accept activity I believe, not Follow.

@snarfed
Copy link
Owner

snarfed commented Aug 20, 2024

Ah! Good point, thank you.

@snarfed
Copy link
Owner

snarfed commented Aug 20, 2024

Oh also @qazmlp re your keyId questions in #1093 (comment) , these activities are signed with keyId https://bsky.brid.gy/bsky.brid.gy#key. Here's what the key material and context parts of https://bsky.brid.gy/bsky.brid.gy look like:

  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1"
  ],
  "publicKey": {
    "id": "https://bsky.brid.gy/bsky.brid.gy#key",
    "owner": "https://bsky.brid.gy/bsky.brid.gy",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"
  },

And yeah BF probably doesn't perfectly implement all of https://swicg.github.io/activitypub-http-signature/#how-to-obtain-a-signature-s-public-key (which I wrote 😂). I'm comfortable that it's as good or better than average on the fediverse, but it could always be improved!

@qazmlp
Copy link

qazmlp commented Aug 20, 2024

Thanks! I think I had the error message a bit backwards in my mind when I asked, but this is still helping me understand the protocol a little better.

@ygg2
Copy link

ygg2 commented Aug 21, 2024

I can confirm my own follow never went through either, even after our server admin lifted the limit on the bridge, but the bridge was able to follow me. It's confusing but my account is being bridged fine.
edit: image
follow
edit 2: excelsior's image shows that the bridge is following the misskey.io account too.

@excelsior091224
Copy link
Author

In addition, I recently made my blog compatible with Bridgy Fed, but the following from the misskey instance (misskey.vermilion3.xyz, misskey.io) is still in process and is not completed. I think this is the same problem as this one. This is a real problem because it will not appear on the timeline until the following is completed. Please look into it.

my instance(misskey.vermilion3.xyz)
Screenshot_20240822-111520
misskey.io
Screenshot_20240822-111559

@snarfed
Copy link
Owner

snarfed commented Oct 23, 2024

The main outstanding thing to do here is move Accept activity ids from fed.brid.gy to the bot user's domain. I'll do that.

@snarfed snarfed added the now label Oct 23, 2024
@snarfed
Copy link
Owner

snarfed commented Oct 23, 2024

Recent example from send task 07286805063984658111:

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "id": "https://fed.brid.gy/r/bsky.brid.gy/followers#accept-https://capivarinha.club/follows/9zpti9k9fhub1bzu",
  "actor": "https://bsky.brid.gy/bsky.brid.gy",
  "type": "Accept",
  "object": {
    "actor": "https://capivarinha.club/users/9wo76ceniz9c0001",
    "id": "https://capivarinha.club/follows/9zpti9k9fhub1bzu",
    "url": "https://capivarinha.club/users/9wo76ceniz9c0001#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"]
}

@snarfed
Copy link
Owner

snarfed commented Nov 2, 2024

OK, Accept ids are now on the same domain as their actor.

Anyone here on Misskey/Sharkey, feel free to try following @bsky.brid.gy, or any bridged Bluesky user, and see if your follow gets accepted!

@excelsior091224
Copy link
Author

ok. it seems works on misskey.

@snarfed
Copy link
Owner

snarfed commented Nov 2, 2024

Awesome, thanks for confirming!

@snarfed snarfed closed this as completed Nov 2, 2024
@ygg2
Copy link

ygg2 commented Nov 2, 2024

From Sharkey, can confirm after unfollowing and refollowing, it's finally out of eternal Processing 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compat Protocol differences that need special handling. now
Projects
None yet
Development

No branches or pull requests

5 participants