Ычан: [d | b / bro / hr / l / m / mi / mu / o / ph / r / s / sci / tran / tu / tv / vg / x | au / tr | a / aa / c / fi / jp / rm / tan / to / vn / vo]
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить [Последние 50 сообщений]
Имя
Animapcha image [@] [?]
Тема   ( ответ в 20450)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, MP4, OGG, OGV, PDF, PNG, PSD, RAR, SVG, SWF, TXT, WEBM, WEBP, XCF, ZIP размером до 5000 кБ.
  • Ныне 3682 unique user posts. Посмотреть каталог
  • Максимальное количество бампов нити: 500
410.png - (34.48KB, 500×500)
20450
No. 20450    
После публикации исходников мы можем обсуждать доработку не только ранее общедоступных частей интерфейса, но и движка в целом.

Репозиторий: https://bitbucket.org/Therapont/fbe-410
1. Для ваших предложений предназначена ветка public.
2. Только администрация 410чана решает, что в этом движке надо, а что не надо. Соответственно, не стоит излишне пропихивать всякие там революционные идеи. Одобренные потенциальные изменения перечислены на багтрекере (записи, созданные владельцами репозитория).
3. Тестирование предложенных изменений и развёртывание принятых ведётся при наличии у администрации свободного времени на это. Обычно это делается по выходным.
4. Код выложен как есть. Никаких неопубликованных скрытых функций и частей не существует.

Предыдущая нить: >>17371
378 сообщений пропущено. Показаны 50 последних сообщений Развернуть все изображения
No. 25162    
>>25159
> редизайн главной на манер Ычана
Не дай Бог такое жуткое вырвиглазие и здесь увидеть.
No. 25177    
screenshot.webp - (65.05KB, 1280×3796)
25177
Так как по адресу https://bugs.webkit.org/show_bug.cgi?id=207750 мы видим (скриншот прилагаю), что поддержка AVIF добавлена в WebKit (движок Safari) пятого марта, то не за горами устранение названного в реплике >>25134 препятствия к внедрению AVIF на 410чане: всѣ, всѣ браузеры скоро будут поддерживать AVIF — даже Safari, а не только Google Chrome и Mozilla Firefox.

Есть ли другие ещё препятствия к этому? Как там поживает поддержка AVIF в той версии ImageMagick, которая установлена на сёрверѣ? — и если никак, то тогда нѣтъ ли там возможности так хорошо обновить ImageMagick на новую версию, чтоб одним махом получить не одну только поддержку анимированных WebP, но и поддержку AVIF заодно с нею?
No. 25178    
>>25177
Кстати, на счет версии на сервере. Возможно ли опубликовать версии пакетов на продакшене, дабы иметь возможность локально проверять на подобных версиях свои изменения?
No. 25181    
>>25178
На сервере стабильный «Дебиан» и версии оттуда.
No. 25184    
Насколько я понимаю, нынешняя (десятая) версия Debian вышла въ свѣтъ в июле 2019 года, а девятая версия — в июне 2017 года.

Если строить на основе этого прошлого свои дальнѣйшія ожидания, может быть наивно, то тогда можно ждать того, что слѣдующая (одиннадцатая) версия Debian появится к концу лѣта нынѣшняго (2021) года (или хотя бы немногим позже).

Мнѣ не извѣстно, однако же, какая будет в ней версия ImageMagick, окажется ли доступною поддержка JPEG XL, или AVIF, или хотя бы анимированных WebP только; может ли кто-нибудь просвѣтить по этому вопросу?
No. 25253    
screenshot.webp - (54.00KB, 1280×720)
25253
Кажется, надо что-то дѣлать либо насчётъ Unicode-aware обрѣзанія имёнъ файловъ, либо насчётъ меньшей строгости подхода MySQL къ допустимости непарныхъ surrogate pairs въ текстѣ.

Прошу ѿкрыть FBE issue по этому поводу.
No. 25267    
xkcd workflow.webp - (30.19KB, 278×386)
25267
Если стабильным «Дебианом» в сообщении >>25181 называется совершенно то же, что и на странице https://www.debian.org/releases/stable/ (то есть десятая версия «Дебиана»), то предлагаю подтвердить или опровергнуть утверждение автора сообщения https://014chan.org/d/res/82.html#308 о том, что в этой версии ImageMagick понимает формат AVIF.

