jackwener/OpenCLI · error · CommandExecutionError

Jike user returned an unreadable payload

Error message

Jike user returned an unreadable payload

What it means

Catch-all CommandExecutionError thrown when the Jike user extraction returns a payload that matches none of the handled shapes: not an array, not 'missing-data-script', and not 'parse-error'. It guards against unexpected or future payload variants so the CLI fails loudly rather than silently misbehaving.

Source

Thrown at clis/jike/user.js:63

                throw new EmptyResultError('jike user', `No posts were returned for user ${args.username}. Confirm the username and login state.`);
            }
            return data.slice(0, limit).map((item) => ({
                id: item.id ?? '',
                content: item.content ?? '',
                type: item.type ?? '',
                likes: item.likes ?? 0,
                comments: item.comments ?? 0,
                time: item.time ?? '',
                url: `https://web.okjike.com/originalPost/${item.id ?? ''}`,
            }));
        }
        if (data?.reason === 'missing-data-script') {
            throw new CommandExecutionError('Jike user page did not expose the expected data script');
        }
        if (data?.reason === 'parse-error') {
            throw new CommandExecutionError(`Failed to parse Jike user data: ${data.message || 'unknown error'}`);
        }
        throw new CommandExecutionError('Jike user returned an unreadable payload');
    },
});

View on GitHub (pinned to 49907e53dc)

Solutions

  1. Retry the command to rule out a transient null evaluate result
  2. Ensure the page is not navigating or closing while the command runs
  3. Update the CLI to the latest version to cover new payload shapes
  4. File an issue including the payload if it persists on the latest version
Defensive patterns

Strategy: try-catch

Try / catch

try {
  const posts = await jikeUser({ username, limit });
} catch (e) {
  if (String(e.message).includes('unreadable payload')) {
    console.error('Unexpected payload; retry or report with details');
  } else throw e;
}

Prevention

When it happens

Trigger: Executing `jike user` when page.evaluate returns null/undefined (script crashed before returning), or a payload object with an unrecognized 'reason' or structure not anticipated by the command.

Common situations: Browser crashed or navigated away mid-evaluate yielding null; a proxy stripped the response; a new Jike response variant not yet handled by the CLI version.

Related errors


AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29). Data as JSON: /api/errors/69bda2535c9885b3. Report an issue: GitHub.