{"record":{"id":"438f1e6957c5bf6d","repo":"libnyanpasu/clash-nyanpasu","slug":"failed-to-get-latest-version-manifest-response-st","errorCode":null,"errorMessage":"failed to get latest version manifest: response status is {}, expected 200","messagePattern":"failed to get latest version manifest: response status is (.+?), expected 200","errorType":"http","errorClass":null,"httpStatus":null,"severity":"error","filePath":"backend/tauri/src/core/updater/mod.rs","lineNumber":176,"sourceCode":"    async fn get_latest_version_manifest(&self, mirror: &str) -> Result<ManifestVersion> {\n        let url = parse_gh_url(\n            mirror,\n            \"/libnyanpasu/clash-nyanpasu/raw/main/manifest/version.json\",\n        )?;\n        log::debug!(\"{url}\");\n        let res = self.client.get(url).send().await?;\n        let status_code = res.status();\n        if !status_code.is_success() {\n            anyhow::bail!(\n                \"failed to get latest version manifest: response status is {}, expected 200\",\n                status_code\n            );\n        }\n        Ok(res.json::<ManifestVersion>().await?)\n    }","sourceCodeStart":158,"sourceCodeEnd":194,"githubUrl":"https://github.com/libnyanpasu/clash-nyanpasu/blob/f7dbce2997c633e484f54788035e770b3ee99773/backend/tauri/src/core/updater/mod.rs#L158-L194","documentation":"get_latest_version_manifest GETs the version manifest (manifest/version.json on the repo raw URL, honoring the selected mirror) and bails when the HTTP response status is not a success (2xx) code. It is an HTTP-status guard, not a parse error: the remote/mirror returned 404/403/5xx etc., so the latest-version manifest cannot be fetched and the update check cannot proceed.","triggerScenarios":"Thrown at backend/tauri/src/core/updater/mod.rs:176 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the update check later; transient 5xx from GitHub raw or the mirror usually resolves on its own.","Switch or re-run the mirror speed test so a broken mirror is replaced with a working one.","Check network connectivity and any proxy/firewall blocking the manifest URL.","Verify the manifest URL still exists upstream (404 means the branch/file moved) and update the pinned path if the repo layout changed."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f7dbce2997c633e484f54788035e770b3ee99773","analyzedAt":"2026-09-08T01:24:59.197Z","contentChangedAt":"2026-09-08T01:24:59.197Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}