Если стабильным «Дебианом» в сообщении >>25181 называется не совершенно то же, что и на странице https://www.debian.org/releases/stable/ (то есть не десятая версия «Дебиана», а нѣкая болѣе ранняя — скажем, девятая), то тогда не морочьте мозги, выражайтеся пояснѣе.
No. 25268    
>>25267
Меж тем, прямо в этом треде указана используемая версия ImageMagick.
No. 25290    
Переключил стиль на блумун. Теперь при загрузке страниц сначала виден дефолтный стиль, а после окончания переключение на выбранный. В итоге "мигание" на доли секунды. Может он там где-то внутри по два раза применяется?
Safari
No. 25291    
>>25290
Это вроде просто баг системы стилей, которая сначала грузит дефолтный, а потом яваскриптом применяет юзерский.
No. 25292    
>>25291
Наверное стоит сделать отдачу выбранного стиля прямо с сервера.
No. 25294    
>>25292
Сервер отдает статичный html + css + js, перестраивая их только когда добавляется пост, так что не уверен что получится.
No. 25295    
>>25292
>>25294
В целом css и так отдается с сервера, скрипт его только переключает.
No. 25296    
>>25295
я имел ввиду, что нужный css летел бы уже активным в html.
No. 25297    
>>25290
Речь про это заходила уже вроде. Тогда были какие-то изменения и сказали, что с текущим механизмом баг не исправить. А раньше вроде было работало, для чего сломали переключалку — не понятно.
No. 25298    
>>25297
Пришло время нового движка
No. 25299    
>>25297
Я подозреваю, что исправить всё можно, просто никому это не интересно.
No. 25300    
>>25299
Я посмотрел одним глазом. Похоже, там просто надо в вызовах printStylesheets() передать значение стиля, полученного из куки, вместо KU_DEFAULTMENUSTYLE. Но я php не умею.
No. 25301    
>>25300
Это ничего не даст.

Движок берет и создает все файлы доски / треда статично за 1 раз, в файловой системе, и потом направляет туда апач чтобы их раздавать. Обновляются эти файлы только когда с доской что-то случается, например новый пост.

