cp.nvim/scrapers
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
..
__init__.py lol 2025-09-24 21:23:06 -04:00
atcoder.py fix(scrapers): bad credentials detection and error message cleanup 2026-03-07 17:35:20 -05:00
base.py feat: file conflict prompt, empty submit guard, and lint fixes (#366) 2026-03-07 16:30:51 -05:00
codechef.py fix(scrapers): bad credentials detection and error message cleanup 2026-03-07 17:35:20 -05:00
codeforces.py fix(scrapers): bad credentials detection and error message cleanup 2026-03-07 17:35:20 -05:00
cses.py fix(scrapers): bad credentials detection and error message cleanup 2026-03-07 17:35:20 -05:00
kattis.py fix(scrapers): bad credentials detection and error message cleanup 2026-03-07 17:35:20 -05:00
language_ids.py feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
models.py feat: race countdown support and language version selection (#346) 2026-03-06 18:18:21 -05:00
timeouts.py fix: codechef submit fixes and atcoder cleanup (#355) 2026-03-06 23:40:12 -05:00
usaco.py fix(scrapers): bad credentials detection and error message cleanup 2026-03-07 17:35:20 -05:00