iOS 26.0.1, в длинных постах полоска, которая должна быть прикреплена к нижней части окна браузера, плавает где-то по центру и мешает чтению постов. Периодически меня почему-то перекидывает на другие AB-тесты интерфейса, с мелкой плашкой или кнопкой скрытия слева внизу - у них те же проблемы, не держатся внизу и уезжают куда-то к центру.
Пожалуйста, тестируйте изменения перед выкаткой. Думаю, вы можете позволить себе тестера и небольшой парк устройств.
Попытка "освобождения" Варшавы самими поляками в 1944 - это довольно забавно.
В начале войны польское правительство сбежало в Лондон (румыны и французы их к себе не пустили) и пыталось оттуда командовать. Врагами они считали и немцев, и СССР, даже направили протест против ввода советских войск на территорию Польши в октябре 1943 года. Кто-то следовал их приказам (Армия Крайова), кто-то думал своей головой и сотрудничал с СССР (Народное войско польское).
В июне 1944 советские войска перешли в крупномасштабное наступление, а ставка Миколайчика придумала хитрый план: пусть Красная Армия воюет против немцев - но только с разрешения и признавая главенство поляков. Армия Крайова даже немножко помогала нашим войскам, кое-где сражались вместе (успешно), кое-где пытались захватить города самостоятельно до прихода советских войск (безуспешно). Такие себе союзники, в общем, себе на уме.
Одним из таких городов, которые поляки попытались вернуть себе самостоятельно, была столица Польши - Варшава. Типа если они захватят столицу, то смогут всем диктовать свои условия на правах официальных властей. Из-за нехватки оружия Миколайчик потребовал помощи у англичан - но те их послали.
Родился ещё более хитрый план: дождаться, когда советские воска подойдут поближе к городу и погонят немцев, и поднять в этот момент восстание - в итоге немцы должны сбежать, роняя тапки и оставляя столицу Армии Крайовой, а русских Иванов можно будет послать и не пускать, пока не разоружатся и не поцелуют их божественные пинетки. В город подтянули партизан, и 31 июля 1944 года руководство Армии Крайовой озвучило дату и время начала восстания: 1 августа, 17:00.
Гитлер же отдавать Варшаву не хотел. В окрестностях города был обустроен укрепрайон, туда нагнали побольше войск, танков... и в итоге 31 июля смогли остановить советские войска и нанести встречный удар.
Разведка АК узнала про остановку Красной Армии и доложила об этом своим генералам - но те забили большой и толстый, наврали подчинённым, что советские танки уже заходят в Варшаву, и таки подняли восстание ровно в назначенное время. Численность поляков и немцев была примерно одинаковой: 20-25 тысяч партизан против гарнизона в 20 тысяч человек... правда из оружия у поляков были в основном самодельные гранаты и коктейли Молотова, а немцы узнали время восстания через наносекунду после его объявления и успели подготовиться. В процессе к Армии Крайовой присоединились остальные подпольщики и мирные жители, в итоге численность составила около 50к, но по факту всё, что они могли - это закидывать немцев пушечным мясом. Эта тактика всё же принесла результаты: к 4 августа повстанцы контролировали до 1/3 столицы... пока немцы не подогнали подкрепление в виде нескольких крупных отрядов СС при поддержке техники, плюс всякую коллаборационистскую шваль типа примкнувших к гитлеровцам казачьих батальонов. Начиная с 5 августа они начали методично крошить участников восстания и просто всех, кто попадётся под руку, и к началу сентября зачистили большую часть восстания.
Советский Союз и Великобритания всё же пробовали в первые дни оказать помощь, сбрасывая оружие и продовольствие с самолётов. Но когда Миколайчик с высоты своего ЧСВ отказался договариваться со Сталиным и продолжил качать свои права, тот в ответ запретил самолётам союзников, доставляющим помощь в Варшаву, садиться на советских аэродромах.
14 сентября Красная Армия при поддержке Народного войска польского заняла правобережную часть Варшавы, а на следующий день начали захват остальной части города. Местные партизаны, не входившие в состав Армии Крайовой, присоединялись к НВП, потому что АКовцы всех задрали и подвели кучу людей под могилу. Советские войска снова начали сбрасывать грузы на помощь партизанам - с 13 сентября по 1 октября было совершено более 5 тысяч вылетов. В оказании помощи приняли участие американцы.
В конце концов 2 октября Армия Крайова сдалась немцам (лишь бы не советам!) и покинула Варшаву. 17 января 1945 года Красная Армия окончательно освободила Варшаву в ходе Висло-Одерской стратегической наступательной операции.
Новый мало того, что непривычен, так ещё и содержит ряд косяков:
визуально аватарка пользователя чуть правее, чем заголовок поста, и выглядит неаккуратно;
аватарка сообщества слишком близко к нику пользователя, также выглядит неаккуратно;
недостаточно контрастные теги и кнопки, тупо сливаются с фоном (вместо #f9f9fb/#fafafc лучше хотя бы #f4f4f4, а лучше #f0f0f0);
недостаточно контрастный цвет текста (#70737b - это уже серый, а не чёрный).
Основная претензия к цветам. Читать сайт стало реально сложнее.
Кстати, почему бы вам не расположить элементы внизу поста одинаково и в десктопной, и в мобильной версии сайта? Сейчас на десктопе один порядок, на мобилке абсолютно другой.
В мобильной версии вообще здоровенный косяк:
Хочется вас спросить: вы вообще проверяете новый функционал перед выкладкой? Обкатываете на внутренних тестах? Ваши UI/UX самостоятельно пользуются вашим продуктом?
Раньше в десктопной версии сайта была полоска "вверх". Можно было навести мышку в левый край, жмякнуть и перейти в самый верх. Сейчас это сделали мелкой кнопкой в левом верхнем углу. Приходится тянуться до неё.
Товарищи UX-дизайнеры @pikabu, объясните, пожалуйста, на кой нужно это изменение? Оно только ухудшает юзабилити сайта, при этом не имея абсолютно никакого положительного эффекта. Эта полоска располагается сбоку, никак не влияя на контент. Она нужна для более эффективной навигации по сайту. В виде кнопки пользователю приходится тянуться дальше, ломаются привычные паттерны поведения, приходится переучиваться.
Вот серьёзно, как будто вы специально делаете всё возможное, чтобы пользователи вас ненавидели - даже по таким мелочам.
UPD от администрации: убедились с пользователем, что тормоза не связаны с Адблоком: #comment_284244345. Автор удалил свою статью с Хабра.
Итак, копнём чуть поглубже и убедимся, что @pikabu и @SupportTech поступают, как мудаки. Заодно делаем ставки, за сколько этот пост удалят, а меня заблокируют.
Преабула: в последнее время у многих людей тормозит сайт. Здесь мы разберёмся, почему это происходит. Внимание, много минифициваронного кода!
Для ЛЛ: если в браузере запущен AdBlock, то в код страницы встраивается скрипт, специально тормозящий сайт.
При загрузке сайта в app.js выполняется вот такая милая функция:
Что она делает? Она создаёт невидимый элемент с именами классов, соответствующих рекламе. В этом можно убедиться, поставив точку останова непосредственно при добавлении этого элемента:
Далее происходит небольшая пауза (o.W вызывает requestAnimationFrame), после которой в цикле с небольшими задержками (i.g ведёт на setTimeout) проверяется, не изменился ли стиль этого элемента определённым образом (см. функцию h). Если изменился - значит AdBlock присутствует и скрыл этот элемент, как рекламу. Если изменений нет - то и AdBlock нет, всё просто.
Результат этой функции передаётся сюда:
K.P - это та самая функция определения AdBlock, что выше.
Проверяется домен (видимо, чтобы на localhost у разработчиков не срабатывало). Далее в cookie с названием "bs" пишется определённое значение: латинская буква и цифра ("K0", "A1"). Если AdBlock присутствует, пишется "1". Если отсутствует - пишется "0".
Как известно, cookie - по сути единственный способ, которым браузер может общаться с бэкендом без каких-либо дополнительных операций.
Если в куке стоит нолик, то всё нормально, и в коде страницы нет ничего подозрительного. Но как только мы включим AdBlock, и в куке будет написана единичка... В код страницы сразу же встраивается вот такая хрень:
Весь вот этот блок целиком, да. Особенно интересна вот эта часть:
Во-первых, этот код делает синхронный XHR-запрос к серверу. Синхронные запросы отличаются тем, что заставляют вкладку браузера подвиснуть до тех пор, пока запрос не будет выполнен. Этим и обусловлены тормоза у пользователей - они происходят из-за того, что браузер выполняет синхронный запрос к серверу. Для того, чтобы сделать запрос асинхронным и ничего не тормозить, достаточно добавить true третьим параметром. Но тогда пользователи ведь продолжат пользоваться AdBlock, верно?
Во-вторых, этот код скачивает непонятно какой скрипт с сервера и выполняет его. В скрипте может содержать что угодно. Но в принципе, это мелочи, мы и так не можем контролировать скрипты на сайте.
При этом товарищи из @SupportTech предлагают отключать расширения, в том числе AdBlock, чтобы ничего не тормозило. Логично, вы ведь сами добавили тормоза, если AdBlock включен.
А потому что кто-то криворукий выполняет AJAX запросы в синхронном режиме.
Breakpoint на все AJAX-запросы, буквально второй же запрос.
В функции xhr.open передаётся до 5 параметров: метод ("GET"), URL запроса, флаг асинхронности, имя пользователя и пароль (для basic-авторизации).
Когда флаг асинхронности установлен в false, то браузер подвисает до тех пор, пока запрос не выполнится. Логично, что никто такие запросы теперь уже не использует. Единственный полезный вариант их использования - в событии beforeunload, чтобы можно было отправить какие-то данные на сервер до того, как вкладка закроется.
@SupportTech, какого хрена? Вы там код ревью вообще проводите? Какой вообще смысл делать синхронные запросы?