968010c411DI2: визуальный рестайл — графики и цвета по токенам скина, таблицы по UI Style Guide, мобильная нижняя панель, переключатель темыИльяс Султанов2026-09-07 00:04:49 +03:00
b4579340ffDI2: мост тем/скинов iistwin — Di2ThemeProvider, общий generated-skins.css, токены в формате основного клиентаИльяс Султанов2026-09-06 23:31:43 +03:00
4c260f2aafDI2: отчёт по этапу 1 (удаление старого модуля финансов)Ильяс Султанов2026-09-06 21:55:21 +03:00
66f4e5ef53DI2: удаление старого модуля финансов — пул БД и аудит перенесены в finance-di2Ильяс Султанов2026-09-06 21:53:47 +03:00
6bcf4dfdfcDI2: навигация сайдбара на wouter Link — base /di2 подставляется в href и клики не покидают субапп (прямые <a href> уводили на iistwin)Ильяс Султанов2026-09-06 20:53:44 +03:00
f993c4d1f0DI2: дашборд клиента ходил на старый /api/dashboard (fetch-шаблон не был переименован) — CRM-формат ломал рендер. Фикс URL на /api/di2/dashboardИльяс Султанов2026-09-06 20:40:42 +03:00
0bde7764b1MCP create_task: создание исполнителя в task_assignees при assigned_toИльяс Султанов2026-09-06 13:10:27 +03:00
ec86fa4c11Рейтинг сотрудников: history-number поле = последняя оценка, среднее за месяц — в поле options.avgFieldCodeИльяс Султанов2026-09-06 11:55:15 +03:00
a7a14d947aФинансы: деревья категорий как в Data-Insight2 — группировка авто/ручные, свёрнуто по умолчанию, полосы сумм, нераспределённыеИльяс Султанов2026-09-06 09:53:45 +03:00
2d137332daФинансы: дебиторка по умолчанию читает из таблицы prosrochennayadebitorskayazadolzhennost — view vw_debt_active отсутствует во внешней БДИльяс Султанов2026-09-06 09:40:56 +03:00
4b34a4bea5Финансы: мобильная нижняя навигация (Обзор / Разделы / Настройки) вместо боковой панели на телефонеИльяс Султанов2026-09-05 17:59:34 +03:00
ccfc396d40CI: NODE_OPTIONS --max-old-space-size=6144 для tsc — googleapis тянет тяжёлые .d.ts, Type check падал с OOMИльяс Султанов2026-09-05 15:39:58 +03:00
7a8db03163Финансы: дебиторка (vw_debt_active), расчёты НДС/налога на прибыль, аудит целостности с автопланировщиком, синхронизация зарплат из Google Sheets, миграция настроек Data-Insight2Ильяс Султанов2026-09-05 15:07:36 +03:00
67dbf90d65feat(gps): мосты-предположения по дорогам между GPS-якорями на LBS-участках (OSRM route, пунктир)Ильяс Султанов2026-08-31 21:30:17 +03:00
08d1fa1af3fix(gps): бейдж «Нет GPS» = нет валидной GPS-точки дольше N часов (настройка), убран pin от stale-пересылокИльяс Султанов2026-08-31 17:36:40 +03:00
0ad9bb8715fix(gps): убран слой детекции LBS по stale re-send (помечал ~100% точек); is_lbs только по протокольному флагу valid=false + физикаИльяс Султанов2026-08-31 17:02:56 +03:00
cbb659aed7feat(gps): valid=false от протокола H02 → точка сохраняется как LBS-примерная (не выбрасывается), сигнал потери GPSИльяс Султанов2026-08-31 15:13:03 +03:00
bec3cc054dfeat(gps): траекторный фильтр трека (медианный якорь из 10 точек + lookahead-подтверждение переезда); скорость у выживших LBS-точек с «~»Ильяс Султанов2026-08-30 20:26:36 +03:00
0386005463fix(gps): LBS-точки без линий (конец «мяча»), честные поездки без фейковых разрывов, тост OSRM только при реальной недоступностиИльяс Султанов2026-08-30 12:49:00 +03:00
3f4d35ae83fix(gps): offroad-фильтр при выдаче — все точки, не только isLbs (легализованный LBS обходил фильтр и ломал OSRM match)Ильяс Султанов2026-08-29 21:49:58 +03:00
3ff74d0d17fix(gps): zIndex точек трека над полилиниями + capture-клики; offroad-фильтр LBS при выдаче трека (чистит старый «мяч»)Ильяс Султанов2026-08-29 21:36:55 +03:00
a302f0c0eafeat(gps): фильтр «далеко от дороги» в LBS-режиме (offRoadMeters, OSRM nearest); пробег «точно + примерно (по вышкам)» в МаршрутахИльяс Султанов2026-08-29 21:12:09 +03:00
9eaff65500fix(gps): подписи Старт/Финиш не обрезаются; data-gps-marker-id на маркерах — надёжная доставка кликов (панель точки, плейхед)Ильяс Султанов2026-08-29 20:58:08 +03:00
60bd52b75afeat(gps): режим «потерян GPS» — LBS-точки помечаются (is_lbs), примерная позиция на карте, пунктир в треке; OSRM map matching трека (matched endpoint + переключатель «По дорогам»)Ильяс Султанов2026-08-28 17:22:57 +03:00
5d45084af1feat(gps): автообновление списка объектов каждые 30 сек (бейдж «Нет GPS» гаснет сам)Ильяс Султанов2026-08-28 16:09:14 +03:00
6688b49d4bfix(gps): непрозрачная инфо-панель точки трека (bg-card вместо bg-background/95)Ильяс Султанов2026-08-28 15:13:03 +03:00
1df7b06630fix(gps): инфо-панель точки трека вместо balloon провайдера (время/скорость/направление + плейхед)Ильяс Султанов2026-08-28 13:29:11 +03:00
3ea0f8c187feat(gps): фронт индикатора потери GPS — бейдж «Нет GPS» в объектах, настройка порога в часахИльяс Султанов2026-08-28 10:53:34 +03:00
1af4126f7cfeat(gps): индикатор потери GPS у объектов (last_gps_fix_at из stale re-send/принятых точек), настройка порога в часахИльяс Султанов2026-08-28 10:48:32 +03:00
96e088c890fix(gps): фильтр несогласованности скоростей против LBS-телепортов; fix: плейхед не закрывает balloon точек трекаИльяс Султанов2026-08-28 10:33:45 +03:00
ac4f89d42efeat(gps): фильтры heartbeat-эхо/valid=false/spike; доступ к GPS и Финансам — матрица на /users (пользователи+роли)Ильяс Султанов2026-08-26 17:13:49 +03:00
2fb7ad6606fix(pwa): добавлен interactive-widget=resizes-content в viewportИльяс Султанов2026-08-26 15:10:09 +03:00
5e8103a6dafix(push): bump SW to v12, улучшен openOrFocusChat и notificationclickИльяс Султанов2026-08-26 14:54:37 +03:00
8a649541fbfeat(button): связь parent/child и копирование полей для кнопки создания задачиИльяс Султанов2026-08-26 11:24:56 +03:00
8f5789ec28feat(gps): фокус геозоны на карте, город по умолчанию для всех карт, доступ к GPS по пользователям/ролям (админ)Ильяс Султанов2026-08-26 10:20:38 +03:00
3e8849019afeat(gps): скорость в км/ч (конверсия узлов Traccar + backfill), деление маршрута на поездки, проигрывание от любой точки, скорости x100-x1000Ильяс Султанов2026-08-26 09:24:29 +03:00
a4b508f70efix(gps): гистерезис подтверждения jump-кандидата — latch-up на LBS, реальные переезды принимаются после 3 точекИльяс Султанов2026-08-25 18:06:43 +03:00
3d24a15fb3fix(gps): отсев устаревших копий и LBS-телепортов (stale/jump фильтры), настройка maxJumpSpeedKmh, фильтрация трека при выдачеИльяс Султанов2026-08-25 17:49:38 +03:00
b635d1e16efeat(gps): last_seen по времени приёма, фильтр джиттера (настройки), линейка, трек по скорости; fix: карта не перекрывает диалоги (isolation)Ильяс Султанов2026-08-25 17:01:44 +03:00
670cecfe05feat(gps): список объектов по клику на кластер, стрелки направления на точках трека; fix: хитбокс маркеров (попапы точек трека)Ильяс Султанов2026-08-25 16:15:02 +03:00
39c70033e3feat(gps): кластеризация маркеров объектов (ymaps.Clusterer + leaflet.markercluster), точки трека со скоростью в попапахИльяс Султанов2026-08-25 15:26:35 +03:00
bde9c2a641feat(gps): левая панель-дерево объектов вместо select'ов; fix(csp): разрешён api-maps.yandex.ru для JS API 2.1Ильяс Султанов2026-08-25 14:59:09 +03:00
c7aac447bcfeat(gps): Яндекс-подложка переведена на JS API 2.1 (v3 без бесплатного тарифа), общий marker-html для обеих подложекИльяс Султанов2026-08-25 14:29:47 +03:00
4018ee0f1bfeat(gps): SinoTrack ST-901L в справочнике — порт 5013 (H02), проверено на реальном устройствеИльяс Султанов2026-08-25 13:51:25 +03:00
f6e3e1964cКнопка На себя у поля Ответственный в TaskDetail и меню дополнительных действий в TaskChatИльяс Султанов2026-08-25 10:13:36 +03:00
a7cf1b2c97fix(gps): убран '--' из XML-комментария в traccar.xml.example (SAXParseException)Ильяс Султанов2026-08-24 22:25:26 +03:00
7fe636b56cfeat(gps): вкладка «Инструкции» со справочником настройки трекеров + открыты порты протоколов (Teltonika, GPS103, H02, Suntech)Ильяс Султанов2026-08-24 22:15:34 +03:00
a6a42fdb15feat(gps): бесплатная подложка OSM с авто-fallback и ручным переключателем провайдера картыИльяс Султанов2026-08-24 21:05:22 +03:00
c0e2ddd9c8Исправлено дублирование сообщений в task-чате: защита от двойного Enter/клика по кнопке отправкиИльяс Султанов2026-08-24 16:53:25 +03:00
8b713e66c0Исправлено дублирование сообщений в task-чате: защита от двойного Enter/клика по кнопке отправкиИльяс Султанов2026-08-24 16:50:05 +03:00
422eafd41fДополнительное ускорение появления просмотренных задач во вкладке Последние: refetchOnMount always и refetch при переключении на recentИльяс Султанов2026-08-24 16:35:01 +03:00
709d4cbfa3Ускорено появление просмотренных задач во вкладке Последние: фоновый refetch всех home-запросов и refetchOnWindowFocus для recentИльяс Султанов2026-08-24 16:22:56 +03:00
a4eaf65915Отслеживание просмотров задач: task_views, POST /api/tasks/:id/view и обновление /api/home/recentИльяс Султанов2026-08-24 15:40:30 +03:00
74abd8fad5Исправлен клик по push-уведомлению: открытие задачи/чата из тела, Ответить и Прочитано; controlled-clients + fallback openWindowИльяс Султанов2026-08-21 16:03:47 +03:00
5eb98c399aКнопка create_task открывает CreateTaskDialog вместо несуществующего маршрутаИльяс Султанов2026-08-21 14:00:39 +03:00