Hotfix страницы `Настройки`: быстрые переходы по разделам теперь ведут в нужные блоки страницы, а не в корень сайта
Убран sticky-режим блока `Разделы настроек`, из-за которого он перекрывал интерфейс при прокрутке
Релиз
Версия 3.5.13
Страница `Настройки` переделана в Android-style режим: слева список разделов, справа показывается только выбранный раздел настроек
Переключение разделов теперь происходит без переходов по странице/якорям
Интерфейс не перекрывается и не дёргается
Выбранный раздел запоминается локально, а переходы по служебным hash-ссылкам (например `#pwa-notify-admin`) открывают нужную секцию автоматически
Релиз
Версия 3.5.14
В разделе `Система` настроек добавлен выпадающий список выбора часового пояса по Гринвичу (GMT/UTC offsets)
При выборе смещения из списка значение автоматически подставляется в поле часового пояса ниже, чтобы сохранить настройку одним кликом
Поле ручного ввода IANA-зоны сохранено для точной настройки (например региональных зон с DST или нестандартных смещений)
Релиз
Версия 3.5.15
Настройки переведены в Android-style режим с боковым меню разделов и вторым уровнем внутри `PWA и push` (`Обновления`, `Очередь push`, `Устройства`)
В главное меню добавлен отдельный пункт `Настройки` (после `Дашборд`), доступный всем авторизованным пользователям
Настройки стали role-aware: пользователь/модератор видят личные настройки, админ — личные + админские, `admin_tester` видит всё, но может менять только пользовательские настройки
В разделе `Система` добавлен выбор часового пояса по Гринвичу (GMT/UTC) через выпадающий список с автоподстановкой
Релиз
Версия 3.5.16
Админские настройки физически разнесены по отдельным страницам (`Брендинг`, `Доступ и лимиты`, `Система`, `Оформление`, `PWA и push`, `Звонки/диагностика`, `База данных`) при сохранении общего бокового меню
Переходы в меню настроек теперь открывают соответствующий экран, а не просто переключают внутренние блоки в одном и том же URL
Внутри `PWA и push`, `Оформление`, `Доступ и лимиты`, `Звонки и диагностика` сохранён второй уровень навигации для быстрого доступа к подпунктам
Релиз
Версия 3.5.17
Hotfix страницы `Настройки`: пункты бокового меню снова выглядят как кнопки (без подчёркиваний) и заполняют всю ширину колонки
На desktop видимый раздел настроек теперь растягивается на всю доступную ширину правой панели (как `WebRTC`), а не остаётся половинной карточкой
На мобильных пересобрано боковое меню настроек: вертикальный стек + корректные подпункты без уезда вправо
Нижняя панель сохранения больше не растягивает страницу
Релиз
Версия 3.5.18
Hotfix страницы `Настройки`: в разделе `База данных` убрана лишняя горизонтальная линия перед карточкой блока
Нижняя панель сохранения (`Сохраняются все изменённые поля...`) теперь подстраивается под тему оформления и остаётся читаемой в светлой и тёмной темах
Релиз
Версия 3.6.0
Начат рефакторинг связки `Профиль / Контакты / Мессенджер`: на всех трёх экранах добавлен единый переключатель разделов (Social Hub) и явное описание роли каждого раздела
`Профиль` теперь явно позиционируется как публичная страница пользователя (посты, медиа, страницы, друзья), `Контакты` — как каталог и управление связями, `Мессенджер` — как диалоги/вложения/звонки
Визуально выровнены шапки и поверхности этих разделов: общие панели, кнопки-переключатели и единый стиль верхнего блока
Релиз
Версия 3.6.1
Следующий шаг по связке `Контакты / Мессенджер`: в мессенджере блок `Быстрый старт` теперь показывает только контакты пользователя, а полный каталог вынесен в раздел `Контакты`
В настройках исправлено выравнивание раздела `База данных`: карточка блока больше не поднимается выше меню слева
Навигация настроек стала понятнее по смыслу: `Внешний вид профиля` (личное) и `Внешний вид сайта` (глобальный дизайн) вместо размытого дублирования `Внешний вид`/`Оформление`
Релиз
Версия 3.6.2
Убран лишний `Social Hub` с экранов `Профиль / Контакты / Мессенджер`: переключение между разделами остаётся в основном меню, интерфейс снова стал компактнее
В `Мессенджере` закреплена роль экрана: только активные диалоги и общение. Новый чат создаётся через раздел `Контакты`
В настройках подправлена визуальная логика: db-блок выровнен относительно меню, а дизайн-настройки разведены по смыслу (`Внешний вид профиля` vs `Внешний вид сайта`)
Релиз
Версия 3.6.3
Следующий шаг по связке `Контакты / Мессенджер`: в карточках пользователей на странице `Контакты` добавлены явные действия `Написать` и `Позвонить`
Мессенджер очищен от каталоговых элементов: в боковой панели оставлены только активные диалоги, без блока быстрого старта/списков людей
Переход на звонок из `Контактов` сразу открывает нужный диалог в мессенджере и запускает сценарий звонка
Релиз
Версия 3.6.4
Дожат интерфейс мессенджера под единый стиль с `Контактами`: обновлены список диалогов, шапка диалога и composer (кнопки, границы, поверхности, типографика)
Список диалогов стал визуально ближе к карточкам контактов: более ровные поверхности, одинаковая логика hover/active, читаемые превью и время
Composer получил более аккуратный визуал (theme-aware фон, акцентная отправка, мягкие кнопки emoji/вложений) без изменения поведения ввода
Релиз
Версия 3.6.5
Мессенджер получил второй visual-pass: доработаны карточки диалогов, шапка активного диалога, кнопки действий и composer для более цельного и лёгкого вида
В списке диалогов добавлена компактная CTA-кнопка `Контакты` в шапке списка и более полезное пустое состояние с переходом в `Контакты`
Плотность (`telegram / compact / roomy`) заметнее влияет не только на bubble, но и на список диалогов, шапку и кнопки мессенджера
Релиз
Версия 3.6.6
Hotfix iPhone/PWA уведомлений: системная строка `from ...` теперь берёт бренд из настроек (`Название в шапке` → `Название сайта`), а не из старого захардкоженного `TSOY.CLOUD`
PWA meta-теги (`application-name`, `apple-mobile-web-app-title`) синхронизированы с брендингом проекта, чтобы имя приложения и имя в уведомлениях совпадали
Релиз
Версия 3.6.7
Исправлен мобильный overflow окна `Диалоги` в мессенджере: карточка списка диалогов больше не вылезает за ширину экрана на iPhone/смартфонах
Стабилизирована ширина mobile-раскладки мессенджера без изменений логики клавиатуры и без риска вернуть баг с `подбородком`
FileHub работает как SkyBox на уровне сервера: файлы любого человека можно выделять, скачивать архивом, открывать и закрывать по ссылке и удалять прямо из общего списка; люди видны сразу, у каждого файла ссылка на его папку
Человек в FileHub открывается на своих файлах со всеми действиями SkyBox: новая папка, перенос перетаскиванием, деревом и «Вырезать / Вставить», удаление папок (содержимое поднимается выше), доступ по ссылке для папки
Файл из SkyBox или FileHub можно перетащить в боковой чат — на переписку, аватар или строку чата — и отправить; страница больше не уходит по ссылке файла
Техническое:
W1: filehub POST: filehub_create_folder, filehub_delete (файлы + папки человека), filehub_public (файлы или папка), filehub_download (ZIP, raw); FilesModule::files_admin_in_scope (порталы админа, гостевые — только админу всех порталов); аудит *_admin; FileHubPage: выделение во всех списках, люди на главной, place у файла, человек на корне, current, new_folder, move_tree «Файлы @person»; bulk_files delete принимает folder_ids[]
W2: cloud.js владеет всеми drop во время перетаскивания плитки (без перехода по ссылке), в данных перетаскивания имена файлов; dock.js принимает Files и application/x-tajelo-cloud-items на переписку, рельс и список — облачный файл уходит по file_id; smoke-cloud-pages 124; filehub route: ответ raw (архив)
v5.32.0
2026-10-09
Что нового:
В SkyBox и FileHub переносится всё: файлы и папки можно перетащить на папку, на папку в списке слева или на шаг пути сверху; папки тоже выделяются галочкой, Ctrl/Shift и рамкой
«Переместить…» открывает дерево папок: выберите место (двойной щелчок — сразу), текущее место отмечено «здесь», папку нельзя положить в неё саму или во вложенную
«Вырезать» и «Вставить сюда»: вырежьте файлы или папки, откройте другую папку и вставьте (или Ctrl+X / Ctrl+V)
Техническое:
V4: FilesModule::folders_move (владелец, корень = null, отказ в перенос в себя/во вложенную); bulk_files move принимает folder_ids[] (аудит file_move_bulk + folder_move), filehub_move_files — folder_ids[] + owner_user_id (аудит folder_move_admin, проверка портала как при переименовании)
CloudFolderTree::rows (id, name, depth, parent) для окна «Переместить»; шаги пути с drop, config.pasteTarget; cloud.js: выделение и перетаскивание папок, запрет сброса в перетаскиваемые и вложенные, дерево вместо select, вырезать/вставить в sessionStorage; smoke-cloud-pages 110; deploy: coturn enable только если не включён (с повтором)
v5.31.0
2026-10-09
Что нового:
Новое окно просмотра: файлы открываются на тёмном полноэкранном фоне — название, размер, «3 из 12», миниатюры внизу, стрелки и свайпы, свайп вниз или «Назад» закрывают
Фото увеличиваются двойным щелчком или касанием, колесом и щипком; PDF и текстовые файлы открываются прямо в окне, остальное — карточкой с кнопками «Скачать» и «Открыть»
Новый плеер видео и аудио: перемотка по дорожке, скорость, звук, «картинка в картинке», полный экран, клавиши; одновременно играет только одно — в просмотре, в постах и в аудио профиля
Техническое:
V3: viewer.js переписан — свой DOM вместо Bootstrap-модалки (группы data-group, зум/пан/щипок, свайпы, history-запись для «Назад», фокус внутри), API TajeloAttachmentViewer v5 (openByElement/openByFileId/close); file_meta: виды pdf и text (html/svg/js остаются file)
media-player.js (TajeloPlayer.create/enhance, хосты data-media-inline=video|audio, совместимый TajeloInlineMedia) вместо media-inline.js (1 723 строки); удалены views/components/viewer.php и media_inline.php с inline-стилями; стили ui-media.css (.mv-*, .mp-*) в бандле; smoke-media-viewer (66)
v5.30.0
2026-10-09
Что нового:
Новости приведены в порядок: каждый релиз — одна запись (дубли убраны), объявления и релизы по дате, фильтры «Все / Объявления / Релизы», по 15 записей и «Показать ещё» без перезагрузки
Админ может очистить все релизы из новостей, с главной и из уведомлений одной кнопкой и вернуть их; история версий их хранит
Пустые места без лишних слов: «Пусто», а блоки «Открыто сейчас» и «Что нового» на главной скрыты, пока в них ничего нет
Техническое:
V2: один релиз = одна строка news(type=changelog); миграция 20261009_0007_release_news_once удаляет type=system; release-builder без --news-title/--news-body и system_entries.json; NewsModule без system seed/sync
News\NewsPage (view-model: SQL-страницы по 15, фильтры, can_manage) + News\NewsItem; views/news.php + views/news/item.php + views/admin_news.php только рисуют; public/assets/js/news.js, public/css/ui-news.css (.nw-*); удалены NewsCenterViewModelBuilder, ReadNewsUseCase, MutateNewsUseCase, news-center.js и старые .news-*/.admin-news-* стили (DI 263→261)
Маршруты news_delete_system/news_restore_system/news_delete_changelog/news_restore_changelog → news_clear_releases/news_restore_releases (ядро 135→133); admin_news под пунктом «Новости»; лента уведомлений — только последний релиз; главная читает 6 строк со ссылками на запись; smoke-news-page (75)
v5.29.0
2026-10-09
Что нового:
Чат доработан: имена и превью диалогов больше не меняются через секунду после загрузки; в превью своего сообщения — «Вы:», в ответе видно сам ответ, а не цитату; при открытии диалога с непрочитанными — линия «Новые сообщения», переписка открывается с неё; дата при прокрутке всплывает сверху и не закрывает текст.
Техническое:
U4: views/chat.php → каркас + views/chat/{list,thread,menus,call}.php, только рисуют view-model MainChatPage (строки диалогов = chat_dialogs_poll, собеседник, контакты, приглашения, конфиг в #msgr-config без CSRF); убраны 8 функций во view, вызовы BootstrapRuntime/UserModule/Format/I18n и ненужная загрузка сообщений и реакций; DirectChat: превью без цитаты, last_mine; messenger.js: «Вы:», линия «Новые сообщения», плавающая дата; smoke-chat-page (46).