jackwener/OpenCLI · info · EmptyResultError
No job-seeker-side chat sessions were returned.
Error message
No job-seeker-side chat sessions were returned.
What it means
When side=geek, the command navigates to the job-seeker chat page, builds rows via buildGeekRows (label list + friend info enrichment), and throws EmptyResultError('boss chatlist') when zero rows are produced. It means the identity is geek-side and the flow ran, but there are no chat sessions (or label groups) to return.
Source
Thrown at clis/boss/chatlist.js:90
const pageNum = readPositiveInteger(kwargs.page, 'chatlist --page', 1);
const side = kwargs.side || 'auto';
if (side === 'boss') {
await navigateToChat(page);
const friends = await fetchFriendList(page, {
pageNum,
jobId: kwargs['job-id'] || '0',
});
if (friends.length === 0)
throw new EmptyResultError('boss chatlist', 'No recruiter-side chat sessions were returned.');
return friends.slice(0, limit).map(mapBossRow);
}
if (side === 'geek') {
await navigateToGeekChat(page);
const rows = await buildGeekRows(page, limit);
if (rows.length === 0)
throw new EmptyResultError('boss chatlist', 'No job-seeker-side chat sessions were returned.');
return rows;
}
// auto: try recruiter first, fall back to geek on identity mismatch
await navigateToChat(page);
const bossResult = await fetchFriendList(page, {
pageNum,
jobId: kwargs['job-id'] || '0',
allowNonZero: true,
});
if (Array.isArray(bossResult)) {
if (bossResult.length === 0)
throw new EmptyResultError('boss chatlist', 'No recruiter-side chat sessions were returned.');
return bossResult.slice(0, limit).map(mapBossRow);
}
if (bossResult.code === IDENTITY_MISMATCH_CODE) {
await navigateToGeekChat(page);
const rows = await buildGeekRows(page, limit);View on GitHub (pinned to 49907e53dc)
Solutions
- Use --side auto to let the command detect the account side and fall back automatically
- Verify in the zhipin.com web UI that the geek chat list shows conversations
- Confirm the logged-in account is actually a job-seeker account, not a recruiter account
- If the UI shows chats, check fetchGeekFriendLabelList/fetchGeekFriendInfoList endpoints in clis/boss/utils.js for API changes
Example fix
// before boss chatlist --side geek // account is actually recruiter-side // after boss chatlist --side auto // detects side and returns recruiter rows
Defensive patterns
Strategy: fallback
Validate before calling
// Verify account side before forcing --side geek
const identity = await bossVerify(page);
if (identity.user_type !== 'geek') {
console.warn('account is ' + identity.user_type + '; --side geek will be empty');
} Type guard
function isNonEmptyGeekRows(v) {
return Array.isArray(v) && v.length > 0;
} Try / catch
try {
rows = await bossChatlist({ side: 'geek' });
} catch (err) {
if (err instanceof EmptyResultError && err.message.includes('job-seeker-side')) {
return []; // no seeker chats
}
throw err;
} Prevention
- Confirm the logged-in account is a job-seeker before --side geek
- Prefer --side auto to avoid hard-coding the wrong side
- Check the geek chat UI in the same profile if you suspect API drift
- Treat empty results as data state, not crashes, in downstream pipelines
When it happens
Trigger: Running `boss chatlist --side geek` when the job-seeker account has no conversations, has no chat labels/groups, or the friend-info enrichment empties everything at the requested page/limit.
Common situations: New seeker account that never chatted with recruiters; account actually is recruiter-side (wrong --side choice); zhipin.com changed the geek friend-label API so lists come back empty while UI works.
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
- No recruiter-side chat sessions were returned.
- Boss chatlist returned an unexpected response
- No prices returned for train_no=${trainNo} ${fromStation.nam
- No 12306 stations match "${keyword}"
- No trains found from ${fromStation.name} to ${toStation.name
AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29).
Data as JSON: /api/errors/9116dfe82b38138a.
Report an issue: GitHub.