{"record":{"id":"88f1d1b044a2ca70","repo":"jackwener/OpenCLI","slug":"linkedin-learning-returned-no-personalized-recomme","errorCode":null,"errorMessage":"LinkedIn Learning returned no personalized recommendations","messagePattern":"LinkedIn Learning returned no personalized recommendations","errorType":"exception","errorClass":"EmptyResultError","httpStatus":null,"severity":"warning","filePath":"clis/linkedin-learning/trending.js","lineNumber":79,"sourceCode":"                    sawCards = true;\n                    if (rows.length >= limit) break;\n                    const slug = card?.slug;\n                    if (!slug || seen.has(slug)) continue;\n                    seen.add(slug);\n                    const row = parseCard(card, carousel, rank);\n                    if (!row) continue;\n                    rows.push(row);\n                    rank += 1;\n                }\n                if (rows.length >= limit) break;\n            }\n            if (rows.length >= limit) break;\n        }\n        if (rows.length === 0) {\n            if (sawCards) {\n                throw new CommandExecutionError('LinkedIn Learning feedRecommendationGroups returned no parseable cards with slug identity');\n            }\n            throw new EmptyResultError('LinkedIn Learning returned no personalized recommendations');\n        }\n        return rows;\n    },\n});\n\nexport const __test__ = { parseCard };\n","sourceCodeStart":61,"sourceCodeEnd":86,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/linkedin-learning/trending.js#L61-L86","documentation":"EmptyResultError signaling that the LinkedIn Learning feedRecommendationGroups response yielded zero cards at all (sawCards false). It is a distinct, softer condition from the parse failure: LinkedIn responded fine but contained no personalized recommendation rows within the fetch limits.","triggerScenarios":"Calling the linkedin-learning trending command when every recommendation group iterated is empty or absent, so rows.length === 0 and no card was ever seen.","commonSituations":"Brand-new or inactive LinkedIn Learning account with no recommendations yet; logged-out or throttled session returning skeleton pages; region where the feed component is not served.","solutions":["Authenticate the linkedin.com session (li_at cookie) and retry.","Browse some LinkedIn Learning courses in the browser to seed recommendations, then rerun.","Treat as legitimately empty data in your automation (handle EmptyResultError as a no-op)."],"exampleFix":"try {\n  const rows = await run('linkedin-learning trending');\n} catch (e) {\n  if (e.name === 'EmptyResultError') return []; // no recommendations yet\n  throw e;\n}","handlingStrategy":"fallback","validationCode":"null","typeGuard":"null","tryCatchPattern":"try {\n  return await run('linkedin-learning trending');\n} catch (e) {\n  if (e.name === 'EmptyResultError') return [];\n  throw e;\n}","preventionTips":["Seed the account with LinkedIn Learning activity before scraping recommendations.","Always authenticate before querying personalized feeds.","Treat empty recommendations as valid business data, not a bug."],"tags":["empty-result","scraping","recommendations"],"backgroundTag":"empty-result-set","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}