Problem: `ContestSummary.display_name` defaults to `None`, which serializes to JSON `null` → Lua `vim.NIL`. The picker displayed "vim.NIL" for every entry, and `start_time` was always stored because `vim.NIL` is truthy in Lua. Solution: pass `display_name=name` explicitly in `_parse_contests_page` so JSON never emits `null`. In `set_contest_summaries`, coerce `display_name` via a `~= vim.NIL` guard and apply the same guard before storing `start_time`. |
||
|---|---|---|
| .. | ||
| cp | ||