{"record":{"id":"fde377026e549280","repo":"badges/shields","slug":"no-maintainer","errorCode":null,"errorMessage":"No maintainer","messagePattern":"No maintainer","errorType":"exception","errorClass":"InvalidResponse","httpStatus":424,"severity":"info","filePath":"services/aur/aur.service.js","lineNumber":215,"sourceCode":"          name: 'packageName',\n          example: 'google-chrome',\n        }),\n      },\n    },\n  }\n\n  static defaultBadgeData = { label: 'maintainer', color: 'blue' }\n\n  static render({ maintainer }) {\n    return { message: maintainer }\n  }\n\n  async handle({ packageName }) {\n    const {\n      results: [{ Maintainer: maintainer }],\n    } = await this.fetch({ packageName })\n    if (!maintainer) {\n      throw new InvalidResponse({ prettyMessage: 'No maintainer' })\n    }\n    return this.constructor.render({ maintainer })\n  }\n}\n\nclass AurLastModified extends BaseAurService {\n  static category = 'activity'\n\n  static route = {\n    base: 'aur/last-modified',\n    pattern: ':packageName',\n  }\n\n  static openApi = {\n    '/aur/last-modified/{packageName}': {\n      get: {\n        summary: 'AUR Last Modified',\n        description: 'Arch linux User Repository Last Modified',","sourceCodeStart":197,"sourceCodeEnd":233,"githubUrl":"https://github.com/badges/shields/blob/766fd8bc89a90b8534dc573ab72dec30215ab1ec/services/aur/aur.service.js#L197-L233","documentation":"The AUR maintainer badge reads the Maintainer field of the first AUR result. If the field is absent, null, or empty, handle throws InvalidResponse with 'No maintainer'. The AUR API returns a valid response with an unset Maintainer for orphaned packages or packages never adopted, so this error signals 'no maintainer data available' rather than a malformed response.","triggerScenarios":"Requesting the AUR maintainer badge for a package where results[0].Maintainer is falsy — typically an orphaned AUR package or one whose maintainer disowned it; the fetch and schema validation succeed, but the field is empty.","commonSituations":"Orphaned AUR packages awaiting adoption; packages whose maintainer account was deleted; querying a package that exists but has never had a maintainer.","solutions":["Verify on aur.archlinux.org whether the package is orphaned.","If you use the package, consider adopting it and setting yourself as maintainer to fix the badge.","Handle the error client-side and render a placeholder such as 'orphaned' instead of failing the badge."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"const data = await fetchAurInfo(pkg)\nif (!data.results?.[0]?.Maintainer) console.warn(`${pkg} has no maintainer (orphaned?)`)","typeGuard":"function hasMaintainer(r) {\n  return typeof r?.Maintainer === 'string' && r.Maintainer.length > 0\n}","tryCatchPattern":"try {\n  return await getAurMaintainer(pkg)\n} catch (e) {\n  if (/No maintainer/.test(e.message)) return 'orphaned'\n  throw e\n}","preventionTips":["Check the AUR page for orphan status before adding maintainer badges","Adopt orphaned packages if you rely on them","Render a placeholder instead of failing when Maintainer is absent"],"tags":["aur","maintainer","invalid-response","badge"],"backgroundTag":"missing-field-in-response","analyzedSha":"766fd8bc89a90b8534dc573ab72dec30215ab1ec","analyzedAt":"2026-08-30T01:40:27.499Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}