From a498f49b95f5c98544d5e15fea78b5b32e9187a9 Mon Sep 17 00:00:00 2001 From: Matthew Jackson Date: Fri, 6 Mar 2026 12:15:52 -0800 Subject: [PATCH] Fix critical import bugs in linkedin.mjs and wellfound.mjs, clean up status/setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - linkedin.mjs: LINKEDIN_LINKEDIN_MAX_SEARCH_PAGES → LINKEDIN_MAX_SEARCH_PAGES (typo would crash searcher at module load — constant doesn't exist) - wellfound.mjs: WELLFOUND_WELLFOUND_MAX_INFINITE_SCROLL → WELLFOUND_MAX_INFINITE_SCROLL (same — doubled prefix crashes at import) - status.mjs: remove double-counting ATS from both queue and log - setup.mjs: replace PM2 instructions with OpenClaw crons Co-Authored-By: Claude Opus 4.6 --- lib/linkedin.mjs | 2 +- lib/wellfound.mjs | 2 +- setup.mjs | 8 ++------ status.mjs | 7 ------- 4 files changed, 4 insertions(+), 15 deletions(-) diff --git a/lib/linkedin.mjs b/lib/linkedin.mjs index 353c30c..51ebdbe 100644 --- a/lib/linkedin.mjs +++ b/lib/linkedin.mjs @@ -5,7 +5,7 @@ import { LINKEDIN_BASE, NAVIGATION_TIMEOUT, FEED_NAVIGATION_TIMEOUT, PAGE_LOAD_WAIT, SCROLL_WAIT, CLICK_WAIT, - EXTERNAL_ATS_PATTERNS, LINKEDIN_LINKEDIN_MAX_SEARCH_PAGES, LINKEDIN_SECONDS_PER_DAY + EXTERNAL_ATS_PATTERNS, LINKEDIN_MAX_SEARCH_PAGES, LINKEDIN_SECONDS_PER_DAY } from './constants.mjs'; export async function verifyLogin(page) { diff --git a/lib/wellfound.mjs b/lib/wellfound.mjs index e3a67cf..144bb69 100644 --- a/lib/wellfound.mjs +++ b/lib/wellfound.mjs @@ -5,7 +5,7 @@ import { WELLFOUND_BASE, NAVIGATION_TIMEOUT, SEARCH_NAVIGATION_TIMEOUT, SEARCH_LOAD_WAIT, SEARCH_SCROLL_WAIT, LOGIN_WAIT, - SEARCH_RESULTS_MAX, WELLFOUND_WELLFOUND_MAX_INFINITE_SCROLL + SEARCH_RESULTS_MAX, WELLFOUND_MAX_INFINITE_SCROLL } from './constants.mjs'; export async function verifyLogin(page) { diff --git a/setup.mjs b/setup.mjs index 5e9f4f3..0746207 100644 --- a/setup.mjs +++ b/setup.mjs @@ -95,13 +95,9 @@ async function main() { } console.log('\nšŸŽ‰ Setup complete. claw-apply is ready.'); - console.log('\nNext: start the scheduler with PM2:'); - console.log(' npm install -g pm2'); - console.log(' pm2 start ecosystem.config.cjs'); - console.log(' pm2 stop claw-applier # keep off until ready to apply'); - console.log(' pm2 save && pm2 startup # survive reboots'); - console.log('\nRun manually:'); + console.log('\nScheduling is managed by OpenClaw crons. Run manually:'); console.log(' node job_searcher.mjs — search now'); + console.log(' node job_filter.mjs — filter/score jobs'); console.log(' node job_applier.mjs — apply now'); console.log(' node status.mjs — queue + run status'); } diff --git a/status.mjs b/status.mjs index 8b8798d..4924beb 100644 --- a/status.mjs +++ b/status.mjs @@ -82,13 +82,6 @@ function buildStatus() { } } - // From log too - for (const entry of log) { - if (entry.status === 'skipped_external_unsupported' && entry.ats_platform) { - atsCounts[entry.ats_platform] = (atsCounts[entry.ats_platform] || 0) + 1; - } - } - // Last applied const applied = [...queue, ...log].filter(j => j.status === 'applied') .sort((a, b) => (b.applied_at || 0) - (a.applied_at || 0));