plugin_achievements fails: GraphqlResponseError on user.projects (Projects Classic sunset) #1841
Unanswered
zeeshan020dev
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
plugin_achievements: yesfails consistently on bothlowlighter/metrics@latestandlowlighter/metrics@master.The GraphQL query for achievement totals still requests
user.projects, which GitHub has fully sunset (Projects Classic). This nulls the wholeuserobject and crashes the plugin.Error:
Saving │
2 error(s) occurred
[
{
name: 'achievements',
result: {
error: {
message: 'Unexpected error',
instance: GraphqlResponseError: Request failed due to following response errors:
- Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/.
at /metrics/node_modules/@octokit/graphql/dist-node/index.js:113:13
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Module.default (file:///metrics/source/plugins/achievements/list/users.mjs:4:18)
at async Object.default [as achievements] (file:///metrics/source/plugins/achievements/index.mjs:18:5)
at async file:///metrics/source/plugins/core/index.mjs:67:30
at async Promise.all (index 0)
at async metrics (file:///metrics/source/app/metrics/index.mjs:81:22)
at async retry.retries.retries (file:///metrics/source/app/action/index.mjs:407:40)
at async retry (file:///metrics/source/app/action/index.mjs:57:22)
at async file:///metrics/source/app/action/index.mjs:406:28 {
request: {
query: 'query AchievementsDefault {\n' +
'\n' +
' user(login: "zeeshan020dev") {\n' +
' repositories(first: 1, privacy: PUBLIC, affiliations: OWNER, orderBy: {field: CREATED_AT, direction: ASC}) {\n' +
' nodes {\n' +
' createdAt\n' +
' nameWithOwner\n' +
' }\n' +
' totalCount\n' +
' '... 2093 more characters
},
headers: {
'access-control-allow-origin': '*',
'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Requ'... 36 more characters,
'content-security-policy': "default-src 'none'",
'content-type': 'application/json; charset=utf-8',
date: 'Sat, 05 Sep 2026 16:43:33 GMT',
'github-authentication-token-expiration': '2027-09-04 19:00:00 UTC',
'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin',
server: 'github.com',
'strict-transport-security': 'max-age=31536000; includeSubdomains; preload',
'transfer-encoding': 'chunked',
vary: 'Accept-Encoding, Accept, X-Requested-With',
'x-accepted-oauth-scopes': 'repo',
'x-content-type-options': 'nosniff',
'x-frame-options': 'deny',
'x-github-edge-region': 'iad',
'x-github-media-type': 'github.v3; format=json',
'x-github-request-id': '2C31:2049A5:13C0143:3FF0D23:6A9C46B5',
'x-oauth-scopes': 'read:user, repo',
'x-ratelimit-limit': '5000',
'x-ratelimit-remaining': '4712',
'x-ratelimit-reset': '1788628486',
'x-ratelimit-resource': 'graphql',
'x-ratelimit-used': '288',
'x-xss-protection': '0'
},
response: {
data: { user: null },
errors: [
{
type: 'NOT_FOUND',
path: [ 'user', 'projects' ],
locations: [ { line: 50, column: 5 } ],
message: 'Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/.'
}
]
},
errors: [
{
type: 'NOT_FOUND',
path: [ 'user', 'projects' ],
locations: [ { line: 50, column: 5 } ],
message: 'Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/.'
}
],
data: { user: null }
}
}
}
},
{
name: 'habits',
result: {
error: {
message: 'Unexpected error',
instance: TypeError: Cannot destructure property 'author' of 'undefined' as it is undefined.
at file:///metrics/source/plugins/habits/index.mjs:51:21
at Array.filter ()
at Object.default [as habits] (file:///metrics/source/plugins/habits/index.mjs:51:12)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async file:///metrics/source/plugins/core/index.mjs:67:30
at async Promise.all (index 2)
at async metrics (file:///metrics/source/app/metrics/index.mjs:81:22)
at async retry.retries.retries (file:///metrics/source/app/action/index.mjs:407:40)
at async retry (file:///metrics/source/app/action/index.mjs:57:22)
at async file:///metrics/source/app/action/index.mjs:406:28
}
}
}
]
All reactions