v3.32.5: a card removed during the startup init leaves it cardless
release / release (push) Has been cancelled
release / release (push) Has been cancelled
Live log: a card was pulled while the server started and the TERMINAL PROFILE send raised CardConnectionException 0x80100016 (SCARD_E_NOT_TRANSACTED). The init's except caught it (no crash), but the code then continued with the card object it had already built: card_present and _CARD_CONNECTED became True - a phantom equipped card - and the auto-equip's _CARD_CONNECTED early return then skipped every later insertion, leaving only a manual Equip or a restart. A PC/SC error in the startup init now prints one line (a traceback is noise for a normal removal), clears the locals that feed those flags and calls _clear_app_card_state(app); the presence monitor equips the next card. Non-PC/SC errors keep their traceback. Pinned in tests/test_startup_cardless.py (the branch and the flag sources). 1016 Python + 953 frontend green; simple-v463.
This commit is contained in:
@@ -9,6 +9,18 @@ every change carries a descriptive commit message.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [3.32.5] — 2026-10-21
|
||||
|
||||
### Fixed
|
||||
|
||||
- A card removed during the **startup initialization** no longer leaves the server
|
||||
reporting a phantom equipped card. The init caught the PC/SC error (and printed a
|
||||
traceback) but kept the card object it had already built, so `card_present` and
|
||||
`_CARD_CONNECTED` stayed True — and the auto-equip then skipped every later insertion
|
||||
(its `_CARD_CONNECTED` early return), leaving only a manual Equip or a restart. A
|
||||
PC/SC error now prints one line (`INIT: card removed during initialization …`), drops
|
||||
the half-initialized session and lets the presence monitor equip the next card.
|
||||
|
||||
## [3.32.4] — 2026-10-21
|
||||
|
||||
### Fixed
|
||||
|
||||
Reference in New Issue
Block a user