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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Note attachments of type:Link get sent to ApImageService, breaking federation with Lemmy #12243

Closed
ShittyKopper opened this issue Nov 4, 2023 · 1 comment
Labels
鈿狅笍bug? This might be a bug

Comments

@ShittyKopper
Copy link

ShittyKopper commented Nov 4, 2023

馃挕 Summary

Fetching a Lemmy post with a link or an image does not work. Text-only posts do work fine.

This happens because Lemmy sends attachments with a type of Link (with a href property), whereas Misskey seems to expect something with a url property.

Also note that Link is used for more than just media, so simply treating href same as url will not work.

馃グ Expected Behavior

For the post(s) to be fetched just fine

馃が Actual Behavior

ERR  *	[api]	Internal error occurred in ap/show: invalid image: url not provided
{
  ep: 'ap/show',
  ps: { uri: 'https://sopuli.xyz/post/5429583', i: '5DiorIRPMhLIgbih' },
  e: {
    message: 'invalid image: url not provided',
    code: 'Error',
    stack: 'Error: invalid image: url not provided\n' +
      '    at ApImageService.createImage (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApImageService.js:52:19)\n' +
      '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
      '    at async ApImageService.resolveImage (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApImageService.js:89:16)\n' +
      '    at async Promise.all (index 0)\n' +
      '    at async ApNoteService.createNote (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApNoteService.js:158:24)\n' +
      '    at async default_1.fetchAny (file:///home/ego/misskey/packages/backend/built/server/api/endpoints/ap/show.js:140:141)\n' +
      '    at async file:///home/ego/misskey/packages/backend/built/server/api/endpoints/ap/show.js:96:28\n' +
      '    at async ApiCallService.call (file:///home/ego/misskey/packages/backend/built/server/api/ApiCallService.js:328:16)',
    id: 'e971ebed-4995-470c-b24d-71d8d7b330f9'
  }
}
Error: invalid image: url not provided
    at ApImageService.createImage (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApImageService.js:52:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async ApImageService.resolveImage (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApImageService.js:89:16)
    at async Promise.all (index 0)
    at async ApNoteService.createNote (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApNoteService.js:158:24)
    at async default_1.fetchAny (file:///home/ego/misskey/packages/backend/built/server/api/endpoints/ap/show.js:140:141)
    at async file:///home/ego/misskey/packages/backend/built/server/api/endpoints/ap/show.js:96:28
    at async ApiCallService.call (file:///home/ego/misskey/packages/backend/built/server/api/ApiCallService.js:328:16) e971ebed-4995-470c-b24d-71d8d7b330f9
ERR  *	[api]	Internal error occurred in ap/show: invalid image: url not provided
{
  ep: 'ap/show',
  ps: {
    uri: 'https://programming.dev/post/5191385',
    i: '5DiorIRPMhLIgbih'
  },
  e: {
    message: 'invalid image: url not provided',
    code: 'Error',
    stack: 'Error: invalid image: url not provided\n' +
      '    at ApImageService.createImage (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApImageService.js:52:19)\n' +
      '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
      '    at async ApImageService.resolveImage (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApImageService.js:89:16)\n' +
      '    at async Promise.all (index 0)\n' +
      '    at async ApNoteService.createNote (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApNoteService.js:158:24)\n' +
      '    at async default_1.fetchAny (file:///home/ego/misskey/packages/backend/built/server/api/endpoints/ap/show.js:140:141)\n' +
      '    at async file:///home/ego/misskey/packages/backend/built/server/api/endpoints/ap/show.js:96:28\n' +
      '    at async ApiCallService.call (file:///home/ego/misskey/packages/backend/built/server/api/ApiCallService.js:328:16)',
    id: '866c1c85-521c-493c-8e6c-df1be0e85d17'
  }
}
Error: invalid image: url not provided
    at ApImageService.createImage (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApImageService.js:52:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async ApImageService.resolveImage (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApImageService.js:89:16)
    at async Promise.all (index 0)
    at async ApNoteService.createNote (file:///home/ego/misskey/packages/backend/built/core/activitypub/models/ApNoteService.js:158:24)
    at async default_1.fetchAny (file:///home/ego/misskey/packages/backend/built/server/api/endpoints/ap/show.js:140:141)
    at async file:///home/ego/misskey/packages/backend/built/server/api/endpoints/ap/show.js:96:28
    at async ApiCallService.call (file:///home/ego/misskey/packages/backend/built/server/api/ApiCallService.js:328:16) 866c1c85-521c-493c-8e6c-df1be0e85d17

馃摑 Steps to Reproduce

  1. Lookup https://sopuli.xyz/post/5429583 or https://programming.dev/post/5191385
  2. Observe error

馃捇 Frontend Environment

No response

馃洶 Backend Environment (for server admin)

* Installation Method or Hosting Service: development
* Misskey: commit 8372e547ebd820447aa4c6c8bd1040c51411a2aa
* Node: v20.9.0
* PostgreSQL: 16.0
* Redis: 7.2.2
* OS and Architecture: Arch Linux x86_64
@ShittyKopper
Copy link
Author

#13754 has likely fixed this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
鈿狅笍bug? This might be a bug
Projects
None yet
Development

No branches or pull requests

1 participant