cp.nvim/lua/cp
Barrett Ruth 0ad7a9614f
fix(scrapers): bad credentials detection and error message cleanup
Problem: Wrong credentials during login produced two bugs: scrapers
wrapped the `bad_credentials` error code in `"Login failed: ..."`,
causing double-prefixed messages in the UI; and `credentials.lua`
did not clear cached credentials before re-prompting or on failure,
leaving stale bad creds in the cache.

Solution: Standardize all scrapers to emit `"bad_credentials"` as
the raw error code. Add `LOGIN_ERRORS` map in `constants.lua` to
translate it to a human-readable string in both `credentials.lua`
and `submit.lua`. Fix `credentials.lua` to clear credentials on
failure in both the fresh-prompt and cached-creds-fail paths.
For AtCoder and Codeforces, replace `wait_for_url` with
`wait_for_function` to detect the login error element immediately
rather than waiting the full 10s navigation timeout. Also add
"Remember me" checkbox check on Codeforces login.
2026-03-07 17:35:20 -05:00
..
commands feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
pickers feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
runner feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
ui feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
cache.lua feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
config.lua fix(scraper): httpx login fast paths, proactive validation, and slug filename fix (#358) 2026-03-07 15:38:12 -05:00
constants.lua fix(scrapers): bad credentials detection and error message cleanup 2026-03-07 17:35:20 -05:00
credentials.lua fix(scrapers): bad credentials detection and error message cleanup 2026-03-07 17:35:20 -05:00
health.lua feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
helpers.lua feat(ui): auto-hide source buffer on close 2025-10-24 14:47:12 -04:00
init.lua feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
log.lua fix(submit): use file path over stdin; fix CF CodeMirror textarea (#305) 2026-03-05 14:34:14 -05:00
race.lua fix(race): log initial countdown on start (#356) 2026-03-06 23:59:56 -05:00
restore.lua fix(submit): use file path over stdin; fix CF CodeMirror textarea (#305) 2026-03-05 14:34:14 -05:00
scraper.lua feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
setup.lua feat: file conflict prompt, empty submit guard, and lint fixes (#366) 2026-03-07 16:30:51 -05:00
state.lua refactor(run): remove I/O view test navigation keymaps 2026-03-04 00:26:22 -05:00
stress.lua feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
submit.lua fix(scrapers): bad credentials detection and error message cleanup 2026-03-07 17:35:20 -05:00
utils.lua feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
version.lua fix: refactor 2025-09-21 11:19:00 -04:00