Spaces:
Sleeping
Sleeping
Commit History
-
deploy: fill the profile from the CV, and rank courses on measured skill gaps
c3b8f02
-
Restore AI: Groq retired the Llama models
2f666f7
-
deploy: campaign flow + location verification check
Ports the location-poc verification rules verbatim (27/27 VPN exits caught, 0/18 false positives, re-verified through the new endpoint) and adds the campaign flow on top: public apply page, shortlisting, invite tokens stored hashed, and the admin surface. Client IP is read via a trust-proxy HOP COUNT (TRUSTED_PROXY_HOPS, default 1) rather than trusting the whole chain — the leftmost X-Forwarded-For value is client-supplied and would defeat every network rule. If the Space turns out to sit behind more than one proxy, set TRUSTED_PROXY_HOPS accordingly: that value being wrong misjudges every candidate. New tables are created by TypeORM synchronize on boot (campaigns, campaign_candidates, campaign_application_drafts, verification_sessions), plus nullable/defaulted columns on user and interview_sessions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>86063f3
-
deploy: total feed cap 50/20/10 + adzuna depth trim
6bf5f08 -
deploy: prefer Anywhere jobs in the capped feed
ee30480 -
deploy: WWR + Working Nomads sources + Asia/Gulf geo reachability
76a6493 -
deploy: web search honours on-screen filters
dabd539 -
deploy: entry-level ranking fix
c622523 -
deploy: purge-jobs admin endpoint
fb074b5 -
deploy: remote cap 50/20/10 tiers
92041cb -
deploy: remote feed cap + rozee pk-only
9748115 -
deploy: 6 free worldwide job sources (remote boards + ATS)
0d08056 -
deploy: revert adzuna browser escalation
3327464 -
deploy: escalate adzuna unknowns to browser (trial)
9c6e2b3 -
deploy: gone-phrase JS-context guard
f251831 -
deploy: rendered-text confirmation for phrase-based discards
0ad70fd -
deploy: gentle per-domain concurrency
30735c5 -
deploy: chunkable bulk verify + honest escalated flag
81f14af -
deploy: per-domain pacing + 429 retry for link verifier
d646b0f -
deploy: apply-link liveness layer (Phases 0-3 + audit endpoints)
175af2a
-
deploy: replace dead clearbit logo URLs
logo.clearbit.com no longer resolves, so every generated logo URL was a guaranteed failed image request. Board marks now use Google's favicon service; company marks are generated initials.93aa512 -
deploy: correct salary parsing + backfill endpoint for existing rows
parseSalaryValue no longer mines digits out of unparseable strings ("$30 - $130/hour" was becoming 30130). Adds admin POST /scraper/maintenance/backfill-salaries to fill the numeric mirrors on jobs written before those columns existed — without it, salary filtering returns nothing for the existing feed until expiry churns it.88800df -
deploy: activity-gated scraping, rescore on profile change, job-query cache
Nightly refresh now picks users by users.lastActiveAt instead of by rows in scrape_runs, which the cron itself writes — the old gate re-qualified users forever. Login refreshes a stale feed so quiet users cost nothing while away. Profile edits rescore existing jobs and courses. Job-board results cache for 12h. Salary filters run in SQL.a0eafe5
-
perf(scraper): deeper Adzuna paging; catch USC/GC authorization shorthand
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>a5d1486 -
fix(normalize): stop labelling US-only remote jobs as open to anywhere
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>d42c579 -
fix(scraper): remote jobs classify as Anywhere; cap query hints at one
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>c3a9e33 -
fix(scraper): apply country filter on every scrape trigger
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>44c5c7a -
fix(scraper): correct query hints, empty-query fallback, profile country
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>766c348 -
feat(scraper): filter-driven job search — push UI filters into Adzuna/JSearch APIs
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>a030856 -
security: close unauthenticated routes, IDOR, and log leaks
Deploy of the pre-launch hardening pass (GitHub main 4e15bea). - Remove UsersController: GET /users/:id returned the full User entity including password and token hashes with no auth; POST /users wrote passwords unhashed. - AdminKeyGuard (x-admin-key, constant-time, fails closed) on the six previously-open admin routes. @Cron automation is unaffected — it calls the services in-process, not over HTTP. - Scope /scraper/results and the custom-search poll to the caller. - helmet, global exception filter (correlation id, no stack traces), Swagger disabled in production unless ENABLE_SWAGGER=1. - x-service-key on all Python bridge calls + 60s timeout on /extract-resume, which previously had none. - Remove login/forgot-password account enumeration (constant-time). - Revoke session chain on refresh-token replay. - Stop logging reset tokens, OTPs, and full axios/nodemailer errors. Requires SERVICE_API_KEY and ADMIN_API_KEY (already set on the Space).6cd3ae1
-
chore(courses): raise course-query cache TTL to 30 days
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>4be41bf -
fix(courses): tune star rating so evergreen courses aren't penalized
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>2915802 -
feat(courses): structured extraction, global pool, ranking, richer cards
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>a1056d7 -
deploy: refined work-eligibility classifier
68b2300 -
deploy: level-aware queries + work-eligibility filter
18ed4d9 -
deploy: worldwide remote queries for PK users
36a8c33 -
deploy: profile-hash reuse, work-mode inference, source filter support
b57921d -
deploy: rozee domcontentloaded fix + platform-rule reapplication
cfa9651 -
deploy: python-playwright browsers, PK jsearch fallback, zero-result logging
361a293 -
deploy: scraper pipeline (Postgres storage, ranking, expiry, tracker, hardened LLM plumbing)
6fb7573
-
final backend
mahrooshishaqd8ea863
-
feat: add mock interview and document generation modules
Hajrah Rehan9ffaa46
-
weewoo
unprecedented-cressJobs and courses module COMPLETED khikhikhi910c878 -
Job APIs done
unprecedented-cress53dc52c