## Problem `_submit_sync` was a 170-line nested closure with `_solve_turnstile` and the browser-install block further nested inside it. Status events went to stderr, which `run_scraper()` silently discards, leaving the user with a 10–30s silent hang after credential entry. The NDJSON spawn path also lacked stdin support, so submit had no streaming path at all. ## Solution Extract `_TURNSTILE_JS`, `_solve_turnstile`, `_ensure_browser`, and `_submit_headless` to module level in `atcoder.py`; status events (`installing_browser`, `checking_login`, `logging_in`, `submitting`) now print to stdout as NDJSON. Add stdin pipe support to the NDJSON spawn path in `scraper.lua` and switch `M.submit` to streaming with an `on_status` callback. Wire `on_status` in `submit.lua` to fire `vim.notify` for each phase transition.
13 lines
453 B
Bash
Executable file
13 lines
453 B
Bash
Executable file
#!/bin/sh
|
|
set -eu
|
|
|
|
nix develop --command stylua --check .
|
|
git ls-files '*.lua' | xargs nix develop --command selene --display-style quiet
|
|
nix develop --command prettier --check .
|
|
nix fmt
|
|
git diff --exit-code -- '*.nix'
|
|
nix develop --command lua-language-server --check . --checklevel=Warning
|
|
nix develop --command ruff format --check .
|
|
nix develop --command ruff check .
|
|
nix develop --command ty check .
|
|
nix develop --command python -m pytest tests/ -v
|