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

У администрации Ычана появилось желание добавить некоторые функции в стандартный пользовательский интерфейс, что требует доработки местного JS. Поскольку специалистов в этой сфере на примете нет, было решено обратиться к сообществу.
Какие функции нужны:
  • Скрытие тредов. Видимо, с использованием localstorage. Учитывайте возможность развернуть тред обратно.
  • Разворот картинки на странице по нажатию на уменьшенную копию. Большие картинки должны разворачиваться не в натуральную величину, а с учётом ширины и высоты окна. По повторному нажатию сворачиваться обратно. Учитывайте, что иногда вместо уменьшенной копии бывает заглушка спойлера, а в огороженном разделе /gf/ есть флэшь-файлы, которые этак разворачивать смысла нет.
Желательно, чтобы скрипты были достаточно легковесны, чтобы помещаться в wakaba.js. Минимальными должны быть и предлагаемые правки вёрстки самих страниц (радикально никто ничего перепиливать не будет).
Предпочтительная лицензия скриптов — общественное достояние (public domain), как у самой «Вакабы».

Пока всё. Администрация не рассматривает идеи подключения куклоскриптов или чего-то подобного тяжеловесного целиком, так как стремится сохранить минимализм интерфейса сайта. Также пока не рассматриваются предложения по неким другим функциям.
107 сообщений пропущено. Показаны 50 последних сообщений Развернуть все изображения
No. 18647    
При очередном обновлении скрипта слетело правильное масштабирование картинок с учётом ширины экрана.
No. 18653    
>>18647
Ой. Пофикшено. Ссылка та же.
No. 19579    
152298933553.jpg-(90.58KB, 600×600, 1165323653982.jpg)
19579
Не знаю, куда отправить, пощу здесь. Ссылка на пост будет дана в /d/ Ычана.

Данный патч к Вакабе 3.0.9:
1. позволяет пихать перловские регулярки в вордфильтр
2. Выводит причину бана в сообщении о бане
N.B.: причина бана является обязательным полем для заполнения при бане из Management Panel в Вакабе 3.0.9.

Диффы: http://yakuji.moe/wakaba/diffs.zip

Мотивация нововведений: мне надоела эта катавасия с "почему меня забанили"-тредами и "если мы будем говорить всем причину, то будет срач".

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

Полюбоваться на тестовую строчку при попытке отправить сообщение можно по адресу: http://yakuji.moe/wakaba/
No. 19583    
Данный патч к Вакабе 3.0.9:
1. позволяет невозбранно тереть посты пользователей не заходя в админку, если в качестве пароля для удавления поставить модпасс.

Диффы: http://yakuji.moe/wakaba/diffs.zip

Мотивация нововведений: это патч в одну строчку, сделанный около года назад или больше, лол.
No. 19606    
Не патч, но шпилька в сторону Ычана: в Вакабе 3.0.9 кнопка "назад" на странице ошибки так-таки берёт адрес из (HTTP_)REFERER, а не линкует обратно на доску. Я могу понять, что это может привести в милый цикл, если ошибка возникнет при чём-то сильно глобальном, что не позволяет запустить админку, но это не повод её не включать.
No. 19607    
>>19606

Вообще-то там «href="javascript:history.back();"» напрашивается, хотя бы ради демонстрации ранее заполненной (на предыдущей странице) формы ввода.
No. 19612    
152335606288.gif-(5.92KB, 240×240, 1168163138332.gif)
19612
>>19607
Вообще, если мне не изменяет память, это обсуждалось примерно четыре года назад в /d/, в том числе предлагалось и явоскриптовое решение. Хотя, может то было больше в контексте 404-страниц. Уже не вспомню всю переписку.
В любом случае, делать только жабоскриптовую версию, ящитаю, неправильно, реферрер хотя бы через <noscript> оставить бы. А то любители посидеть с совсем-совсем отключенными скриптами у нас таки есть.
No. 19613    
>>19612

