В админке БД добавлен визуальный статус проверки utf8mb4/emoji (для MySQL)
Теперь можно быстро увидеть, есть ли таблицы или колонки, которые ещё не готовы к emoji
Релиз
Версия 2.3.19
Переработан блок смайликов в мессенджере: быстрые emoji, недавние emoji и удобная панель выбора
Подключена библиотека emoji picker с поиском и категориями
Добавлены быстрые кнопки, включая клоуна 🤡
Релиз
Версия 2.3.20
Исправлен баг мессенджера: новые сообщения теперь появляются в открытом чате без перезахода
Если вы находитесь внизу ленты, чат автоматически прокручивается к новым сообщениям
Релиз
Версия 2.3.21
Список диалогов в мессенджере теперь обновляется автоматически: новые сообщения и непрочитанные появляются без перезахода в чат
Превью последнего сообщения, время и бейдж непрочитанных синхронизируются прямо в открытом разделе «Мессенджер»
Релиз
Версия 2.3.22
Переработан интерфейс мессенджера в стиле PWA-мессенджеров: удобнее список диалогов, компактнее шапка чата и чище лента сообщений
На телефоне чат занимает экран аккуратнее: более компактные action-кнопки, улучшенная шапка и удобнее поле ввода для быстрых сообщений
Релиз
Версия 2.3.23
Исправлена проблема со «слетающей» авторизацией: сессия пользователя теперь сохраняется стабильнее, особенно в PWA и на мобильных устройствах
Пользователю больше не нужно постоянно повторно входить в аккаунт при обычном использовании сайта
Релиз
Версия 2.3.24
Исправлен UX мессенджера на ПК: форма ввода теперь закреплена поверх ленты сообщений и всегда видна, как в Telegram/WhatsApp
Возвращён стеклянный (glass) вид мессенджера на телефоне и PWA-экране
Лента сообщений переведена на догрузку по шагам: история подгружается по 10 сообщений при прокрутке вверх, новые сообщения приходят вниз компактными пачками
Релиз
Версия 2.3.25
Исправлен критичный UX-баг мессенджера на ПК: при открытии диалога теперь сразу видны последние сообщения и форма ввода (без прокрутки всей страницы вниз)
Форма ввода закреплена поверх ленты сообщений, а прокрутка выполняется внутри окна чата
Доработан стеклянный стиль mobile/PWA после предыдущего интерфейсного обновления
Релиз
Версия 2.3.26
Добавлен отдельный центр уведомлений: быстрые переключатели, статус разрешений браузера, Service Worker/PWA и тест уведомления на устройство
Настройки уведомлений теперь можно менять без захода в профиль — прямо из раздела «Уведомления»
Исправлен мобильный UX мессенджера при открытии клавиатуры: уменьшен лишний отступ под полем ввода, стабилизировано положение composer (меньше прыжков)
Релиз
Версия 2.3.27
Добавлена публичная страница «О проекте» (`/about`) с описанием проекта и карточками участников/вклада
В профиле (редактирование) для администратора добавлен блок управления страницей «О проекте», включая загрузку фото участников с устройства
На странице профиля добавлены лайки постов и ссылка на конкретный пост
Из ленты постов убраны дефолтные кнопки «Скачать/Магнит» (показываются только при явном разрешении скачивания)
При создании/редактировании поста теперь можно прикреплять файлы напрямую с устройства (телефон/ПК), а не только из облака
Релиз
Версия 2.3.28
Hotfix: исправлено битое сообщение после сохранения настроек в центре уведомлений (теперь отображается нормальная кириллица)
Релиз
Версия 2.3.29
Hotfix: исправлены оставшиеся «кракозябры» в системных сообщениях/заголовках из `index.php` (включая центр уведомлений и очистку аудита в разделе БД)
Релиз
Версия 2.3.30
Ссылка на страницу «О проекте» добавлена в подвал рядом с версией проекта
Настройки страницы «О проекте» вынесены из профиля в отдельный раздел администрирования в дашборде
Добавлены роли `global_admin` и `admin_tester` (тестировщик-администратор в режиме только чтение)
Для `admin` и `admin_tester` скрыт доступ к разделу БД и к просмотру учётных данных БД
Улучшен UX уведомлений: при включении push-переключателя разрешение запрашивается сразу
Страница мессенджера визуально облегчена и приведена к более единому стилю
Релиз
Версия 2.3.31
Исправлены права управления пользователями: первый пользователь всегда закреплён как `global_admin`, обычный администратор не может понижать/блокировать/удалять его и сбрасывать ему пароль
Роль `admin_tester` теперь может пользоваться обычными функциями приложения (включая профиль и фото), при этом изменения в админ-разделах по-прежнему заблокированы
Мессенджер и верхнее меню теперь корректнее используют данные профиля (имя/аватар), а список диалогов подхватывает фото и `display_name` в том числе при автообновлении
Релиз
Версия 2.3.32
Исправлена логика публичных файлов: фото участников со страницы `/about` остаются публичными, но больше не попадают в ленту «Публичные файлы» на главной
Улучшена навигация и нейминг: пользовательское облако переименовано в «Мои файлы», а `admin`-экран оформлен как «Файлы проекта»
Экран `admin` визуально приведён ближе к интерфейсу «Мои файлы» (единая шапка страницы, похожая таблица и структура действий)
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).