badges/shields · info · InvalidResponse

No maintainer

Error message

No maintainer

What it means

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.

Source

Thrown at services/aur/aur.service.js:215

          name: 'packageName',
          example: 'google-chrome',
        }),
      },
    },
  }

  static defaultBadgeData = { label: 'maintainer', color: 'blue' }

  static render({ maintainer }) {
    return { message: maintainer }
  }

  async handle({ packageName }) {
    const {
      results: [{ Maintainer: maintainer }],
    } = await this.fetch({ packageName })
    if (!maintainer) {
      throw new InvalidResponse({ prettyMessage: 'No maintainer' })
    }
    return this.constructor.render({ maintainer })
  }
}

class AurLastModified extends BaseAurService {
  static category = 'activity'

  static route = {
    base: 'aur/last-modified',
    pattern: ':packageName',
  }

  static openApi = {
    '/aur/last-modified/{packageName}': {
      get: {
        summary: 'AUR Last Modified',
        description: 'Arch linux User Repository Last Modified',

View on GitHub (pinned to 766fd8bc89)

Solutions

  1. Verify on aur.archlinux.org whether the package is orphaned.
  2. If you use the package, consider adopting it and setting yourself as maintainer to fix the badge.
  3. Handle the error client-side and render a placeholder such as 'orphaned' instead of failing the badge.
Defensive patterns

Strategy: try-catch

Validate before calling

const data = await fetchAurInfo(pkg)
if (!data.results?.[0]?.Maintainer) console.warn(`${pkg} has no maintainer (orphaned?)`)

Type guard

function hasMaintainer(r) {
  return typeof r?.Maintainer === 'string' && r.Maintainer.length > 0
}

Try / catch

try {
  return await getAurMaintainer(pkg)
} catch (e) {
  if (/No maintainer/.test(e.message)) return 'orphaned'
  throw e
}

Prevention

When it happens

Trigger: 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.

Common situations: Orphaned AUR packages awaiting adoption; packages whose maintainer account was deleted; querying a package that exists but has never had a maintainer.

Related errors


AI-assisted analysis of badges/shields@766fd8bc89 (2026-08-30). Data as JSON: /api/errors/fde377026e549280. Report an issue: GitHub.