From e9f0a50ea522840acc4f464ad920c9a6a38e5307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A2=D1=80=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Sun, 20 Sep 2026 23:21:06 +0300 Subject: [PATCH] ui: gate Read decoded on client-side decoder availability (v2.7.10) Files without a client-side decoder used to fall back to a raw view when the Decoded pill was pressed. The decoder is resolved by name/FID (efFindDecoder) before any read, so the pill can be disabled instead. - pysimFsHasDecoder() mirrors the decoded view's resolution (tree node name, FID fallback). - pysimApplyAvailability() honours a new data-needs-decoder marker: disabled with the existing 'No decoder for this file' tooltip; the card hint still wins when no card is equipped. - pysimFsClickFile() re-runs the availability pass after selecting a file; pysimFsSetMode('dec') ignores the call without a decoder. - tests: indicator (enable/disable/tooltip precedence), fs_edit (decoded guard, name/FID resolution); help EN/RU. --- frontend/help-ru.html | 2 +- frontend/help.html | 2 +- frontend/index.html | 25 ++++++++++++++++++--- frontend/sw.js | 2 +- frontend/tests/fs_edit.test.js | 37 ++++++++++++++++++++++++++++++-- frontend/tests/indicator.test.js | 27 +++++++++++++++++++++++ pyproject.toml | 2 +- pysim_simple_server/server.py | 2 +- 8 files changed, 89 insertions(+), 10 deletions(-) diff --git a/frontend/help-ru.html b/frontend/help-ru.html index 222d1d6..1d7a4c0 100644 --- a/frontend/help-ru.html +++ b/frontend/help-ru.html @@ -352,7 +352,7 @@

6.1 Файловый менеджер

Дерево файловой системы отображается слева; выбор файла открывает панель деталей справа. Элементы сгруппированы: DF выше EF, сортировка по FID или символьному имени (пиллы и кнопка «Проверить все файлы» закреплены над прокручиваемым деревом; выбор сохраняется в localStorage). При выборе файла над содержимым также показываются FID, тип файла, размер / структура записей и декодированный FCI.