TypeORMError: "user_profile" alias was not found. #132

Closed
opened 2022-09-08 16:41:27 +00:00 by mia · 11 comments
Contributor

Attempting to create notes or reactions causes the following error (as of 058d414fff):

TypeORMError: "user_profile" alias was not found. Maybe you forgot to join it?
    at QueryExpressionMap.findAliasByName (/data/misskey/misskey/node_modules/typeorm/query-builder/QueryExpressionMap.js:242:19)
    at JoinAttribute.getValue (/data/misskey/misskey/node_modules/typeorm/query-builder/JoinAttribute.js:95:72)
    at get relation [as relation] (/data/misskey/misskey/node_modules/typeorm/query-builder/JoinAttribute.js:109:53)
    at get metadata [as metadata] (/data/misskey/misskey/node_modules/typeorm/query-builder/JoinAttribute.js:120:18)
    at SelectQueryBuilder.join (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:874:27)
    at SelectQueryBuilder.leftJoin (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:189:14)
    at toHtml (file:///data/misskey/misskey/packages/backend/built/mfm/to-html.js:16:10)
    at renderNote (file:///data/misskey/misskey/packages/backend/built/remote/activitypub/renderer/note.js:86:27)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async renderNoteOrRenoteActivity (file:///data/misskey/misskey/packages/backend/built/services/note/create.js:384:24)
    at async file:///data/misskey/misskey/packages/backend/built/services/note/create.js:330:38
Attempting to create notes or reactions causes the following error (as of 058d414fff72be7116d53b92df654315223cf3a9): ``` TypeORMError: "user_profile" alias was not found. Maybe you forgot to join it? at QueryExpressionMap.findAliasByName (/data/misskey/misskey/node_modules/typeorm/query-builder/QueryExpressionMap.js:242:19) at JoinAttribute.getValue (/data/misskey/misskey/node_modules/typeorm/query-builder/JoinAttribute.js:95:72) at get relation [as relation] (/data/misskey/misskey/node_modules/typeorm/query-builder/JoinAttribute.js:109:53) at get metadata [as metadata] (/data/misskey/misskey/node_modules/typeorm/query-builder/JoinAttribute.js:120:18) at SelectQueryBuilder.join (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:874:27) at SelectQueryBuilder.leftJoin (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:189:14) at toHtml (file:///data/misskey/misskey/packages/backend/built/mfm/to-html.js:16:10) at renderNote (file:///data/misskey/misskey/packages/backend/built/remote/activitypub/renderer/note.js:86:27) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async renderNoteOrRenoteActivity (file:///data/misskey/misskey/packages/backend/built/services/note/create.js:384:24) at async file:///data/misskey/misskey/packages/backend/built/services/note/create.js:330:38 ```
Owner

can you see if the fix in the fix/backend-toHtml branch works?

can you see if the fix in the `fix/backend-toHtml` branch works?
Owner

Commit should be in main now, let me know if that fixes it.

Commit should be in main now, let me know if that fixes it.
Author
Contributor
QueryFailedError: syntax error at or near ")"
    at PostgresQueryRunner.query (/data/misskey/misskey/node_modules/typeorm/driver/postgres/Post>
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async SelectQueryBuilder.loadRawResults (/data/misskey/misskey/node_modules/typeorm/query->
    at async SelectQueryBuilder.executeEntitiesAndRawResults (/data/misskey/misskey/node_modules/>
    at async SelectQueryBuilder.getRawAndEntities (/data/misskey/misskey/node_modules/typeorm/que>
    at async SelectQueryBuilder.getMany (/data/misskey/misskey/node_modules/typeorm/query-builder>
    at async toHtml (file:///data/misskey/misskey/packages/backend/built/mfm/to-html.js:15:28)
    at async renderPerson (file:///data/misskey/misskey/packages/backend/built/remote/activitypub>
    at async userInfo (file:///data/misskey/misskey/packages/backend/built/server/activitypub.js:>
    at async file:///data/misskey/misskey/packages/backend/built/server/activitypub.js:144:5
    at async /data/misskey/misskey/node_modules/koa-mount/index.js:52:26
    at async /data/misskey/misskey/node_modules/koa-mount/index.js:52:26
    at async /data/misskey/misskey/node_modules/koa-mount/index.js:52:26
    at async file:///data/misskey/misskey/packages/backend/built/server/index.js:50:9
``` QueryFailedError: syntax error at or near ")" at PostgresQueryRunner.query (/data/misskey/misskey/node_modules/typeorm/driver/postgres/Post> at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async SelectQueryBuilder.loadRawResults (/data/misskey/misskey/node_modules/typeorm/query-> at async SelectQueryBuilder.executeEntitiesAndRawResults (/data/misskey/misskey/node_modules/> at async SelectQueryBuilder.getRawAndEntities (/data/misskey/misskey/node_modules/typeorm/que> at async SelectQueryBuilder.getMany (/data/misskey/misskey/node_modules/typeorm/query-builder> at async toHtml (file:///data/misskey/misskey/packages/backend/built/mfm/to-html.js:15:28) at async renderPerson (file:///data/misskey/misskey/packages/backend/built/remote/activitypub> at async userInfo (file:///data/misskey/misskey/packages/backend/built/server/activitypub.js:> at async file:///data/misskey/misskey/packages/backend/built/server/activitypub.js:144:5 at async /data/misskey/misskey/node_modules/koa-mount/index.js:52:26 at async /data/misskey/misskey/node_modules/koa-mount/index.js:52:26 at async /data/misskey/misskey/node_modules/koa-mount/index.js:52:26 at async file:///data/misskey/misskey/packages/backend/built/server/index.js:50:9 ```
Author
Contributor

oh also:

QueryFailedError: syntax error at or near ")"
    at PostgresQueryRunner.query (/data/misskey/misskey/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:211:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async SelectQueryBuilder.loadRawResults (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:2028:25)
    at async SelectQueryBuilder.executeEntitiesAndRawResults (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:1888:26)
    at async SelectQueryBuilder.getRawAndEntities (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:638:29)
    at async SelectQueryBuilder.getMany (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:704:25)
    at async toHtml (file:///data/misskey/misskey/packages/backend/built/mfm/to-html.js:15:28)
    at async renderNote (file:///data/misskey/misskey/packages/backend/built/remote/activitypub/renderer/note.js:86:21)
    at async renderNoteOrRenoteActivity (file:///data/misskey/misskey/packages/backend/built/services/note/create.js:384:24)
    at async file:///data/misskey/misskey/packages/backend/built/services/note/create.js:330:38 {
  query: 'SELECT "user"."username" AS "user_username", "user"."host" AS "user_host", "user"."id" AS "user_id", COALESCE("user_profile"."url", "user"."uri") AS "url" FROM "user_profile" "user_profile" LEFT JOIN "user" "user" ON "user"."id"="user_profile"."userId" WHERE userId IN ()',
  parameters: [],
  driverError: error: syntax error at or near ")"
      at Parser.parseErrorMessage (/data/misskey/misskey/node_modules/pg-protocol/dist/parser.js:287:98)
      at Parser.handlePacket (/data/misskey/misskey/node_modules/pg-protocol/dist/parser.js:126:29)
      at Parser.parse (/data/misskey/misskey/node_modules/pg-protocol/dist/parser.js:39:38)
      at Socket.<anonymous> (/data/misskey/misskey/node_modules/pg-protocol/dist/index.js:11:42)
      at Socket.emit (node:events:513:28)
      at Socket.emit (node:domain:489:12)
      at addChunk (node:internal/streams/readable:324:12)
      at readableAddChunk (node:internal/streams/readable:297:9)
      at Readable.push (node:internal/streams/readable:234:10)
      at TCP.onStreamRead (node:internal/stream_base_commons:190:23) {
    length: 91,
    severity: 'ERROR',
    code: '42601',
    detail: undefined,
    hint: undefined,
    position: '271',
    internalPosition: undefined,
    internalQuery: undefined,
    where: undefined,
    schema: undefined,
    table: undefined,
    column: undefined,
    dataType: undefined,
    constraint: undefined,
    file: 'scan.l',
    line: '1176',
    routine: 'scanner_yyerror'
  },
  length: 91,
  severity: 'ERROR',
  code: '42601',
  detail: undefined,
  hint: undefined,
  position: '271',
  internalPosition: undefined,
  internalQuery: undefined,
  where: undefined,
  schema: undefined,
  table: undefined,
  column: undefined,
  dataType: undefined,
  constraint: undefined,
  file: 'scan.l',
  line: '1176',
  routine: 'scanner_yyerror'
}
oh also: ``` QueryFailedError: syntax error at or near ")" at PostgresQueryRunner.query (/data/misskey/misskey/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:211:19) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async SelectQueryBuilder.loadRawResults (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:2028:25) at async SelectQueryBuilder.executeEntitiesAndRawResults (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:1888:26) at async SelectQueryBuilder.getRawAndEntities (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:638:29) at async SelectQueryBuilder.getMany (/data/misskey/misskey/node_modules/typeorm/query-builder/SelectQueryBuilder.js:704:25) at async toHtml (file:///data/misskey/misskey/packages/backend/built/mfm/to-html.js:15:28) at async renderNote (file:///data/misskey/misskey/packages/backend/built/remote/activitypub/renderer/note.js:86:21) at async renderNoteOrRenoteActivity (file:///data/misskey/misskey/packages/backend/built/services/note/create.js:384:24) at async file:///data/misskey/misskey/packages/backend/built/services/note/create.js:330:38 { query: 'SELECT "user"."username" AS "user_username", "user"."host" AS "user_host", "user"."id" AS "user_id", COALESCE("user_profile"."url", "user"."uri") AS "url" FROM "user_profile" "user_profile" LEFT JOIN "user" "user" ON "user"."id"="user_profile"."userId" WHERE userId IN ()', parameters: [], driverError: error: syntax error at or near ")" at Parser.parseErrorMessage (/data/misskey/misskey/node_modules/pg-protocol/dist/parser.js:287:98) at Parser.handlePacket (/data/misskey/misskey/node_modules/pg-protocol/dist/parser.js:126:29) at Parser.parse (/data/misskey/misskey/node_modules/pg-protocol/dist/parser.js:39:38) at Socket.<anonymous> (/data/misskey/misskey/node_modules/pg-protocol/dist/index.js:11:42) at Socket.emit (node:events:513:28) at Socket.emit (node:domain:489:12) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Readable.push (node:internal/streams/readable:234:10) at TCP.onStreamRead (node:internal/stream_base_commons:190:23) { length: 91, severity: 'ERROR', code: '42601', detail: undefined, hint: undefined, position: '271', internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, column: undefined, dataType: undefined, constraint: undefined, file: 'scan.l', line: '1176', routine: 'scanner_yyerror' }, length: 91, severity: 'ERROR', code: '42601', detail: undefined, hint: undefined, position: '271', internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, column: undefined, dataType: undefined, constraint: undefined, file: 'scan.l', line: '1176', routine: 'scanner_yyerror' } ```
Author
Contributor

const mentionedUsers = await UserProfiles.createQueryBuilder('user_profile')

I suppose this fails if there are no mentioned users.

https://akkoma.dev/FoundKeyGang/FoundKey/src/commit/736c21a80afc9024c07deab623c1fd84bc389a43/packages/backend/src/mfm/to-html.ts#L17 I suppose this fails if there are no mentioned users.
Contributor

Yup, checked in terminal just now, postgres doesn't like empty ()

Yup, checked in terminal just now, postgres doesn't like empty `()`
Author
Contributor

Also the userId column needs to be in quotes.

Also the userId column needs to be in quotes.
Owner

Trying to add quotes around userId only resulted in it being normalized to lowercase, which doesn't work since we don't have a lowercase userid column.

I think I've finally fixed the issue in #134, feel free to try that now.

Trying to add quotes around `userId` only resulted in it being normalized to lowercase, which doesn't work since we don't have a lowercase `userid` column. I think I've finally fixed the issue in https://akkoma.dev/FoundKeyGang/FoundKey/pulls/134, feel free to try that now.
Author
Contributor

It worked for me when I put it in double quotes (hacked a workaround for this issue so I had a chance to test that).

It worked for me when I put it in double quotes (hacked a workaround for this issue so I had a chance to test that).
Author
Contributor

#134 fixes this.

Thanks!

#134 fixes this. Thanks!
Owner

Fixed in f50b31b847

Fixed in f50b31b84775b7f7ec6dc122685347257b0003b7
norm closed this issue 2022-09-08 22:08:08 +00:00
Sign in to join this conversation.
No labels
feature
fix
upkeep
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: FoundKeyGang/FoundKey#132
No description provided.