startup: cardless start is a normal state, not an init failure (v2.2.17)
- __main__ catches NoCardError from the startup init (fast and stock paths, and the stock fallback) and reports it with one line - 'INIT: no card in the reader - server ready; insert a card or press Equip' - without a traceback and without the stock-pysim fallback. Any other init failure still falls back with its traceback. - The cardless PysimApp construction no longer prints pySim's 'Waiting for card...' or pySim-shell's 'pySim-shell not equipped!': a new _LineFilter (server.py) drops whole matching lines while proxying encoding/isatty/ fileno (the cmd2 Rich console probes them on its stdout). - Removed the now-duplicate 'INIT: card not initialized' tail line and the cat_cla assignment when no card was detected (scc exists but is cardless). - Tests: tests/test_startup_cardless.py (line filter semantics incl. partial lines, one-line cardless report, no fallback call, real failures keep the fallback + traceback, muted PysimApp construction). Live-verified against an empty SCR 3310: two init lines, no traceback, API serves 2.2.17. - Docs: READMEs quick start, help EN+RU (Card reader), AGENTS (equip flow). SW cache otaman-v184.
This commit is contained in:
@@ -17,7 +17,7 @@ cd otaman
|
||||
./start.sh # or start.bat — starts the server (it serves the PWA too)
|
||||
```
|
||||
|
||||
Then open http://127.0.0.1:8080 — the UI and API share one origin, so no CORS or browser-permission setup is needed.
|
||||
Then open http://127.0.0.1:8080 — the UI and API share one origin, so no CORS or browser-permission setup is needed. The server starts fine with an empty reader (no card is a normal state): insert a card and it is initialized automatically (auto-equip), or press **Equip card** in the UI.
|
||||
|
||||
## Build
|
||||
|
||||
|
||||
Reference in New Issue
Block a user