~276801
в гостевой книге
Итак, это ФКФВ 7.0.
Шестую версию ФКФВ я разрабатывал с октября-2019 по март-2020, и в то ковидное время за Факел играл Олег Красильниченко, Артур Рябокобыленко, Илья Мазуров и Роман Пухов. За эти 4 года Факел дико пальнул на всю страну, индустрия сильно шагнула вперед, а ФКФВ так и остался примерно как в 2020. Стремительно устаревающая стилистика, внутри - гора стилей, медленный и страшный Вебпакер (это рубишная обертка вокруг Вебпака), мириады партиалов и глобальных хелпер-методов, яма растровых ассетов, миллиард вьюх в шаблонизаторе Слим, самосвал нерэстовых методов, которые рендерят кому что в голову взбредет и в каком угодно формате, обрывки и лоскуты то там, то здесь.
Назрели перемены. Разрабатывать сайт вдруг стало тяжко, техдолг слишком долго копился, чтобы его можно было еще хоть сколько-нибудь игнорировать. Последние года полтора я просто избегал лишний раз открывать исходники. Каждая мелкая задача — вроде вот недавних медалек у юзера — сулила очередное прикосновение к сталактитам навоза. Релиз 6.3, который был полностью посвящен подкапотному рефакторингу, ситуацию исправил, но не очень чтобы сильно.
Решение есть, оно радикальное. Если не хочешь писать САСС — не пиши его. Боженька по образу и подобию своему создал американского фронтендера Адама Уотана, а Уотан подарил всему миру Тейлвинд. Верстальщики, прекомпил САССа/ЛЕССа, БЕМ — все это больше не нужно, фронтендеры пишут пользовательские сценарии в js, а не двигают кнопочки влево-вправо.
Если не хочешь бандлить топорным, медленным Вебпаком, не бандль. Вырежи все бензопилой Дружба и пересобери под Esbuild или Bun, а какие-то куски и вовсе с No-Build-подходом. Потрать на это несколько недель или даже месяцев, оно того стоит. Сталактит навоза нельзя разобрать или распарить кипятком. Его можно только взорвать — что я и сделал с ФКФВ 6.3. На столе чистый лист, не исписан он, чист. ФКФВ 7.0 написан с нуля, через глубокое переосмысление, переработку и улучшение инструментария.
Нет, конечно кое-что из принципиального все же осталось: немало открытий и находок подтвердили свою крутизну. Осталась великолепная наборная гарнитура Факт от Паратайпа (теперь ее пришлось купить). Остался редактор Типтап. Остался высокий сайдбар слева с категориями разделов. Всякие сценарии, к которым вы привыкли, — все либо осталось, либо скоро вернется (буду выкатывать постепенно).
Но очень много нового. Во-первых, встречайте новый логотип ФКФВ.
Мы жили с СБКС-квадратиками 10 лет, они были круты и даже опережали время своей ультрапримитивностью; но постепенно стали появляться задачи, где она уже мешала, а логотип все же должен помогать, а не усложнять жизнь. Хотя и нельзя поручиться, что этот значок с нами на следующие 10 лет — он тоже обязан расти и эволюционировать вместе с нами.
Лейауты, воздух, пропорции, интонация, плакатная гарнитура — все стало чище, свободнее, оптимистичнее, подтянутее и акцентированнее. Особенно отчаянно я боролся с мегаломанией — это чума незрелого оформителя фронтенда на маке: не сразу привыкаешь делать поправку на ретину. Ни одного распоследнего селектора не было взято из старой версии, каждый снипет, каждый тизер, каждый партиал теперь новый и отлакированный. Все, что можно и нельзя, убрано с глаз долой в отдельные атомизированные компоненты (я наконец научился с ними нормально работать, концептуально они довольно интересные), благодаря чему контроллеры и модели сильно похудели.
Теперь подробнее к важным изменениям функционала.
Спецпроект 1999!, статистика, темная тема, страницы игр и сезонов уехали на переработку, но скоро вернутся перекопанные, поджарые и улучшенные. Музей ФКФВ тоже временно не работает: его требуется тщательно пересобрать и дополнить новыми ценными экспонатами. Пока нельзя отмечать игры посещенными, добавлять новые голосования и эмбеддить телеграмовские посты (извините!).
Навигация между страницами теперь работает полностью на Турбо-Драйве (это такая штука для сервер-сайдного рендеринга). Долго объяснять, но думаю вы почувствуете, что переходы туда-сюда стали какими-то липкими. Это экспериментальная фича, посмотрим, как она будет работать с нашим разнобразием форматов.
Лайки у поста переехали влево, лишились клякс, обрели акцент в виде красной заливки и стали реактивными: когда кто-то поставил вам лайк, он тут же появляется под вашим постом (раньше чтобы увидеть обновление в лайках, нужно было перегружать страницу).
Кнопка быстрого редактирования поста теперь сама пропадает, если ваш пост написан больше 5 минут назад (ранее она даже через 5 минут оставалась видна, но по клику вела к ошибке, если пост на этот момент уже недоступен для правки).
Вдогонку к игнорам встречайте ультраигноры. Это когда вы не видите не только посты заигноренного юзера, но и все ответы на его посты. Задача оказалась нетривиальная, просьба как следует затестить. Ультраигноры — надстройка поверх обыкновенных игноров и включается там же, где и просто игноры, на страницe аккаунта, https://fcfv.ru/account.
Кроме игноров юзеров появились игноры сервисов: это когда можно заигнорить огромные красные или зеленые стены однотипных постов с голосами Премии или Вулича.
Еще в профиле появилась медалька Сергея Абуезидовича Ташуева.
Просмотрщик картинок внутри постов стал приятнее и эффективнее: раньше картинка увеличивалась просто внутри пространства поста, а теперь по клику выезжает далеко за его пределы. Это особенно полезно на десктопах, теперь удобнее рассматривать вот такие картинки.
Ранее Эмоджайдер увеличивал эмоджи в размерах только если из них состоял весь пост, а теперь — всего лишь если текущий абзац.
😏
Посты с голосами Премии и Вулича, идущие подряд, теперь приклеиваются плотно друг к другу для экономии пространства.
На странице Премии в итогах каждой игры теперь показываются не топ-3 игроков, а все, кто набрал очки. На трех лучших в игре сделан дополнительный акцент.
У Кубка Вулича появился свой внятный логотип (и пропал пистолетик!). На странице Вулича у каждого тура выводится не по 6, а по 10 лучших прогнозистов.
ФКФВ автоматом отсекает полчища ботов с IPv6 через капчу Клаудфлера, и у этого есть неприятный эффект: если лагнет интернет, у юзера иногда троятся посты. Человек нажимает на самолетик раз, два, три, ни ответа ни привета, — а на самом деле все ок, просто не успевает прийти ответ от сервера, но на гест уже улетели 3 одинаковых поста. Теперь есть валидация: сайт не пропустит от вас пост, если такой же текст был у вашего предыдущего поста. Надеюсь, это поможет.
В Хронике банов теперь видно, какие баны длятся на данный момент.
Сайдбар на мобилах теперь полностью повторяет тот, что на десктопах, и в частности с мобилы наконец-то можно как человек юзать поиск по гесту.
В редакторе больше нет кнопки ненумерованного списка. От него было больше гемора, чем пользы, и свои «1)» и всякие дефисы в перечне ставьте сами, так надежнее. Экспериментальная фича с тройным дефисом, которая добавляет горизонтальную линейку и о которой вы конечно не знали, пока остается.
Пофикшен ультрабесячий баг с дублированием картинок, которые вы добавляете через копи-паст из буфера обмена.
На странице даты (Сегодня, Вчера и прочих) посты теперь разбиваются по 100 штук с автоподгрузкой еще 100, как на гесте. Дейтпикер временно убран, и хотя за него в свое время пришлось отдать 20 долларов, он мне разонравился, буду искать замену.
Старая громоздкая админка выброшена на мороз, взамен я поднял полностью новую, хотя вам ее видеть, понятное дело, необязательно. У кого был ранее доступ к админке — сейчас его уже нет, но скоро будет, я дополнительно напишу.
Наконец, ФКФВ впервые в своей истории столь сильно переделывается не в Воронеже, о чем с удовольствием сообщено в подвале.
Ну и еще миллион всяких мелочей.
Я надеюсь, столь массивный апдейт вам понравится. Это самое большое обновление ФКФВ за все его 10 лет. Последние несколько недель я читал и писал ФКФВ уже с 7 версии на секретном домене, и на ее фоне старый ФКФВ быстро стал смотреться и ощущаться незрело и наивно. Это признак хорошего подхода к снаряду.
Что же до технической стороны дела, то ФКФВ — на пике того, что может предложить индустрия, это чистый bleeding edge. Иначе нельзя — Факел дает нам хороший пример и стремительно задирает планку, приходится улучшать и свой продукт тоже, лениться никак нельзя.
ФКФВ 7.0 — это примерно 140 часов работы, 152 билда, 11,1 тысячи вырезанных строк стилей, и цифры это конечно довольно дикие.
На этом шестая версия сайта отправляется в Музей ФКФВ, с чем я вас и поздравляю. А вы пожалуйста пишите, если в семерке что-то не так. Тестов у нас как водится нет никаких вообще, потому что с тестами я бы все доделал примерно к 1 мая. Хотя кое-какие недочеты уже вижу (например почему-то перекосило аватарки и перестали нормально заливаться картинки) и плавно поправлю по мере сил и времени.
Спасибо за внимание!