Ну тогда «href=" чего угодно " onclick="history.back(); return false;"».
No. 19634    
152400753999.png-(76.48KB, 600×540, 7067369.png)
19634
А попробуйте присобачить к «Вакабе» какую-нибудь HTML5-рисовалку вместо «Shi», чтоб в современных браузерах работала.
У этого действительно есть шанс взлететь.
No. 19640    
152406762170.png-(975B, 96×96, IMG_1682.png)
19640
>>19634
Если мне не изменяет память, владелец нынешнего слепого телефона нечто подобное уже делал, логичнее пнуть его.
No. 19641    
>>19640
То есть, если затык в "привинтить конкретную рисовалку к Вакабе" — я в деле, но выбирать/писать рисовалки есть кандидатуры много лучше, проверенные временем. И читающие этот раздел.
No. 19642    
>>19641
Так возьми фейхоа и прикрути к вакабе. Там в принципе прикручивать нечего, нужно лишь подкорректировать POST-запрос.
No. 19647    
>>19642
А ссылку на сорцы?
No. 19727    
>>19647
Я думаю, что >>19642-кун/тян имел(а) в виду https://github.com/MyonMyon/feijoa, на форке которой https://github.com/f2d/dfc работает, если не ошибаюсь, 2draw.me, в котором рисуют участники треда "Слепой телефон" в /b/ Ычана.
No. 19729    
>>19727
Я уже связался в f2d и получил свежайшие исходники, прямо с источника, но вплоть до третьего числа скорее всего не начну работать.
c: Perl
No. 19746    
152534399082.png-(441.33KB, 720×1280, Screenshot_2018-05-03-13-50-51.png)
19746
Ведро 4.4, Хром. Изображения в ОП-постах раскрываются вот так. На них текст налезает.
No. 19747    
>>19746
Пф.
Ведро 8, хром и мишный браузер, изображение в новой вкладке.
No. 19748    
>>19747
А на полной версии сайта >>19746
No. 19751    
>>19748
А, в мобильной версии вообще яваскрипта нет, кажись.
No. 19991    
>>19729>>19634
В общем, всё очень мило запиливается за ночь, есть только проблема. В том числе безопасности.

Нам надо как-то достать картинку с рисовалки на сервер. И так как всё рисование происходит на стороне клиента, то на сервер, потенциально, могут подсунуть чёрт знает что.
Я вижу три решения:
1. Хранить, как сейчас, временные файлы в /tmp/, удалять всё что старше часа и обмазать это разрешениями на чтение/запись. Соответственно, обеспечение безопасности на совести Администрации. Или проще - проверять файл на то, что это вообще png, но тогда при постинге проверка будет идти повторно.
2. Таскать туда-сюда картинку в base64, как она таскается сейчас дудлятором. Проблемы две: во-первых, всего картинку придётся протащить четыре раза: с рисовалки на сервер, с сервера на форму ответа (и как картинку и как поле формы ответа), и с формы ответа обратно на сервер. При этом на втором шаге картинка невозбранно подменяется на что угодно, даже не base64.
3. Хранить картинку где-то в памяти браузера и показывать её оттуда же. Всё ещё возможна подмена как в 2, но нет таскания файлов туда-сюда. Но надо будет переписывать форму ответа специально под этот случай, по-моему.

Я сейчас сделаю 1 с проверкой на png. 3 мне сделать не хватает теоретических знаний.
No. 19992    
152680951755.jpg-(71.43KB, 600×600, 1150265137612.jpg)
19992
>>19991
http://yakuji.moe/wakaba/oekaki.diff
Содержит диффы к jfc.js и milf.js из https://github.com/f2d/doodle-mutator/tree/master/doodle, но не сами эти файлы.
Наверное, можно ещё посмотреть, почему при загрузке файла холст слетает в выравнивание по левому краю, как красиво убрать сохранение/загрузку чтобы кнопок не было, но при перебое питания можно было восстановить картинку, и ещё что-нибудь (например, передавать параметры чтобы интерфейс на русском), но я лучше спать. Благо, серверная часть в основе своей сделана.
No. 20722    
153801602831.jpg-(28.47KB, 412×882, 1157976982106.jpg)
20722
Кажется, я нашёл что-то более Щи-подобное. https://github.com/funige/neo
Другой вопрос - кому это надо.
No. 20791    
15392679067.png-(858.11KB, 1903×11056, Ычан_—_Работа_сайта_-_2018-10-11_.png)
20791
Вот такой закреп, когда ещё и дублируется id на странице - это очень плохо, пнятненько?
No. 20792    
>>20791
Stick-тред не скрывается с доски, просто кто-то забыл его ещё и hide сделать.
No. 20793    
153928017030.jpg-(57.06KB, 420×456, 1150269302585.jpg)
20793
>>20792
Сейчас лучше, но я был бы признателен, если бы там было хотя бы три последних ответа. Зайти в репорт-тред чтобы увидеть, что репорт уже есть не очень приятно. А если кто-то пользуется куклоскриптом, и привык отправлять с нулевой?
No. 20794    
>>20793
Алсо, я не уверен, что это надо на каждую страницу лепить, достаточно на нулевой.
No. 20913    
154247686591.png-(24.05KB, 659×89, Ычан_-_2018-11-17_17_47_03.png)
20913
Закрытые треды невозможно скрыть. Или что-то в этом роде.
No. 21492    
>>20791>>20793
>Разлепили
Лол.
No. 21756    
Я так понял, что до прикручивания рисовалки руки пока так и не дошли.

