v1.37.2
detour v1.37.2
Исправлено
-
Лог-мост плодил процессы при каждом перезапуске.
/proc/<pid>/commядро обрезает до 15 символов, поэтому наши же подоболочки видны там какdetour-logbridg, а whitelist вkill_treeсверялся с полным 16-символьнымdetour-logbridge— совпадения не было никогда. При рестарте умирали толькоtailиlogger(их имена короткие), а подоболочка-followвыживала и черезsleep 5поднимала себе новую пару; одновременно новыйrunдобавлял ещё четыре.На референсном роутере за 1 день 22 часа аптайма накопилось 48
tail+ 48logger+ 49 подоболочек при 331 процессе всего. Теперь whitelist матчит обрезанное имя, а на старте добавлена зачистка по/proc:CHILDREN_FILEзнает только текущее поколение, поэтому всё, что оставил после себя убитый по SIGKILLrun, было для него невидимо навсегда.Замерено после фикса на живом GL-BE9300: 4/4/5 и не растёт через три перезапуска подряд, пересылка в syslog живая и ровно в одной копии.
-
Матричный фон не перекрашивался при смене темы.
toggleTheme()сначала вешает на<html>класс сtransition: background-color 0.25s, и только потом меняетdata-theme. Наблюдатель срабатывал мгновенно и читалgetComputedStyle(...).backgroundColor, который в этот момент возвращал ещё старый цвет — переход только начался. Цвета глифов берутся напрямую из атрибута, поэтому перекрашивались сразу, а фон оставался в прежней теме, причём навсегда: этот же цвет дальше использует затухающая заливка, и починить его мог только ресайз окна. Теперь читается токен--bg(кастомные свойства не анимируются, значение переключается мгновенно), с фолбэком наbackgroundColor.
Кросс-платформенность
- Фикс лог-моста — в общем
detour-logbridge, обход/procплатформо-независим и приезжает на обе платформы. ⚠ Проверен на живом OpenWrt (GL-BE9300); на живом Keenetic не проверялся — как и весь Keenetic-путь этого скрипта с момента его появления. - Фикс темы — целиком в
index.html, исполняется в браузере, одинаков на обеих платформах.
Packages
detour_1.37.2_all.ipk— OpenWrt / GL.iNet (BE9300, Flint).detour-keenetic_1.37.2_all.ipk— Keenetic / Entware (mipsel).
Рядом с каждым пакетом лежит .ipk.sig (usign).