Harden selection tracking against dropped/failed SELECTs
- Only update the selected-file state on a successful SELECT (SW1 in 61/62/63/90/91/92/9E/9F); a failed SELECT (e.g. 6A82) leaves the current file unchanged. - Track the file structure from the FCP (GET RESPONSE after SELECT). - Skip file decoding for record ops (READ/UPDATE/SEARCH RECORD) when the selected file is transparent/DF, marking the result 'stale' instead of decoding garbage — this catches silently-dropped SELECTs.
This commit is contained in:
1 parent
91cb4e6e02
commit
747974460e
4 files changed
+144
-18
No files matched your search
+4
-2
@@ -634,7 +634,9 @@ function fileRows(f) {
|
||||
if (!f) return '';
|
||||
const title = f.ef ? `${f.ef} (0x${(f.fid || '').toUpperCase()})` : (f.fid || '').toUpperCase();
|
||||
const rows = [];
|
||||
if (f.empty) {
|
||||
if (f.stale) {
|
||||
rows.push(['File', title + ' — selection stale (record op on non-record file)']);
|
||||
} else if (f.empty) {
|
||||
rows.push(['File', title + ' — empty']);
|
||||
} else {
|
||||
rows.push(['File', title]);
|
||||
@@ -816,7 +818,7 @@ function showDetail(msg, entry) {
|
||||
}
|
||||
|
||||
const cla = decoded.cla;
|
||||
const claInfo = `${cla.interclass}, ch${cla.channel}, ${cla.secure_messaging}, chain: ${cla.chain}`;
|
||||
const claInfo = `${cla.interclass}, ch${cla.channel}, SM: ${cla.secure_messaging}, chain: ${cla.chain}`;
|
||||
|
||||
const catRow = decoded.cat_command
|
||||
? `<tr><td class="label">CAT</td><td class="name">${decoded.cat_command}</td></tr>`
|
||||
|
||||
Reference in new issue
Block a user