📱 Доска iOS

всеканоны и докиворкеры↗ WEB↗ Легаси
IOS-167 · Дефект · heatmap · ios

Тепловая карта виснет на 106 источниках: main thread 72с в SwiftUI lazy layout

К работе P1 · важно ведёт: —
Суть
Owner 19:45 + CHAT LOG (текст-40B0-B9F2-67-0.txt): на малых тетрадях зум/листание ок; тетрадь на 106 источников — карта зависла, вотчдог: main_unresponsive, mainMaxBeatGapMs=71973, стек БЕЗ NoteClone-фреймов — чистый SwiftUI: _LazyLayout_Subviews.apply → LayoutProxy.lengthThatFits рекурсия (lazy grid синхронно меряет все ячейки, O(строки×столбцы) при 106 источниках). НАПРАВЛЕНИЯ: фиксированный размер ячеек (убрать per-cell lengthThatFits), для великих тетрадей — даунсемпл/чанки сетки или отрисовка через Canvas (один draw-пасс вместо тысяч вью), порог с бейджем спрощеного режима (правило 10: честная причина).
Как воспроизвести
Тетрадь 106 источников → тепловая карта → зависание; лог вотчдога прилагался
Чем закрывается (приёмка)
Карта на 106+ источниках открывается и листается без main-блока >1с; малые тетради без регресса
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/ios/assign -H 'content-type: application/json' \ -d '{"issueId":"IOS-167","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-05T18:30:25Z