[1.144.0] — 2026-08-12
Settings & filters (Phase 4, part 1): enable/disable tracked portals — you can now turn a watched company on or off from #/portals, and the scanner honors it. A user-reported UX request (no parent-sync).
Added
POST /api/portals/toggle— an explicit user write that flips a watched company'senabledflag inportals.yml, keyed bycareers_url. The edit is surgical + parse-validated: only the target company'senabled:line is inserted/flipped (comments, ordering, and every other field preserved byte-for-byte, matching thestore.mjswrite pattern), and the result must still parse as YAML or the write is refused. Same write-through contract asPOST /api/tracker/PUT /api/cv.- Enable / Disable toggle per company on
#/portals— one click turns a portal off (the EN scanner already skipsenabled: falsecompanies, so a disabled portal drops out of every future scan) or back on, with an optimistic toast. - 5 new i18n keys × 17 locales (
portals.disable/enable/enabledToast/disabledToast/toggleFailed); assembled-dict snapshot 1195 → 1200.
Notes
- The scanner change was zero —
en-scanner.mjsalready filterscompanies.filter((c) => c.enabled !== false); this release adds the UI + a safe write path to set it. - Deferred to a later Phase-4 slice (subjective / cosmetic — they want your eye): the scan-filter visual redesign and moving
#/portalsfully into a settings nav section.#/portalsremains the portal-settings surface for now. - Suite: 2370 tests (+3:
setEnabledInRawinsert/flip/not-found + the toggle round-trip + unknown-url 404 intests/portals-routes.test.mjs).