{"record":{"id":"765c2cd5b437f64a","repo":"badges/shields","slug":"no-active-version-found","errorCode":null,"errorMessage":"no active version found","messagePattern":"no active version found","errorType":"exception","errorClass":"NotFound","httpStatus":404,"severity":"info","filePath":"services/gnome-extensions/gnome-extensions-version.service.js","lineNumber":60,"sourceCode":"  static render({ version }) {\n    return renderVersionBadge({ version })\n  }\n\n  async fetch({ extensionId }) {\n    return await this._requestJson({\n      schema: versionSchema,\n      url: `https://extensions.gnome.org/api/v1/extensions/${extensionId}/versions/?page_size=100`,\n      httpErrors: {\n        404: 'extension not found',\n      },\n    })\n  }\n\n  async handle({ extensionId }) {\n    const { results } = await this.fetch({ extensionId })\n    const activeVersions = results.filter(r => r.status === ACTIVE_STATUS)\n    if (activeVersions.length === 0) {\n      throw new NotFound({ prettyMessage: 'no active version found' })\n    }\n    const latest = activeVersions.reduce((a, b) =>\n      a.version > b.version ? a : b,\n    )\n    const version = latest.version_name ?? String(latest.version)\n    return this.constructor.render({ version })\n  }\n}\n","sourceCodeStart":42,"sourceCodeEnd":69,"githubUrl":"https://github.com/badges/shields/blob/766fd8bc89a90b8534dc573ab72dec30215ab1ec/services/gnome-extensions/gnome-extensions-version.service.js#L42-L69","documentation":"The GNOME Extensions version service throws this NotFound when none of the extension versions returned by extensions.gnome.org have the active status. The service filters results to ACTIVE_STATUS before picking the latest, and an empty filtered list means no active version can be reported.","triggerScenarios":"Querying a version badge for an extensionId whose versions were all rejected, disabled, or unreviewed on extensions.gnome.org; or the extensionId resolves to an extension with no approved releases.","commonSituations":"Extension under review or removed from the store; developer querying a draft/unapproved extension; typo in the numeric extensionId referencing an extension whose active version was withdrawn.","solutions":["Verify the extensionId matches a published, active extension on extensions.gnome.org","Check the extension's page for review status; resubmit/wait for approval if pending","Use a different extensionId pointing to the actively maintained extension","Remove the version badge until an active version exists"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"const { results } = await (await fetch(`https://extensions.gnome.org/extension-query/?extension_id=${extensionId}`)).json()\nif (!results || !results.some(r => r.status === 1)) console.warn('No active version for this extension')","typeGuard":"const hasActiveVersion = (results) => Array.isArray(results) && results.some(r => r.status === 1)","tryCatchPattern":"try {\n  const version = await service.handle({ extensionId })\n} catch (e) {\n  if (e.prettyMessage === 'no active version found') {\n    // render 'unavailable' badge\n  } else throw e\n}","preventionTips":["Confirm the extension is approved/active on extensions.gnome.org before adding the badge","Validate the extensionId number against the extension page URL","Re-check the badge if the extension is under review"],"tags":["gnome","extensions","version","not-found"],"backgroundTag":"no-active-version","analyzedSha":"766fd8bc89a90b8534dc573ab72dec30215ab1ec","analyzedAt":"2026-08-30T01:40:27.499Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}