Так что давайте пока обсудим «Быстрый ответ». Прикручивание этой функции на «Ычане» и доработка на «410чане» в целом одобрены, но есть вопрос по реализации.
Скажем, на «4чане» форма быстрого ответа вылезает в качестве отдельного окна, которое можно свободно двигать по экрану, а на «Доброчане» и в отдельных скриптах она появляется под сообщением и «прибита» к нему.
Какая реализация по вашему мнению удобнее? И что требует меньше сложного кода/последующей нагрузки на браузер?
(Этот вопрос касается обоих сайтов, потому что будем прикручивать одинаковую реализацию.)
No. 21757    
>>21756
По количеству кода и сложности проще под постом делать. На самом деле, главное отличие — для плавающей формы нужен ЖС для тягания формы и определения позиции формы при открытии. С другой стороны, при статичной форме нельзя добавлять её в одно место в страничке. Так что в целом разница минимальна.
По-хорошему, нужно совместить оба варианта: изначально форма появляется под постом, но можно нажать кнопку/потянуть за шапку и она станет плавающей. Но опять же, если идти от обратного и делать максимально просто, то можно вообще сделать плавающую форму на HTML+CSS, которая будет работать и без JS, от которого там будет только добавление ссылки на пост по onclick.
Посему, вопрос нужно ставить не плавающая или статичная форма, а делать хорошо или просто.
No. 21758    
>>21757
Почему нельзя? Форма хранится в переменной, при нажатии на кнопку ищетсяна странице, предыдущее вхождение убирается из дерева, вставляется под новым постом.
No. 21759    
>>21758
Я как раз про то, что в одном неизменном месте дерева нельзя держать, придётся теребить дерево под каждое сообщение.
No. 21760    
155423664453.png-(18.57KB, 384×384, 1151936015016.png)
21760
>>21759
А. Ну это да.
Вообще, что до ЖСа - на Автобусе, ЕМНИП, уже есть вское resizable и draggable, так что если бы не было нужды делать и под Ычан тоже, то плавающая форма была бы очевидным вариантом. А вот насколько много ЖСа готов Мод-тян чтобы мы впихнули в Вакабу - вопрос (где публичная репа, блджад?).
No. 21762    
>>21756
Я однозначно за отсутствие плавающего окна, на мобильных устройствах будет вообще кошмар, на ПК оно будет вечно куда-то теряться и уезжать, что и происходит в известных реализациях.
Вопрос: нужно ли скрывать форму создания треда за кнопкой "создать тред", как это реализовано в кукле? Так будет гораздо меньше снайперов, если вообще будут. Еще можно сделать эту кнопку и вверху, и внизу страницы, и тогда не придется скроллить. Реализовать это не сложно, и кроме того, чисто с технической точки зрения проще родную форму ответа вырезать со своего места вверху страницы и вставить под пост, значит сверху она пропадет, значит нужна кнопка, чтобы ее вернуть.
No. 21763    
>>21762
Категорически против таскания одной формы. Там, где есть быстрая форма, часто начинаю писать в быстрой форме, потом, когда текст получился достаточно объёмным, не закрывая её, перечитываю всё в растянутой основной форме.
No. 21764    
>>21763
Можно же вернуться к основной форме, нажав кнопку, и весь текст в ней сохранится.
No. 21767    
Еще вопрос: оставлять ли правила и прочий подвал в форме быстрого ответа?
No. 21768    
>>21767
Разумеется, нет.
No. 21769    
>>21762
Считаю, что прятать форму создания треда за кнопкой не нужно, ибо это неудобно.
No. 21771    
>>21769
Типичный пользователь создает в лучшем случае 1 тред на 100 своих постов, и то этот 1 тред может быть промахнувшимся мимо треда ответом. Один раз нажать кнопку не так уж сложно, зато точно будешь знать, что делаешь.
No. 21772    
>>21756
Сделано. Особо не тестировал, но вроде работает. Скажите, если будут замечания.
Для копипасты в консоль или на сайт: https://github.com/WagonOfDoubt/iichan-extensions/blob/master/dist/escaped/iichan-quick-reply.min.escaped.js
Для тестирования в качестве юзерскрипта: https://github.com/WagonOfDoubt/iichan-extensions/blob/master/dist/userscript/iichan-quick-reply.user.js
Скорее всего в ближайшее время буду вносить косметические правки.
No. 21773    
155433563694.png-(17.76KB, 384×384, 1153747285403.png)
21773
>>21772
С индекса невозможно быстро ответить в тред, потому что неправильно заданы параметры key (и dummy, но последнее, насколько я знаю, не учитывается) у капчи. Соответственно, предлагаю при нажатии на кнопку капчу обновлять в соответствии с параметрами.

