{"record":{"id":"56c42946c2a49472","repo":"Jackett/Jackett","slug":"testing-returned-no-results-56c429","errorCode":null,"errorMessage":"Testing returned no results!","messagePattern":"Testing returned no results!","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/Jackett.Common/Indexers/Definitions/NebulanceAPI.cs","lineNumber":125,"sourceCode":"\n        public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)\n        {\n            LoadValuesFromJson(configJson);\n\n            IsConfigured = false;\n            var apiKey = configData.Key;\n            if (apiKey.Value.Length != KeyLength)\n            {\n                throw new Exception($\"Invalid API Key configured: expected length: {KeyLength}, got {apiKey.Value.Length}\");\n            }\n\n            try\n            {\n                var results = await PerformQuery(new TorznabQuery());\n\n                if (!results.Any())\n                {\n                    throw new Exception(\"Testing returned no results!\");\n                }\n\n                IsConfigured = true;\n                SaveConfig();\n            }\n            catch (Exception e)\n            {\n                throw new ExceptionWithConfigData(e.Message, configData);\n            }\n\n            return IndexerConfigurationStatus.Completed;\n        }\n    }\n\n    public class NebulanceAPIRequestGenerator : IIndexerRequestGenerator\n    {\n        private readonly TorznabCapabilities _torznabCaps;\n        private readonly ConfigurationDataAPIKey _configData;","sourceCodeStart":107,"sourceCodeEnd":143,"githubUrl":"https://github.com/Jackett/Jackett/blob/adff1941476d8057a430cf55360356c1d23e971e/src/Jackett.Common/Indexers/Definitions/NebulanceAPI.cs#L107-L143","documentation":"During configuration testing NebulanceAPI runs an empty TorznabQuery against PerformQuery. If the query returns zero releases the indexer refuses to mark itself configured, guarding against a 'successful' setup that would silently return nothing to the user.","triggerScenarios":"ApplyConfiguration calls PerformQuery(new TorznabQuery()); the resulting IEnumerable is empty (results.Any() == false).","commonSituations":"The Nebulance API is reachable but its default feed is momentarily empty, a brand-new account with no indexed torrents, or an upstream change that made the default query return nothing.","solutions":["Retry the test shortly - an empty default feed is often transient.","Verify the account is in good standing and actually has browse access on the Nebulance site.","Enable debug logging and inspect the raw API response to confirm it is truly empty vs. being filtered.","If persistent, the default/test query logic in PerformQuery may need a broad fallback term."],"exampleFix":null,"handlingStrategy":"retry","validationCode":"// Pre-test: confirm the API responds with at least a non-empty payload structure\nvar probe = await PerformQuery(new TorznabQuery());\nif (!probe.Any())\n{\n    // do not hard-fail immediately; flag as 'verify access' rather than misconfigured\n    logger.Warn(\"Nebulance test query returned no results; verify account browse access.\");\n}","typeGuard":null,"tryCatchPattern":"try\n{\n    await indexer.ApplyConfiguration(configJson);\n}\ncatch (ExceptionWithConfigData ex) when (ex.Message == \"Testing returned no results!\")\n{\n    // transient empty feed - safe to retry once after a short delay\n    await Task.Delay(TimeSpan.FromSeconds(5));\n    await indexer.ApplyConfiguration(configJson);\n}","preventionTips":["Treat 'no results' as potentially transient; retry before declaring failure.","Confirm the account has browse/search access on the site.","Enable debug logging to inspect the raw API response during testing."],"tags":["config","empty-results","nebulance"],"backgroundTag":null,"analyzedSha":"adff1941476d8057a430cf55360356c1d23e971e","analyzedAt":"2026-08-13T15:06:32.872Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}