fix: language version IDs, cache crash, and stress session restore (#352)

## Problem

Codeforces language version IDs were wrong (pointed at old compiler
versions), `LANGUAGE_VERSIONS` was incomplete for most platforms, the
contest picker crashed when `supports_countdown` was stored as a
non-table entry, and `:CP stress` restored a broken IO view on exit.

## Solution

Correct CF `programTypeId` values and default to C++20. Add
`LANGUAGE_VERSIONS` entries for all six platforms. Guard
`get_contest_summaries` against non-table cache entries. Call
`ensure_io_view()` after stress session restore. Shorten the stress
terminal buffer name to a readable `term://stress.py` format.
This commit is contained in:
Barrett Ruth 2026-03-06 20:22:28 -05:00 committed by GitHub
parent 425a8f36e9
commit 1ac521a126
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 22 additions and 11 deletions

View file

@ -85,10 +85,10 @@ M.LANGUAGE_VERSIONS = {
python = { python3 = '31', pypy3 = '70' },
},
cses = {
cpp = { ['c++11'] = 'C++11', ['c++17'] = 'C++17', ['c++20'] = 'C++20' },
cpp = { ['c++17'] = 'C++17' },
python = { python3 = 'Python3', pypy3 = 'PyPy3' },
java = { java = 'Java' },
rust = { rust2018 = 'Rust2018', rust2021 = 'Rust2021' },
rust = { rust2021 = 'Rust2021' },
},
kattis = {
cpp = { ['c++17'] = 'C++', ['c++20'] = 'C++', ['c++23'] = 'C++' },