А так все читающие доску / тред получают с сервера один и тот же HTML, CSS и JS. Поэтому прямолинейной модификацией генератора HTML проблема нормально не решится, в лучшем случае это будет "один любимый стиль для всех", что и так сделано в рамках "стиля по умолчанию"
No. 25302    
dev.png - (10.83KB, 288×216)
25302
>>25300
Пикрелейтед, как выглядит доска для движка.
Как видишь, всё уже создано заранее.
No. 25303    
>>25301
>>25302
В Кусабе есть кнопка для регенрации досок вообще-то.
No. 25304    
>>25303
Но регенерируется-то оно всё равно сразу для всех.
No. 25305    
>>25301
кек
No. 25341    
AV1chan drawn by eivarain.png - (2.66MB, 1811×2597)
25341
Нѣсколько запоздалый постскриптум к сообщению >>20564 вот каков: так как в движке FBE проверкою содержимого графического файла на соѿвѣтствіе его расширению занимается (в методе «HandleUpload» у класса «Upload» в файле inc/classes/upload.class.php) вызов функции «getimagesize» языка PHP (то есть функции, по адресу https://www.php.net/manual/en/function.getimagesize.php описанной, если чё), то у этого есть два любопытных послѣдствія.

① Так как в эту функцию (в «getimagesize») поддержку формата WebP добавили только начиная от PHP версии 7.1.0, то поддержка WebP требует и свѣжаго PHP (а не одного только свѣжаго ImageMagick, как кто-то мог бы наивно думать по умолчанию). К счастью, съ нѣкоторыхъ поръ (вѣроятно, >>20671) версия PHP на 410чане достаточно свѣжая для этого.

② По адресу https://twitter.com/markusstaab/status/1369192219618533377 можно прочесть, что поддержка AVIF появилась в libgd только в начале марта нынешнего (2021) года, и примѣрно тогда же начали впиливать эту версию libgd в PHP (в середине марта, как это можно по адресу https://bugs.php.net/bug.php?id=80828 видѣть). Стало быть, чтобы в FBE появилась поддержка провѣрки содержимого AVIF, нам придётся, по меньшей мѣрѣ, либо дожидаться окончания того впиливания (и затѣмъ ещё накатить новый PHP на 410чан), а оно непонятно когда достигнет желаемого, либо переписать метод «HandleUpload» у вышеупомянутого класса «Upload» таким образом, чтобы для новых форматов графических файлов провѣрка контента совершалася при посредстве не GD, а ImageMagick.

Совѣтую непремѣнно имѣть всё это въ виду.
No. 25354    
ChangedStyles.png - (102.71KB, 1920×1030)
25354
Сделал пулл-реквест по таску 25.

Стили меняются везде синхронно и добавлены недостающии стили для фотона (с instant-0chan).

А точно нужно заменять site_<что-то> стили на те которые без префикса? Там всё по другому будет выглядеть, если просто сделать как предложено в комменте к таску и отредактировать printStylesheetsSite в html.php. А если делать правки, чтобы всё выглядело как сейчас, то не уверен, что код будет красивее, если все стили из site_<что-то>.css и <что-то>.css поместить в один файл. Там ещё есть sitemenu_<что-то>.css, и в них тоже цвета повторяются. Их содержимое тоже должно быть объединенос с <что-то>.css?
No. 25355    
12345693.png - (472.68KB, 1146×709)
25355
>>25354
>А точно нужно заменять site_<что-то> стили на те которые без префикса?
Разумеется, никому нахѣръ не нужно по десять файлов там, где достаточно одного. sitemenu тоже упразднить. Смысл в глобальной переключалке и глобальных стилях.
Вам не требуется редактировать эти CSS, добавлять недостающие фотоны и подобную лабуду, с этим я сам буду разбираться: очевидно, что для наилучшего результата надо классы в вёрстке ковырять.
No. 25356    
>>25355
Просто навесить классы на body в меню и на служебных страницах достаточно? Чтобы потом их использовать во всех стилях из site_ и sitemenu_.

Создал другой пулл реквест.
No. 25357    
>>25290
Это тоже пофиксил. Просто нужно вызывать функцию setStylesheetFromLocalStorage, проставляющую атрибут disabled стилями, ещё во время загрузки head'а, до загрузки контента. То есть нужно не оборачиват вызов в $(), потому что так она вызовется после загузки всего DOM'а, а прямо сразу вызывать. Тогда контент загрузится сразу с правильными стилями.
No. 25358    
>>25357
Вроде всё хорошо, но использование img_global.css во фреймах так и не прописано, хотя это прямо указано в задаче.
No. 25360    
>>25358
>хотя это прямо указано в задаче
Точно...

Переделал, создал пул реквест. Общие стили перенесены в img_global.css.
No. 25367    
Создал пул реквест для задания 5.

Первый коммит фиксит ссылки в перемещаемом треде.

Второй коммит добавляет в таблицы с постами поле initial_board, чтобы отслеживать перемещение тредов. Если константа KU_INDICATEMOVEDTHREADS установлена в true, в загаловке треда появляется сообщение Moved from /board/. Чтобы добавить поле initial_board в существующие таблицы, в админке создана страница Update в разделе Site Administration c кнопкой Update. Перемещение тредов будет фейлиться без обновления таблиц, весь остальной фукнционал продолжит работать.

Ссылки фиксятся только в самом перемещаемом треде.
No. 25422    
Стили меню поломались из-за кеша. Сделал пул реквест чтобы пофиксить. После shift+f5 всё и так работает нормально.
No. 25439    
>>25367
Там перенос видосов сломан в переноске тредов.
No. 25440    
>>25439
Да, видел, исправлю.
No. 25454    
>>25440
C последними изменениями появилась бесконечная перезагрузка всех статичных страниц, и тех что через news.php, и тех что через exitWithErrorPage(), и даже меню фрейма.

Исправьте, пожалуйста.
No. 25455    
>>25454
Не знаю, не слишком ли много я прошу, но нельзя ли мне, если можно, конфиги кусабы, с которой это происходит, пожалуйста? И содержание таблицы boards ещё.

У меня на той машине всё нормально работало. Вот только что поднял на другой машине из ветки public и тоже всё работает. Может быть из-за других настроек папок что-то ломается... У меня все доски лежат прямо в перемешку с папками кусабы, css, icons, inc и т.д.

Печаль, печаль, беда... Вот уж чего я не ожидал, так это бесконечных перезагрузок...
No. 25456    
>>25455
Я и так буду разбираться в чём дело, но с конфигами было бы проще.
No. 25457    
>>25455
>>25456
Я так понимаю, что это у него тут такое. У меня такое не воспроизводится ни на одном браузере.
No. 25459    
infinite_reload.png - (62.64KB, 820×782)
25459
>>25455
>>25457

Короткое изучение показывает, что баг воспроизводится железно, в любом браузере, но только если у вас открыта панелька избранных нитей (открывается по нажатию на звезду в нашем верхнем меню)

Как воспроизвести:
1. Заходим на https://410chan.org
2. Нажимаем в меню слева Авто/b/ус и переходим в /b/
3. Нажимаем в верхнем меню кнопку Избранные нити (иконка звезды справа от выбора стиля)
4. Убеждаемся, что панель Избранные нити открылась и её видно, не трогаем
5. Нажимаем в меню слева Главная страница и переходим на главную страницу
6. Как только откроется главная, пойдут перезагрузки.

Перезагрузки после этого будут на всех статических страницах.

Инициатором перезагрузки страницы, как видно на пикрелейтед, является kusaba.js, строка 565. Эта строчка как раз отвечает за location.reload() в этой функции:

function generateWatchedThreadsElement(){
   var $watched = $('#watchedthreads');
   if( $watched.length ) return false; // already exists

   var $topmenu = $('.topmenu');
   if( $topmenu.length < 1 ){ // incomplete or unexpected DOM
      location.reload(true);
      return false;
   }


Как уже понятно из рецепта воспроизведения, функция эта вызывается только если у вас пытается автооткрыться панель избранных нитей:

   if(
      localStorage.getItem('showwatchedthreads')
   ) generateWatchedThreadsElement()

Получается, или слишком рано происходит этот вызов, или дело в том что функция вызывается на страницах на которых .topmenu в принципе быть не может, или в 1 оно выставляется там, где не должно, или у функции некорректная логика.

Если сделать localStorage.removeItem('showwatchedthreads') или пробраться на доску без фрейма, и скрыть меню избранных нитей, поведение прекратится.
Если не получится воспроизвести, сообщите, я видео запишу.
No. 25460    
>>25459
Да, видимо коммит fef9a855 от 11.06.2021 это сломал. До него kusaba.js фейлилась гораздо раньше, а теперь стала отрабатывать до конца. Если нет элемента $('.topmenu') достаточно просто ничего не делать, не нужно перезагружать страницу.
No. 25461    
>>25460
Охлол! Получается та самая ситуация, когда совокупность одних багов берегла нас от других. Спасибо за оперативный фикс.
No. 25534    
Господа, мне кажется, или дополнительно отломалось сохранение состояния формы быстрого ответа?
No. 25560    
>>25534
Не кажется.
No. 25561    
>>25460
Сможете разобраться, что вызвало проблему >>25534 и исправить, или надо открывать тикет на починку?
No. 25562    
>>25534
>>25561
tl;dr Так вышло, что в public это уже исправлено.

Причины бага аналогичны >>25460 На странице ошибки тоже грузится kusaba.js, и в этом случае выполняется код, который пробует синициализировать форму быстрого ответа. Этот код фейлится, ошибка обрабатывается, но в обработчике выполняется deinit, а в нём _dropFormData.
В коммите 9949a077 из пул реквеста 54 кроме того, что добавлено условие для создания элемента с избранными нитями, ещё и условие для инициализации формы быстрого ответа исправлено на аналогичное. До этого там проверялось, что в адресе нет menu.php или news.php, а теперь проверяется, что у body есть классы read или board (тред или доска). Оказывается, эта проверка исправляет баг с сохранением формы (форма на странице ошибки не начинает инициализироваться, исключение не возникает, deinit не выполняется).
No. 25563    
>>25562
>tl;dr Так вышло, что в public это уже исправлено.
Это радует. Спасибо!

Получается public еще не развернули просто?
No. 25564    
>>25563
>Получается public еще не развернули просто?
да
No. 25565    
>>25564
Ок, спасибо что уточнили.
No. 25566    
>>25565
В том сымсле, что пул реквест вмёрджен в ветку publc, но что с ним будет дальше, не знаю, это не ко мне. Я всего лишь случайный автор последних правок и я здесь один, лол.
No. 25575    
Просьба администрации отписать, когда будет развернут текущий паблик, чтобы можно было проверить фиксы.
Удалить сообщение []
Пароль  
[Mod]