Problem: two related gaps in `handle_command` and `parse_command`. Codeforces contest IDs were passed through raw, so URLs or problem IDs with trailing letters (e.g. `1933A`, full contest URLs) caused scraper failures. Separately, action commands like `:CP run` silently failed when invoked with no active contest instead of attempting recovery. Solution: add `canonicalize_cf_contest` to strip URLs and trailing problem letters before building the `contest_setup` command. Add a guard in `handle_command` that calls `restore_from_current_file()` before dispatching any contest-requiring action when no platform is active, returning early if no cached state is found. |
||
|---|---|---|
| .. | ||
| commands | ||
| pickers | ||
| runner | ||
| ui | ||
| cache.lua | ||
| config.lua | ||
| constants.lua | ||
| credentials.lua | ||
| health.lua | ||
| helpers.lua | ||
| init.lua | ||
| log.lua | ||
| race.lua | ||
| restore.lua | ||
| scraper.lua | ||
| setup.lua | ||
| state.lua | ||
| stress.lua | ||
| submit.lua | ||
| utils.lua | ||
| version.lua | ||