feat: RAM-install import probe for LOAD rejections (v3.6.42)
Cards that cannot satisfy the CAP's import list reject the LOAD as soon
as the Import component is complete (live 2026-09-29: 6438/6985 in the
block containing its last byte, on several cards incl. an eUICC profile
whose ISD is not the default AID and which does not answer GET DATA 0066 -
no direct platform-version readout exists).
_probe_import_versions (pure) rewrites the Import component's two version
bytes per entry in the assembled load file: same length, component sizes,
Directory and offsets untouched; unknown AIDs and bad versions are
rejected. /api/ram-install takes probe_imports ({'all': '0.0'} or
per-AID), echoes the applied changes in the response and logs them. The
PWA's RAM install form gains a collapsed Import probe fieldset (checkbox,
AID=version lines prefilled from the CAP analysis, 'Set all 0.0') and the
result line reports the applied changes. Diagnostic only - never used for
a real install.
Also verified _cap_parse's component order against the reference TCA load
trace (Header, Directory, Import, Applet, Class, Method, StaticField,
ConstantPool, RefLocation, Descriptor - Import before Applet, not
ascending tag order), so the order is correct and the import list remains
the prime suspect.
sw cache simple-v315; tests: 530 Python / 676 Node.
This commit is contained in:
@@ -42,9 +42,11 @@ eval(extractFunc(html, 'capMemBytes'));
|
||||
eval(extractFunc(html, 'capQuotaText'));
|
||||
eval(extractFunc(html, 'capMemHtml'));
|
||||
eval(extractFunc(html, 'capAnalyzeFile', true));
|
||||
// The RAM CAP analysis also applies the detected toolkit mode (DOM-bound; its
|
||||
// own logic is covered in ram.test.js) - stub it for these state tests.
|
||||
// The RAM CAP analysis also applies the detected toolkit mode and prefills
|
||||
// the import-probe field (DOM-bound; their own logic is covered in
|
||||
// ram.test.js) - stub them for these state tests.
|
||||
globalThis.ramApplyCapToolkitMode = () => {};
|
||||
globalThis.ramProbeFill = () => {};
|
||||
|
||||
globalThis.esc = s => s;
|
||||
globalThis.t = s => s;
|
||||
|
||||
Reference in New Issue
Block a user