diff --git a/VERSION.properties b/VERSION.properties index 22376cf..b71daa0 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.166 +client.version=1.2.167 server.version=1.2.144 diff --git a/shine-UI/js/pages/network/force-graph.js b/shine-UI/js/pages/network/force-graph.js index 7f752e4..b23f56e 100644 --- a/shine-UI/js/pages/network/force-graph.js +++ b/shine-UI/js/pages/network/force-graph.js @@ -1233,8 +1233,9 @@ export function createForceGraph({ stage, model, onCenterTap, onNodeTap, onNodeL let pinchDist0 = 0; // базовая дистанция между пальцами (px) для расчёта масштаба let hoverNode = null; // узел под курсором мыши (для ховер-раскрытия ветки) let lastBgTapTs = 0; // время последнего тапа по пустому фону (для двойного тапа = сброс) - // Виброотклик (мобильные): не критичен — на десктопе navigator.vibrate просто отсутствует. - const haptic = (pattern) => { try { if (navigator.vibrate) navigator.vibrate(pattern); } catch { /* нет API */ } }; + // Виброотклик отключён по запросу: на экране «Связи» телефон не вибрирует ни на тапах, ни на переходах. + // (no-op; вызовы haptic(...) ниже оставлены, но ничего не делают — легко вернуть, восстановив тело.) + const haptic = () => {}; // Префетч аватарок детей при наведении/нырке — чтобы при раскрытии лица уже были в кэше браузера. const prefetched = new Set();