Commit graph

31 commits

Author SHA1 Message Date
1f0414de8e
docs(lua): add LuaCATS type annotations across core modules 2026-03-06 23:02:31 -05:00
Barrett Ruth
a202725cc5
fix(submit): use file path over stdin; fix CF CodeMirror textarea (#305)
## Problem

After the initial submit hardening, two issues remained: source code was
read in Lua and piped as stdin to the scraper (unnecessary roundtrip
since
the file exists on disk), and CF's `page.fill()` timed out on the hidden
`textarea[name="source"]` because CodeMirror owns the editor state.

## Solution

Pass the source file path as a CLI arg instead — AtCoder calls
`page.set_input_files(file_path)` directly, CF reads it with
`Path(file_path).read_text()`. Fix CF source injection via
`page.evaluate()`
into the CodeMirror instance. Extract `BROWSER_SUBMIT_NAV_TIMEOUT` as a
per-platform `defaultdict` (CF defaults to 2× nav timeout). Save the
buffer
with `vim.cmd.update()` before submitting.
2026-03-05 14:34:14 -05:00
622620f6d0 feat: add debug logging to python env, scraper, and runner
Problem: with debug = true, there is not enough diagnostic output to
troubleshoot environment or execution issues. The resolved python path,
scraper commands, and compile/run shell commands are not logged.

Solution: add logger.log calls at key decision points: python env
resolution (nix vs uv vs discovery), uv sync stderr output, scraper
subprocess commands, and compile/run shell strings. All gated behind
the existing debug flag so they only appear when debug = true.
2026-02-18 17:40:06 -05:00
c8f735617a misc bugfixes 2026-02-02 13:13:08 -05:00
0b21d02f24 fix(runner): save buffer before compile 2026-01-27 16:42:16 -05:00
4c5c44742e feat: refactors 2026-01-27 14:23:23 -05:00
ba26cee7f9 feat(run): make running entirely asynchronous 2026-01-27 12:55:35 -05:00
Barrett Ruth
00987bb0ff feat(io): cleanup view 2025-11-06 01:31:50 -05:00
Barrett Ruth
48d4c6f113 feat: language 2025-10-24 01:21:16 -04:00
Barrett Ruth
6a6cf2c594 feat: bindings and --debug flag 2025-10-23 23:36:09 -04:00
d2bde9bad8 fix(config): better file org 2025-10-04 19:54:53 -04:00
aae98a5796 disable scraper disabling 2025-10-04 17:45:49 -04:00
b9a2c7a4ff fix(scrapers): fix 2025-10-04 15:00:37 -04:00
179b333505 update pyproject 2025-10-03 22:38:24 -04:00
5991670ef2 fix health and hl groups 2025-10-03 09:34:25 -04:00
d35ed0450b fix table 2025-10-03 09:27:52 -04:00
c9ba8281b0 fix(runner): proper timeout 2025-10-03 09:16:38 -04:00
d480975652 fix tle verdict 2025-10-02 23:28:51 -04:00
cddd61f061 config hard fail 2025-10-02 23:20:51 -04:00
69ffc2d9dd cleanup 2025-10-02 23:07:10 -04:00
0061161a90 feat(runner): mle 2025-10-02 23:03:58 -04:00
d9537e72ba many fixes 2025-10-02 22:35:30 -04:00
1a4573a4e4 remove useless stderr fields 2025-10-02 20:45:27 -04:00
a925686a17 fix(log): improve logging 2025-10-01 16:41:24 -04:00
46cd509747 fix docs and superfluous vim.validate calls 2025-09-30 20:55:29 -04:00
646b0047dc fix lint 2025-09-24 18:48:15 -04:00
975e829f78 fix: remove version 2025-09-24 18:28:41 -04:00
9e84d57b8a feat: context, not config 2025-09-24 18:21:34 -04:00
d851dda461 fix(ci): fomrat 2025-09-21 15:10:27 -04:00
78fb4f8f4b feat(cache): cache clearing, updating and resetting 2025-09-21 15:08:55 -04:00
965e47a1df feat: refactor file structure 2025-09-21 14:29:01 -04:00
Renamed from lua/cp/execute.lua (Browse further)