{"record":{"id":"36cc1f95453ae37a","repo":"CanineHQ/canine","slug":"unknown-registry-url","errorCode":null,"errorMessage":"Unknown registry url","messagePattern":"Unknown registry url","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"app/models/provider.rb","lineNumber":171,"sourceCode":"      enterprise? ? URI.parse(registry_url).host : \"github.com\"\n    elsif gitlab?\n      enterprise? ? URI.parse(registry_url).host : \"gitlab.com\"\n    elsif bitbucket?\n      enterprise? ? URI.parse(registry_url).host : \"bitbucket.org\"\n    elsif container_registry?\n      registry_url\n    end\n  end\n\n  def registry_base_url\n    if github?\n      \"ghcr.io\"\n    elsif gitlab?\n      \"registry.gitlab.com\"\n    elsif container_registry?\n      registry_url\n    else\n      raise \"Unknown registry url\"\n    end\n  end\n\n  REGISTRY_WEB_URLS = {\n    \"docker.io\" => \"https://hub.docker.com/r/%{repo}/%{owner}\",\n    \"ghcr.io\" => \"https://ghcr.io/%{owner}/%{repo}\",\n    \"registry.gitlab.com\" => \"https://gitlab.com/%{owner}/%{repo}/container_registry\"\n  }.freeze\n\n  def registry_web_url(repository_url)\n    base = registry_base_url\n    template = REGISTRY_WEB_URLS[base]\n\n    if template\n      owner, repo = repository_url.split(\"/\", 2)\n      format(template, owner: owner, repo: repo)\n    else\n      \"https://#{base}\"","sourceCodeStart":153,"sourceCodeEnd":189,"githubUrl":"https://github.com/CanineHQ/canine/blob/ba4ee3968d8513ee27d8583fbd3e854a8dd053f3/app/models/provider.rb#L153-L189","documentation":"Error \"Unknown registry url\" thrown in CanineHQ/canine.","triggerScenarios":"Thrown at app/models/provider.rb:171 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ba4ee3968d8513ee27d8583fbd3e854a8dd053f3","analyzedAt":"2026-08-23T17:49:27.834Z","schemaVersion":2},"datasetVersion":"2026-08-23T21:17:23.414Z"}