Possible AP strictness issue dealing with remote user with missing data field
I apologise for the Title of this report - I hope it's summarized half decently.
What happened?
Sharkey Web UI gives "An error has occurred" when trying to follow account on librem.one / social.librem.one - the only account I'm aware of there is @keverets@librem.one
I am also not entirely sure if they're breaking standards with this issue, or if Sharkey's not being accommodating enough.
What did you expect to happen?
I expected the user to show up and be followable.
Version
v2024.11.2
Instance
humanwords.cc
What type of issue is this?
Backend, I believe
How do you deploy Sharkey on your server? (Server-side issues only)
Manually
What operating system are you using? (Server-side issues only)
Gentoo
Relevant log output
INFO * [remote resolve-user] WebFinger for keverets@librem.one
DONE * [remote resolve-user] return new remote user: keverets@librem.one
INFO * [remote ap] Creating the Person: https://social.librem.one/users/keverets
ERR * [remote ap] QueryFailedError: null value in column "isExplorable" of relation "user" violates not-null constraint {
e: QueryFailedError: null value in column "isExplorable" of relation "user" violates not-null constraint
at PostgresQueryRunner.query (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:219:19)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async InsertQueryBuilder.execute (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/query-builder/InsertQueryBuilder.js:106:33)
at async SubjectExecutor.executeInsertOperations (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/persistence/SubjectExecutor.js:260:42)
at async SubjectExecutor.execute (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/persistence/SubjectExecutor.js:92:9)
at async EntityPersistExecutor.execute (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/persistence/EntityPersistExecutor.js:140:21)
at async file:///home/sharkey/Sharkey/packages/backend/built/core/activitypub/models/ApPersonService.js:325:24
at async EntityManager.transaction (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/entity-manager/EntityManager.js:73:28)
at async ApPersonService.createPerson (file:///home/sharkey/Sharkey/packages/backend/built/core/activitypub/models/ApPersonService.js:324:13)
at async RemoteUserResolveService.resolveUser (file:///home/sharkey/Sharkey/packages/backend/built/core/RemoteUserResolveService.js:98:20)
at async file:///home/sharkey/Sharkey/packages/backend/built/server/api/endpoints/users/show.js:152:28
at async ApiCallService.call (file:///home/sharkey/Sharkey/packages/backend/built/server/api/ApiCallService.js:387:20) {
query: 'INSERT INTO "user"("id", "updatedAt", "lastFetchedAt", "lastActiveDate", "hideOnlineStatus", "username", "usernameLower", "name", "followersCount", "followingCount", "movedToUri", "movedAt", "alsoKnownAs", "notesCount", "avatarId", "bannerId", "backgroundId", "avatarUrl", "bannerUrl", "backgroundUrl", "avatarBlurhash", "bannerBlurhash", "backgroundBlurhash", "avatarDecorations", "tags", "score", "isSuspended", "isSilenced", "noindex", "isLocked", "isBot", "isCat", "speakAsCat", "isRoot", "isExplorable", "isHibernated", "requireSigninToViewContents", "makeNotesFollowersOnlyBefore", "makeNotesHiddenBefore", "isDeleted", "emojis", "host", "inbox", "sharedInbox", "featured", "uri", "followersUri", "token", "approved", "signupReason", "enable_rss") VALUES ($1, DEFAULT, $2, DEFAULT, $3, $4, $5, DEFAULT, $6, $7, DEFAULT, $8, DEFAULT, $9, $10, $11, $12, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, $13, DEFAULT, DEFAULT, DEFAULT, $14, $15, $16, $17, $18, DEFAULT, $19, DEFAULT, $20, $21, $22, DEFAULT, $23, $24, $25, $26, $27, $28, $29, DEFAULT, $30, DEFAULT, $31) RETURNING "hideOnlineStatus", "followersCount", "followingCount", "notesCount", "avatarDecorations", "tags", "score", "isSuspended", "isSilenced", "noindex", "isLocked", "isBot", "isCat", "speakAsCat", "isRoot", "isExplorable", "isHibernated", "requireSigninToViewContents", "isDeleted", "emojis", "approved", "enable_rss"',
parameters: [
'a3j5r08pn50p0009',
2025-01-27T22:01:43.417Z,
true,
'keverets',
'keverets',
0,
0,
null,
1470,
null,
null,
null,
[],
false,
false,
false,
false,
false,
null,
false,
null,
null,
[],
'social.librem.one',
'https://social.librem.one/users/keverets/inbox',
'https://social.librem.one/inbox',
'https://social.librem.one/users/keverets/collections/featured',
'https://social.librem.one/users/keverets',
'https://social.librem.one/users/keverets/followers',
true,
false
],
driverError: error: null value in column "isExplorable" of relation "user" violates not-null constraint
at /home/sharkey/Sharkey/node_modules/.pnpm/pg@8.13.1/node_modules/pg/lib/client.js:535:17
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async PostgresQueryRunner.query (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:184:25)
at async InsertQueryBuilder.execute (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/query-builder/InsertQueryBuilder.js:106:33)
at async SubjectExecutor.executeInsertOperations (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/persistence/SubjectExecutor.js:260:42)
at async SubjectExecutor.execute (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/persistence/SubjectExecutor.js:92:9)
at async EntityPersistExecutor.execute (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/persistence/EntityPersistExecutor.js:140:21)
at async file:///home/sharkey/Sharkey/packages/backend/built/core/activitypub/models/ApPersonService.js:325:24
at async EntityManager.transaction (/home/sharkey/Sharkey/node_modules/.pnpm/typeorm@0.3.20_ioredis@5.4.1_pg@8.13.1/node_modules/typeorm/entity-manager/EntityManager.js:73:28)
at async ApPersonService.createPerson (file:///home/sharkey/Sharkey/packages/backend/built/core/activitypub/models/ApPersonService.js:324:13)
at async RemoteUserResolveService.resolveUser (file:///home/sharkey/Sharkey/packages/backend/built/core/RemoteUserResolveService.js:98:20)
at async file:///home/sharkey/Sharkey/packages/backend/built/server/api/endpoints/users/show.js:152:28
at async ApiCallService.call (file:///home/sharkey/Sharkey/packages/backend/built/server/api/ApiCallService.js:387:20) {
length: 710,
severity: 'ERROR',
code: '23502',
detail: 'Failing row contains (a3j5r08pn50p0009, null, 2025-01-27 14:01:43.417-08, keverets, keverets, null, 0, 0, 1470, null, null, {}, f, f, f, f, f, {}, social.librem.one, https://social.librem.one/users/keverets/inbox, https://social.librem.one/inbox, https://social.librem.one/users/keverets/collections/featured, https://social.librem.one/users/keverets, null, null, https://social.librem.one/users/keverets/followers, null, t, f, null, null, null, null, null, null, null, f, f, null, null, null, t, null, f, [], f, 0, f, null, null, f).',
hint: undefined,
position: undefined,
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: 'public',
table: 'user',
column: 'isExplorable',
dataType: undefined,
constraint: undefined,
file: 'execMain.c',
line: '1987',
routine: 'ExecConstraints'
},
length: 710,
severity: 'ERROR',
code: '23502',
detail: 'Failing row contains (a3j5r08pn50p0009, null, 2025-01-27 14:01:43.417-08, keverets, keverets, null, 0, 0, 1470, null, null, {}, f, f, f, f, f, {}, social.librem.one, https://social.librem.one/users/keverets/inbox, https://social.librem.one/inbox, https://social.librem.one/users/keverets/collections/featured, https://social.librem.one/users/keverets, null, null, https://social.librem.one/users/keverets/followers, null, t, f, null, null, null, null, null, null, null, f, f, null, null, null, t, null, f, [], f, 0, f, null, null, f).',
hint: undefined,
position: undefined,
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: 'public',
table: 'user',
column: 'isExplorable',
dataType: undefined,
constraint: undefined,
file: 'execMain.c',
line: '1987',
routine: 'ExecConstraints'
}
}
WARN * [api] failed to resolve remote user: QueryFailedError: null value in column "isExplorable" of relation "user" violates not-null constraint
Contribution Guidelines
By submitting this issue, you agree to follow our Contribution Guidelines
- I agree to follow this project's Contribution Guidelines
- I have searched the issue tracker for similar issues, and this is not a duplicate.