diff --git a/job_applier.mjs b/job_applier.mjs index 8c2f2bd..41b07d1 100644 --- a/job_applier.mjs +++ b/job_applier.mjs @@ -312,6 +312,7 @@ async function handleResult(job, result, results, settings, profile, apiKey) { console.warn(` ⚠️ Unhandled status: ${status}`); updateJobStatus(job.id, status, { title, company }); appendLog({ ...job, title, company, status }); + results.skipped_other++; } } diff --git a/lib/notify.mjs b/lib/notify.mjs index 8e123ac..c563e18 100644 --- a/lib/notify.mjs +++ b/lib/notify.mjs @@ -101,16 +101,15 @@ export function formatApplySummary(results) { `✅ *Apply Run Complete* — ${total} jobs processed`, ``, `📬 Applied: ${submitted}`, - `⏭️ 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}`); - } + // Only show non-zero categories to keep the summary clean + if (needs_answer) lines.push(`💬 Needs your answer: ${needs_answer}`); + if (failed) lines.push(`❌ Failed: ${failed}`); + if (skipped_no_apply) lines.push(`⏭️ No apply button: ${skipped_no_apply}`); + if (skipped_recruiter) lines.push(`🚫 Recruiter-only: ${skipped_recruiter}`); + if (already_applied) lines.push(`🔁 Already applied: ${already_applied}`); + if (skipped_other) 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]);