fix: split skip counters for accurate reporting, complete status docs

- Split skipped_no_easy_apply into skipped_no_apply (no button/modal)
  and skipped_other (honeypot/stuck/incomplete) for clearer reporting
- Update Telegram summary, status.mjs display, and job_applier counters
- Add missing skipped_easy_apply_unsupported to README status table

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-05 17:44:25 -08:00
parent 8212f97aba
commit 1c3e9f3561
4 changed files with 20 additions and 7 deletions

View File

@@ -47,20 +47,24 @@ export function formatSearchSummary(added, skipped, platforms) {
export function formatApplySummary(results) {
const { submitted, failed, needs_answer, total,
skipped_recruiter, skipped_external, skipped_no_easy_apply,
already_applied, atsCounts } = results;
skipped_recruiter, skipped_external, skipped_no_apply,
skipped_other, already_applied, atsCounts } = results;
const lines = [
`✅ *Apply Run Complete* — ${total} jobs processed`,
``,
`📬 Applied: ${submitted}`,
`⏭️ Skipped (no Easy Apply): ${skipped_no_easy_apply}`,
`⏭️ No apply button: ${skipped_no_apply || 0}`,
`🚫 Recruiter-only: ${skipped_recruiter}`,
`🔁 Already applied: ${already_applied || 0}`,
`❌ Failed: ${failed}`,
`💬 Needs your answer: ${needs_answer}`,
];
if (skipped_other > 0) {
lines.push(`⚠️ Other skips (honeypot/stuck/incomplete): ${skipped_other}`);
}
if (skipped_external > 0 && atsCounts) {
const sorted = Object.entries(atsCounts).sort((a, b) => b[1] - a[1]);
lines.push(``, `🌐 *External ATS — ${skipped_external} jobs* (saved for later):`);