Problem: `navigate_problem` only called `views.disable()` for the `'run'` panel; interactive and stress terminals were left alive when stepping through problems with `:CP next/prev`. In-flight `run_io_view` callbacks were also not invalidated since `is_new_contest` stays false for same-contest navigation, so the generation-counter guard in `setup_contest` never fired. Solution: call `cancel_io_view()` unconditionally in `navigate_problem` and expand the panel dispatch to cover `'interactive'` and `'stress'` alongside `'run'`, mirroring the contest-switch logic in `setup_contest`. |
||
|---|---|---|
| .. | ||
| 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 | ||