Прошла уже неделя с момента запуска нового движка.
Большое спасибо всем, кто писал в тему #Глюки нового интерфейса сайта , отправлял отчеты об ошибках через встроенную форму или просто присылал личные сообщения, все это помогло исправить много проблем, добавить функционал и сделать HW лучше и удобнее для использования 👍
Основная цель нового движка подтвердилась, спам ботам теперь действительно намного сложнее пробиться, за неделю был только один случай.
Также движок хорошо себя продемонстрировал в плане удержания нагрузки, предыдущий форум ложился уже после 7000-9000 анонимных сессий ботов.
Этому удалось вчера дожить до около 100000.
Некоторая часть видимых изменений и исправлений достигнутых благодаря хорошей обратной связи 🤝
Редактор сообщений
После двоеточия нельзя было начать новую строку,
/открывал поиск вместо ввода символа, а после вставки ссылки переставал работать Enter. Причин было две — обе устранены.Тире в начале строки превращало реплику в маркированный список — а диалог по-русски именно так и записывается. Автоформатирование начала строки теперь отключается кнопкой в панели.
Перед цитатой нельзя было ничего написать: курсор физически не вставал выше неё. Теперь над первым блоком есть полоска «+» и работает стрелка вверх — это же чинит сообщение, начинающееся с таблицы, кода или картинки.
Вставленные из буфера картинки (Ctrl+V, скриншоты) молча пропадали при сохранении — сообщение уходило с пустыми рамками. Теперь такая картинка загружается как обычное вложение.
Одна и та же картинка, вставленная несколько раз, каждый раз создавала новое вложение и списывалась с вашей квоты. Повторная вставка переиспользует уже загруженный файл.
Спойлер, картинку и таблицу нельзя было отредактировать после вставки — панель инструментов «замерзала».
Панель инструментов закрепляется под шапкой, а не за ней: раньше она «прилипала» ровно туда, где её не видно.
Полноэкранный режим на телефоне был дверью в одну сторону — с наполовину написанным сообщением по ту сторону. Заодно перестали пропадать всплывающие панели редактора (ссылка, картинка, цвет, таблица), открывавшиеся под ним.
Enter можно переключить на перенос строки, как в старом редакторе — кнопка ¶ / ↵ в панели, выбор запоминается.
Таблицы: вернулись рамки, добавлена ручка ширины столбцов и вертикальное выравнивание; таблица больше не расползается по горизонтали на телефоне.
Цитата вставлялась пустой — единственное поле было подписано «Автор или источник». Теперь сначала спрашивается текст цитаты. Добавлена и отдельная полноэкранная страница редактора для длинных сообщений; отказ сервера в сохранении больше не стирает набранное.
Смайлики
Смайлики со старого форума вернулись в панель выбора — все 64. Раньше они работали, но вставить их можно было только вспомнив код
:smileNN:.Панель открывается на смайликах, а не на стене символов. Раньше она открывалась на клавишных значках и иероглифах — смайликов будто и не было, хотя все 1 906 значков лежали на месте.
Четыре смайлика были в белом квадрате на тёмной теме — фон вырезан. Подписи вкладок исправлены и переведены на все 16 языков.
Ответы и темы
Форма быстрого ответа открыта сразу, курсор — в поле ввода. Раньше её нужно было сначала открыть.
Спойлер открывался с прокруткой. Так себя вёл браузер: на спойлере высотой 9 500 px он уводил страницу ровно на 9 500 px вниз. Теперь страница остаётся там, где вы её оставили.
Добавлен предпросмотр сообщения перед отправкой — и в теме, и в личных сообщениях.
Цитировать собственное сообщение снова можно, и цитата встаёт ответом под тем сообщением, которое процитировано.
Подряд идущие сообщения одного автора можно объединить — как на старом форуме. Кнопкой, а не автоматически: этот сайт хранит каждое сообщение на двух языках.
Время сообщения ставится в момент отправки, а не в момент, когда был открыт редактор.
Заголовок темы редактируется по языкам. Раньше на английской версии открывалось русское название, а введённый вручную английский заголовок молча удалялся при следующем сохранении.
Переименование темы доходит до всех языковых версий и до библиотеки, а не только до одной строки. В открытой теме появляется плашка о новых сообщениях.
Даты и время
Время сообщений показывалось не в вашем часовом поясе. Сообщение, написанное час назад, показывалось так, будто ему уже десять часов. Теперь время показывается в вашем поясе — точной датой и временем.
То же самое в личных сообщениях: время отправки не подстраивалось под часовой пояс и не совпадало даже с гринвичским.
В колонке «последнее сообщение» рядом с «3 недели назад» теперь стоит точная дата. По одному «энному количеству времени назад» нельзя ни сравнить две строки, ни понять, читали вы уже эту тему.
Навигация по длинным темам
В списке тем вернулась ссылка на последнюю страницу. 39% тем многостраничные, а
/topic/214/— это 324 страницы, и попасть можно было только на первую.Быстрые прыжки по страницам: −1000 −500 −100 −50 / +50 +100 +500 +1000 и поле «перейти на страницу N». В теме на 4 841 страницу добраться до 2 500-й стоило около 250 кликов.
Добавлен шаг ±10: из середины темы одним кликом можно было уйти максимум на пять страниц вперёд.
Непрочитанные темы выделены самим заголовком — жирнее и темнее. Ссылка ведёт к первому непрочитанному сообщению, а не к последнему.
Непрочитанное считается и для гостей, теперь по каждой теме отдельно. И вход в аккаунт посреди чтения больше не гасит разом весь накопленный список.
Вернулась кнопка «Отметить все прочитанным» на главной форума. Без неё сбросить отметки можно было только открыв каждую тему.
Появилась кнопка «Наверх» — в правом нижнем углу, после полутора экранов прокрутки.
Переход к сообщению больше не «едет» плавной прокруткой через всю тему — страница сразу открывается на нужном сообщении.
Номер сообщения в углу снова кликабельный и открывает одно сообщение на отдельной странице — как
showpost.phpна старом форуме. Старые ссылкиshowpost.php?p=…ведут туда же.Alt+← / Alt+→ снова работают мгновенно. Страницы вернулись в кэш браузера: возврат в тему больше не перезагружает её целиком.
Прокрутка перестала прыгать: картинке резервируется место до того, как она загрузится.
Внешний вид и производительность
⚠️ Ноутбук грелся, кулер шумел, прокрутка дёргалась — настоящая причина у части из вас была только в Firefox. На всю страницу висел эффект, включённый правилом «только для Firefox», поэтому ни один замер в Chrome его не видел. Измерено в Firefox 154: загрузка процессора 56% → 24%, подтормаживания прокрутки — 16 длинных кадров за проход → ноль. При этом эффект не рисовал ничего: попиксельное сравнение снимков не нашло ни одного отличия.
Отдельно устранена утечка памяти в Firefox: каждый переход на другую страницу оставлял за собой «призрак» закрытой.
Раньше был удалён фоновый анимированный холст — он продолжал рисовать даже у тех, кто его выключил — и снят эффект размытия с 57 элементов главной.
Страница темы стала заметно легче. Данные всех обучающих подсказок сайта отдавались на каждую страницу — 221 КБ, 38% её веса, включая гостей (теперь 18,7 КБ; страница целиком 567 КБ → 365 КБ). И 1,1 МБ кода редактора грузилось всем читателям, включая тех, кому отвечать нельзя.
Главная открывалась 1,2–4,5 секунды — белый экран, потом всё сразу. Виноват был фильтр по игре: технически верное условие заставляло базу запускать собственный компилятор запросов при каждом обращении.
Добавлен переключатель «Без фона» — плоский фон, не меняя тему целиком.
Добавлен переключатель широкой вёрстки: до 1560 / 1720 px во всех темах вместо 1320.
Масштаб интерфейса стал вашей настройкой: 100–125%. Раньше Classic молча делала весь интерфейс на 15,6% крупнее остальных.
Меню аккаунта больше не уезжает за нижний край экрана. На 1920×1080 при 125% масштабе ОС пункт «Выход» был просто недоступен.
Samsung Internet в режиме энергосбережения: при тапе по теме слово мигало белым — это срабатывали наши же hover-эффекты. Убраны на всех списках.
Карточки в «Играх и категориях» перестали дёргаться под курсором, раскрытую игру снова можно закрыть, а закрытый раздел не открывается заново после F5.
Панель статистики убрана из каждой темы и профиля — теперь она только на главных страницах.
Тема Classic
Блок автора перестроена под старый форум + предложения по улучшению аватар 155 px, счётчики и «боевой дух» на месте, дата и номер сообщения — там же, где были.
Кнопки «Изменить» и «Удалить» своего сообщения снова видны. В Classic триггером меню служит имя автора, поэтому найти их было негде.
Меню сообщения вернулось на место, «Пожаловаться» вынесено отдельным красным пунктом вниз.
В тёмной Classic уведомления были не видны вообще — чёрный текст на чёрной карточке, контраст 1,09 к 1 при норме 4,5. Ровно одно сочетание из шести.
Подписи под сообщениями и комментарии к оценкам восстановлены. Данные лежали на месте с самого переезда — 4 636 подписей и 75 686 комментариев, — не хватало только отображения.
Индикаторы «в сети / не в сети» вернулись рядом с именем автора — те самые мониторы со старого форума.
Плотность, ширина колонки и масштаб приведены к старому форуму; на мобильном контент не наезжает на баннер.
Профиль и подпись
⚠️ Сохранение профиля незаметно стирало оформление подписи. Из 4 636 подписей 596 оформлены старым тегом
<font>, и очистка разметки выбрасывала его при каждом сохранении формы «Обо мне»: слова оставались, цвет, размер и шрифт исчезали. Достаточно было поменять город, чтобы разом перекрасить свою подпись под всеми своими сообщениями.Счётчик сообщений больше не заморожен. Показывалось число, записанное один раз при переезде: у самого активного участника 41 518 против реальных 64 544.
«Последняя активность» — снова конкретная дата и время, а не «был(а) в сети энное количество времени назад». И пока участник в сети, видно, в какой он теме — например, отвечает ли ведущий в игровой теме.
«Последний визит» действительно обновляется — раньше значение записывалось один раз при переезде.
Подпись теперь редактируется как обычное сообщение — с жирным, цветом и размером, а не написанием HTML вручную. И её стало видно, где менять.
Вкладка «Темы» в профиле больше не выдаёт 404 на вики-статьи: у аккаунтов, держащих перенесённую вики, битыми были 83 ссылки из 103.
Поиск участников ищет и по отображаемому имени, а не только по логину.
Значок присутствия стал читаемым и указывается один раз, а не дважды разными словами.
Вход и восстановление доступа
При переезде логин собирался только из символов, которые логин допускает, — и тем, у кого имя кириллицей, с пробелами или знаками, достался служебный
user13267. Добавлено восстановление логина по отображаемому имени и почте.⚠️ Похожие буквы больше не выдают чужой аккаунт. Латинская
aи кириллическаяавнешне неразличимы: участник вводил своё имя и получал чужой логин. Теперь имена-двойники распознаются, а различающиеся буквы подсвечиваются.Вход возвращает вас туда, откуда вы его начали. Форма всегда умела возвращать назад, но ссылка «Войти» в шапке не передавала, откуда вы пришли.
Выход из аккаунта больше не выбрасывает на главную — вы остаётесь на той же странице, просто уже как гость.
Языки
Смена языка интерфейса ничего не меняла у незалогиненных. Кнопка срабатывала, язык сохранялся — а страница возвращалась на прежнем языке из общего кэша. На главной работало, в разделе форума и в вики — нет.
Язык сообщения определяется сам, а спрашивают только в спорном случае. Пороги подобраны по 188 529 настоящим сообщениям форума: русский текст с английскими названиями существ и городов — самая частая здесь форма речи, и она больше не считается «смешанной».
Можно вообще отключить этот вопрос — галочка «больше не спрашивать» в самом диалоге. Заодно диалог наконец называет языки словами, а не кодами
enиru.Короткие русские реплики записывались как английские. Причина — порог «слишком мало букв, чтобы судить» был одинаковым для обоих алфавитов.
Добавлен переключатель «приоритет оригинала»: сайт показывает авторский текст или человеческий перевод, а машинный — только если больше ничего нет.
Уведомления и личные сообщения
⚠️ «Вашу тему перенесли» приходило всем подряд. Модератор перенёс 6 тем — сайт написал 72 уведомления: каждому, кто когда-либо отвечал, и по одному на каждую тему из пачки. Причитались шесть — авторам.
Ссылки в уведомлениях вели на 404. Само сообщение было цело — ломалась именно ссылка: три разных места собирали её по-своему, два неправильно.
В форме личного сообщения появился предпросмотр.
Кнопки в форме сообщения переносятся на узких экранах — на 320 px ничего не вылезает за край.
Вложения и картинки
⚠️ Вложения показывались в случайном порядке. В запросе не была задана сортировка. Старый форум сортировал по номеру вложения, и переезд эти номера сохранил — теперь порядок ровно тот же, что был на heroesworld.ru.
Принимается
.webp— единственный формат, который сайт сам производил, но не принимал обратно: каждая загруженная картинка пересохраняется в webp (46 366 вложений против 10 950 во всех остальных форматах вместе), и попытка приложить её заново отвечала «Расширение файла не поддерживается».Принимаются
.rarи полный набор форматов карт и кампаний Heroes —h3c,h4c,h4m,h4r. Раньше карту H3 приложить было можно, а кампанию рядом — нет.Аватары восстановлены в исходных пропорциях. При переезде каждый обрезался в квадрат по центру: 2 677 из 4 610 были неквадратными, 1 248 потеряли четверть и больше — срезало головы и ноги.
Картинки в сообщениях выводятся в собственных пропорциях, а не насильно 16:9: портрет рядом с текстом превращался в иконку ~27 px. Заданная автором высота снова учитывается.
Ширина колонки таблицы теперь важнее ширины картинки: картинка 1152 px в колонке на 123 px больше не вылезает за её пределы.
Подписи на плитках вложений сливались с фоном — имя файла, размер и число скачиваний были нечитаемы. Заодно файлы идут перед картинками, и карта не застревает посреди сетки.
Картинка-вложение, открытая в отдельной вкладке, скачивалась вместо показа.
Восстановлены встроенные картинки-вложения, ломавшиеся из-за пробела в служебной метке времени в старых ссылках.
Вернулись рамки старых таблиц (
border="1"), убран внутренний скролл, обрезавший высокие таблицы из старых сообщений.«Вставить изображение» → вкладка «Вложения» была неактивной сразу после загрузки: сервер пересохраняет картинки в WebP и переименовывает их, а редактор искал старое имя.
Поиск
Быстрый поиск успевал сказать «ничего не найдено» раньше, чем начинал искать — то есть отвечал до того, как задан вопрос. Теперь в это время виден индикатор ожидания.
Файлы из категории «Прочее» не показывались в быстром поиске — даже при точном совпадении имени файла, хотя на полной странице поиска находились.
Быстрый поиск стал заметно отзывчивее: в группе видно пять строк, а с сервера забиралось по 500 — теперь по 50.
Форум: главная и разделы
Блок активности на
/forum: показывал 9 тем вместо 10, строки и карточки сдвигались на 2 px при наведении, а названия игр под темами были простым текстом вместо ссылок — исправлены все три.В разделе снова 60 тем на страницу, а не 15. Столько отдавал старый форум; при пятнадцати «Таверна» превращалась из 14 страниц в 55.
forum.heroesworld.ruснова открывает форум. Закладка на корень поддомена вела на главную сайта — отчего казалось, что форум убрали. Глубокие старые ссылки работают как работали.Переключение игры в верхней панели возвращает наверх страницы. Раньше, если сменить игру внизу списка, раздел открывался выше видимой области — приходилось прокручивать вверх, а внутри темы менялась только фоновая картинка.
«Таверна» и «Ратуша» подняты выше блока активности — их не могли найти: они начинались примерно на 2,6 экрана вниз, на странице, которая выше выглядела законченной. «Ратуша» добавлена в список разделов и значится один раз, а не двумя строчками.
«Последние картинки» открывают страницу, откуда картинка взята, а не голый файл в новой вкладке. И туда больше не попадают скриншоты из «Ратуши»: это отчёты об ошибках, а не игровые картинки.
Карты: тип, размер и автор теперь видны на странице самой темы и их можно исправить. До этого запись была «на один раз»: опечатка в имени автора оставалась навсегда.
Автор темы может убрать её из библиотеки. Руководство по подмене файлов Heroes 5 висело на странице карт рядом с настоящими релизами — просто потому, что к нему приложена демонстрационная
.h5m.У темы в блоке активности появилась плашка раздела, а не только игры: прежняя вела на доску игры целиком — десятки разделов. А на странице «показать все» плашек не было вовсе.
Вики
Сетку карточек объектов теперь можно вставить в редакторе — раньше она могла появиться только из HTML.
Предпросмотр в редакторе вики. Редактор показывает набранный текст, но не то, что нарисует сервер: карточка объекта базы знаний стоит в нём коротким чипом, ссылка на характеристику — подписью, а битая ссылка узнаётся только после сохранения.
Модерация
Массовый перенос сообщений: несколько сообщений отмечаются галочками и переносятся за один раз. Раньше одиннадцать оффтопных ответов означали одиннадцать диалогов подряд.
Выделенные сообщения можно вынести в новую тему. Обходной путь — создать пустышку, перенести, переименовать — оставлял наверху чужое первое сообщение и приписывал тему модератору.
И массовое удаление — тем же выделением, обратимое.
Меню у сообщения разделены по смыслу: меню у имени — про участника, меню «⋮» — про само сообщение. Подписка на автора добавлена прямо в меню участника.
Данные, пострадавшие при переезде
⚠️ Эмодзи в заголовках и сообщениях превратились в «?». Потеря произошла ещё до того, как данные к нам попали: старый сервер выгружался в кодировке, где на символ отводится максимум три байта, а эмодзи занимает четыре. Кириллица занимает два и уцелела, поэтому повреждение выглядело выборочным. Символы восстанавливаются по живой копии старой базы — посимвольно и с проверкой, что строку с тех пор никто не правил.
⚠️ Ссылки на профили внутри старых сообщений выдавали 404 — 1 156 сообщений. В старом редакторе адреса записывались без ведущей косой черты; на старом форуме это работало, а здесь браузер достраивает их от адреса текущей страницы.
110 тем отображались вообще без названия: при переезде срезался префикс в квадратных скобках, и если название состояло из одного этого префикса — не оставалось ничего.
Перевод заголовков считался «авторским», хотя был машинным. Все 10 451 заголовок был при переезде помечен как написанный человеком, из-за чего переключатель «приоритет оригинала» не делал ничего, а заголовки не перегенерировались при правке оригинала. 26 настоящих человеческих переводов сохранены.
Видео, уничтоженные очисткой разметки, восстанавливаются из того, что осталось в тексте сообщения.
В форме ответа собственная плашка автора показывала «боевой дух 0», без даты регистрации и числа сообщений.