Ну и, версия на Чиоичан будет?
No. 21776    
155434872161.jpg-(339.44KB, 1024×768, 06 - 1024x768@32 [SIG52e12393ad0e8d973c8d4353e9079.jpg)
21776
>>21773
dummy — это такой древний костыль, чтобы браузер капчу не кешировал. У самой капчи (и фапчи здесь) есть GET-параметр, определяющий доску, для которой генерится капча (здесь это board={{boardId}}) и сессия на сервере, таким образом капча полученная для одной доски не применима для другой (это важно разрулить, если будете делать ответы на попупы).

Второй древний костыль — это параметризация процедуры создания нового поста или треда. Осуществляется при помощи скрытых полей в пост-форме (здесь это <input type="hidden" name="board" value="{{boardId}}" /> и <input type="hidden" name="replythread" value="{{(threadId || 0)}}" />), в которые пишутся id доски и id треда или ноль, если это запрос на создание нового треда.

Третий древний костыль — это защита от спам-ботов при помощи кучи полей, скрытых разными способами (type="hidden" или display:none;), имеющие разнообразные, в том числе и пустые, значения, которые трогать, равно как и выкидывать эти поля из формы, не надо.
No. 21777    
>>21776
Что-то сейчас глянула по второму костылю: у Автобуса в дополнение имеется параметризация самого урла вида /board.php?{{boardId}}, её тоже надо учитывать.
No. 21778    
Юзернейм, чем объяснять очевидности человеку, который занимается этими двиглами уже года четыре, вы бы скрипт починили. Тем более что второй и третий пункт в этой реализации ну никак не проявляются.
>dummy — это такой древний костыль, чтобы браузер капчу не кешировал.
Таки никто не мешает инвалидировать капчу при появлении нового поста в треде, в теории. Исходники-то закрыты.
>это важно разрулить, если будете делать ответы на попупы
Поддержка костылей не является самоцелью администраций обоих ресурсов, насколько нам известно, и такого нет в ТЗ. Как и попапов в нынешних движках.
No. 21780    
>>21778
Я думаю, что человек, занимающийся такими движками четыре года, сделает этот реквест играючи, быстрее и лучше. Чего в таком случае я-то тут буду пыжиться и оскорблять своими потугами специалиста?
No. 21782    
>>21778
>нет в ТЗ
Так и ТЗ никакого нет пока, только вынесли на обсуждение.
No. 21790    
>>21773
Починено.
Еще в видео плеере справа от "[Свернуть видео]" добавлена галочка для включения звука по-умолчанию. По-моему, она совсем не мешает, и это будет хорошим компромиссом для тех, кому не нужно отключение звука.
В hide-threads заменил кнопку в каталоге с [┼] на [+]
No. 21801    
Шел 2019 год, а на Ычане так и не осилили Вакабу переписать. Все тормозит, ну как так можно?
No. 21807    
>>21801
Потому что допиливают для модераторов, а не для постеров.
Удалить сообщение []
Пароль  
[Mod]