[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить [Последние 50 сообщений]
Имя
Captcha image [Д]
Animapcha image [@] [?] [Т]
Тема    ( ответ в 1000357)
Сообщение
flower
Message Preview
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов GIF, JPG, PNG, WEBP размером до 20480 кБ.
  • Ныне 63 уникальных клиентов. Посмотреть каталог
  • Предельное количество бампов нити: 200
114167649_p0.jpg - (1.88MB, 1191×1684)
1000357
No. 1000357  
Замечания и предложения по нему, а также их обсуждение.
Предыдущий тред >>1000000.
155 сообщений пропущено. Показаны 50 последних сообщений
No. 1000581  
>>1000578
Так я конкретно сейчас и не говорю, сделайте мне движуху, Соусу не надо, ну ок теперь уж. Я говорю, что бывшая не сохранилась.

А сильно выделяющихся и забивающих эфир почти гарантировано выпиливают, или административно, или коллективным шиком.
Да, может и я чем-то отчасти "виноват", может, слишком аутичные вещи больше волнуют, про дно русского сетевого самиздата/MMORPG/Warhammer/аниме нулевых/что там ещё сказать нечего, а жизни настолько нет, что и написать нечего, а совсем нытьё не хочется, и ещё по ощущениям оставшиеся совсем другого поколения, и зашикают если не самоцензурироваться по самое.

> Но я честно без понятия что там происходит ибо неинтересно
Где? На 410? А форк почему интересен?? Настолько, что активное участие... СырноНепоняла
> заграница давно забанена
На 410? СырноНепоняла
No. 1000582  
faptcha.png - (9.50KB, 90×50)
1000582
>>1000581
Внеэрэфье (ну, или куча нероссийских IP) действительно было побанено на 410: не подгружалась капча. Если я верно помню, после того, как (не) Лина вайпала Ычан, и Новерь и Чио тоже под вайпом оказались, ввели такие ограничения. Тогда, видимо, сделали исключения для некоторых IP, но потом то ли переезд случился, то ли ещё что-то, и эти исключения слетели, из-за чего мне было пришлось просить Соуса внести меня в белый список.

Но, кажется, ныне эти ограничения убраны. Ну, или с японского IP у меня запостилось.
No. 1000583  
>>1000581
Меня интересует форк как явление, и ящитаю что люди заслуживают большего чем заходящий раз в две недели косплей М-т. Нынче я и на первый форк захожу больше проверить, не просачивается ли какая гадость через автомодерацию потому что кота опять нет и не пишут ли что тут сломан постинг.
>> заграница давно забанена
>На 410?
На 410, ещё с давишних вайпов. Когда мне надо там постить, я пользуюсь японской проксей.
No. 1000584  
Неплохо бы сделать авто-редирект
https://014chan.org/b/src/161336529851.png ->
https://014.yakuji.moe/b/src/161336529851.png

А то Кот никогда не поправит.
No. 1000585  
https://bulochka.org/d/res/841.html#1037
No. 1000586  
137466237_p0.webp - (3.25MB, 1580×1200)
1000586
>>1000584
Но вроде у нас все картинки старых тредов живы? Кроме тех, которые в удалённых тредах. Странно, что 404.
No. 1000587  
>>1000586
Найти и докопировать тоже сойдёт.
No. 1000588  
>>1000584
Так картинки доменом переехали на https://014.cdn.ganbaranai.moe/b/src/161336529851.png
No. 1000589  
>>1000588
Да, точно. Но всё равно, как и в >>1000557-случае, что-то замечено. Тогда тот урл[-паттерн] пусть и отправляет на ганбаранаи, зачем он такой 404-й?
No. 1000590  
Или это "защита от РКН"?
No. 1000591  
faptcha.png - (9.18KB, 90×50)
1000591
>>1000590
Эх, если бы от Р.
No. 1000592  
>>1000590
Это "если прибьют картинки, то хотя бы только картинки".
Да и в целом, держать медиа на медаиасервере а всё остальное на побыстрее правильно дешевле.
No. 1000600  
137668930_p0.jpg - (4.61MB, 3000×4000)
1000600
>>1000533
>>1000555
Убрал KU_TRADITIONALREAD, ссылки на посты на текстовых досках теперь в class="ref|$board|$thread|$post|" формате. Хотя для read.php $thread там теперь не нужно. JS не трогал.

Корректно обрабатываются ссылки с обычных борд на посты текстовых, хотя релятивность текстобордового ID вносит в код некоторые сложности, ну и без заглядывания в HTML за абсолютным ID поста ссылку не сделать.

В stringformatting код для перемещания (в архив) тредов для текстоборд пока не будет работать верно. Нужно менять регулярки и callback.

Для запросов в read.php и в parse.class.php поставил проверки, что действительно ctype_digit для постового ID и действительно lowercase latin ASCII для бордоимени. После всех проверок интерполируются в GetAll() без escape'а. Допустимо?

Did you know? Хотя описание на странице создания доски говорит для имени директории Только буквы и цифры, вроде можно сделать имя с чем угодно, кроме ' ', '/', и '|'. В частности, '_'. Но регулярки для межбордовых ссылок, что на Чио, что у нас, понимают только буквы.

Не проверял, работает ли read.php с флагами. BTW, мы точно хотим инкапсулировать любое имя столбца, таблицы или alias'а в backtick'и?

Не работает удаление постов. BTW, https://codeberg.org/FBE410/fbe-410/issues/60 баг с bulk deletion касается нас тоже. На Чио я решил, сделав проверку, был ли уже удалён удаляемый пост, но по-хорошему, наверное, стоит ещё оптимизировать, чтобы сначала удалялись треды, затем удалённые посты исключались из bulk'а, и уже затем удалялись одиночные посты.

Кажется, были какие-то проблемы с созданием (тексто)доски, поправил.

Не применял автоформатирование.

Возможно, дальше займусь чинить предпросмотр.

Возвращаясь к текстодоскам, они нам как концепт точно нужны? Предпросмотр там есть, но теперь и для картинкодосок, тоже. ASCII art можно через [code]. Если нужна доска, где нельзя прикладывать картинки, то не проще сделать Запретить прикладывать картинки галочку?
No. 1000601  
> ну и без заглядывания в HTML за абсолютным ID поста ссылку не сделать
То бишь, чтобы на пост текстоборды сослаться с другой борды/треда, нужно, чтобы на него где-то уже была ссылка. Так что если оставлять текстоборды и относительные ID, стоит отображать информацию о реальных наружу.
No. 1000602  
>>1000600
>BTW, мы точно хотим инкапсулировать любое имя столбца, таблицы или alias'а в backtick'и?
Мускуль это позволяет, но вообще нет, это не 100%-портируемо.
>действительно lowercase latin ASCII для бордоимени
Я бы там цифры и -_ тоже разрешил
>На Чио я решил, сделав проверку, был ли уже удалён удаляемый пост, но по-хорошему, наверное, стоит ещё оптимизировать, чтобы сначала удалялись треды, затем удалённые посты исключались из bulk'а, и уже затем удалялись одиночные посты.
Как пропатчено правильнее всего конечно, если бы получить всю цепочку удаляемых постов от одного поста было бы нетривиально (ну как в комментах с мультиответами в ветке). Но если уж делать оптимизацию, то разделить Post.Delete на функцию взаимодействия с файлами и функцию взаимодействия с постами, в модерке дропнуть все посты и их детей одним вызовом, затем эти же строки обернуть в Post и позвать только удаление файлов. UNIQUE не забыть только.
>Если нужна доска, где нельзя прикладывать картинки, то не проще сделать Запретить прикладывать картинки галочку?
Лол_и_правда_ведь.жпг
Тогда можно и выпилить. Но аплоад-доски лучше оставить имо, там уж совсем отображение другое. Хотя наверное можно и только через классы и css?
No. 1000603  
> https://bulochka.org/d/res/841.html#1042
Часов 6. Но это не точно.
No. 1000604  
138997837_p0.jpg - (1.53MB, 2508×3541)
1000604
Починил предпросмотр. Убрал setLocale, вроде parse.class.php локалеинвариантный.

Починил удаление, кроме bulk deletion. Там было два основных момента.
  • В отличие от 410, стояло if(!isset($_POST['message'])) $_POST['message'] = ''; перед if(CheckValidPost()). Для чего оно было добавлено? CheckValidPost возвращал бы false, будь message unset'нутым, и тогда уже проверялось бы наличие постов на репорт/удаление. Так что я убрал if(!isset внутрь блока if(CheckValidPost()){}.
  • Поскольку типы у нас теперь строгие, попытка escape'ить $this->post_id вызывала ошибку. Убрал из класса Post mysqli_esc() для ->post_id, ->post_parentid и для ответов БД на запросы.
Расширил допустимые символы в бордоимени до [\w]. Hyphen пока включать не стал; проверить, везде ли posts_ оборачивается в backtick'и и решить, что делать если нужна портируемость. ANSI_SQL?

Переписал addboard. Заменил sleep(5) на spinlock с usleep(100000) шагом. Там точно надо ждать и нету ли каких-нибудь менее затратных примитивов синхронизации для create table?

Не применял линтер.

Применить, проверить, протестировать, смёржить в котокафе, и я бы >>1000497 и >>1000500 уже занялся тогда.

Возвращаясь, к возникшей ситуации с if(CheckValidPost()){}, думаю, было бы неплохо разделить board.php на несколько разных endpoint'ов.

А по posts_, если когда-нибудь убирать текстодоски как отдельный тип, то в догонку такой вопрос. Насколько имеет смысл отказаться от архитектуры, где под каждую доску своя таблица, и вместо этого сделать единный posts с composite key по (boardname, post_id)? Кажется, много чего упростило бы ценой, может, нескольких «лишних» полей в таблице под разные типы досок.
No. 1000605  
>>1000604
>проверить, везде ли posts_ оборачивается в backtick'и
В идеале обязан.
>Там точно надо ждать
Да вроде нет? CREATE TABLE блокирует и так.
>Применить, проверить, протестировать, смёржить в котокафе
Скорее всего я не смогу это сделать раньше 12го.
>Насколько имеет смысл отказаться от архитектуры, где под каждую доску своя таблица, и вместо этого сделать единный posts с composite key по (boardname, post_id)?
Основная проблема это правильно дёргать генератор нумерации для каждой доски, но в рамках одной транзакции если всё делать должно работать.
Вторая проблема это что индивидуальные базы меньше по размеру и проще их обходить, но тут не те размеры.
Так как тут один процесс контролирует всё и делать разный доступ к таблицам не получится, проще слить.
>нескольких «лишних» полей в таблице под разные типы досок
Просто вынести их в отдельную таблицу и через JOIN. Особенно файлы хорошо выносятся.
No. 1000606  
Предлагаю все рефлинки на посты, которые ведут в другой тред, не тот, в котором запощен пост с рефлинкой, помечать маленькой стрелочкой справа: https://www.freepik.com/search?format=search&iconType=standard&query=arrow+link&type=icon
No. 1000607  
81927968_p0.jpg - (1.08MB, 1400×1980)
1000607
>>1000606
Думаю, реализовать можно. Но SVG-значком или юникодом? Если SVG, то интересно узнать, откуда были взяты значки, которые сейчас используются. Стоит взять из той же серии, если есть.

BTW, помнится, звучала как-то также просьба сделать, чтобы на +50 и -100 страницах рефлинки, пока возможно, вели на них же, а не на целый тред. Надо? И если ссылка ведёт извне страницы-отрывка на полную страницу треда, тоже добавлять arrow link?

Also, есть ли идеи, как запилить preview поста, на который ведёт ссылка, для мобилок? Сейчас, если long tap'нуть, то срабатывает, но может выйти за пределы экрана и перекрывается браузерным меню.
No. 1000608  
82886663_p0.webp - (636.24KB, 761×1265)
1000608
>>/b/1005489
'%' — это вам не '%'!

Озадачиться ли мне добавлением японских символов в разметку или можно положить дело в долгий ящик?
No. 1000609  
>>1000607
> Но SVG-значком или юникодом?
Проще(?) Юникодом. Только вот этого устоявшегося символа external link там, кажется, нет. Или не находится по arrow / link substring-ам в имени.
И надо ещё стрелочку выбрать! И проверить её на отображаемость в основных ОСях. Или не надо.
Вон Supplemental Arrows-C даже на дизайнерском Маке у кого-то не рендерится. (у меня так же на Шин)
> Если SVG, то интересно узнать, откуда были взяты значки, которые сейчас используются. Стоит взять из той же серии, если есть.
Вспоминается что-то, что их же конвертировали из растра? А брали их откуда-то ведь как бы не до 2010-го года ещё! Но это те которые вверху.
Да и какая в данном случае "серия"? Что его, в красненький красить или жирно рисовать? Хоть это и устоявшийся в некотором роде символ (в уже старом вебе... который умирает/убивают. Сейчас "устаивается" что-то из Android вроде бургера... www.linux.org.ru/forum/talks/17692956), но как-то почему-то подозреваю вообще вряд ли он там будет, даже там, откуда недавно "облачко ответа" взято.

a.extref::after {
    content: "⬏";
    padding-left: 2px;
    font-size: small;
    text-decoration: none;
    display: -webkit-inline-box;
}

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
> Надо?
Мелочёвка, но если не лень.

> пока возможно
Всмысле, если попадает в страницу-отрывок?

> И если ссылка ведёт извне страницы-отрывка на полную страницу треда, тоже добавлять arrow link?
Хорошая идея!
Ссылка на посты с других досок - очевидное исключение для всей фичи.

Также там не рефлинки, а ссылки No и с номером поста — та которая с номером поста выглядит как [...]/d/res/1000357last50.html#i1000552. Зачем? Выглядит как баг ("last").

> Also
Пока phoneпостингом не занимаюсь, ничего не могу сказать. Пофиг. По-моему (и вообще) там в этом важно быстро запомнить как референсируемый пост визуально выглядит, чтобы потом прыгнув на него, сопоставить с этим flash image и успокоиться. А как иначе? Потому как без hover оно быстро исчезает и всё равно ничего не прочитаешь на не одно-двустрочном посте.

>>1000608
Голосую ненужно. Сейчас это простой способ обойти разметку. Смотрю на эту help-страничку как баран на ворота / табличку с линейным письмом A/B =_= С этими "особенностями работы". С lookahead/behind я ещё в регулярках не разобрался, а тут в разметку подвезли! Книжку надо издавать по этому парсеру! /hj
No. 1000610  
https://en.wikipedia.org/wiki/Supplemental_Arrows-C
No. 1000611  
Опубликуйте же, сколько чего и за какие посты проголосовали пока была ДБК-кармомётка включена!
No. 1000612  
Shared worker сошёл с ума. Долбит при user present на вкладке. Если уйти с неё - перестаёт.
Перезагрузка страницы; убийство в chrome://inspect/#workers; перезапуск по новому посещению не помогают пока (попробовал 2-3 раза).
В localStorage оффсеты постов новые - последние.

До этого в таком же состоянии был найден на 410. Но там хотя бы раз в 10 секунд (что всё равно много) (тоже продолжает).
Хотя бы успокаивается при неактивной, и то хорошо.

Но у меня опять outdated browser ╮( ̄▽ ̄"")╭. 2023 build.

Screencast 2026-01-06-0141.mp4 14.7 MB https://files.catbox.moe/w2g6l1.mp4
Screencast 2026-01-06-410.mp4 10.6 MB https://files.catbox.moe/68yiu8.mp4

Посмотрим что будет после отправки поста.
No. 1000613  
То же безобразие продолжается.
No. 1000614  
>>1000606
А может просто (Cross-thread) добавлять как на 4чане?
В любом случае, это не-жсом делать долго.
No. 1000615  
>>1000612
Дополнение: машинка иногда отправляется и возвращается из sleep. После этого прыгает время. Может, это таймеры сбивает... Но как просто догадка.

>>1000614
> А может просто (Cross-thread) добавлять как на 4чане?
Можно и так, понятнее. Тогда в 50-версиях надо предусмотреть другой текст, (full thread)?
> В любом случае, это не-жсом делать долго.
Навесить класс? Ну не знаю, не смотрел. Но тот PHP и так сильно перерабатывается сейчас.
Можно и жсом. Такого не много, так что неким миганием после загрузки можно будет пренебречь.
No. 1000616  
Так что надо будет мне ещё проверить после перезапуска браузера.
No. 1000617  
faptcha.png - (8.20KB, 90×50)
1000617
В ближайшую неделю или две попробую посмотреть, что там не так.

Пока, наверное, вернуть на if(false), чтобы polling шёл во вкладке.
No. 1000618  
>>1000616
Не исправило.
No. 1000619  
>>1000612
Уточнение, убийство-то помогает, да толку то этого нет если оно при каждом визите восстанавливается.
No. 1000620  
>>1000619
Т.е. не помогает как способ "хоть что-то сделать" или "сбросить состояние" какое-то.
No. 1000621  
125014528_p0.webp - (884.79KB, 2039×2894)
1000621
> var max_navbar_check_delay = true
Нашёл. Указать в конфиге количество миллисекунд больше 1000 (16384 by default) и перегенерировать страницы.
No. 1000622  
>>1000621
Это было поправлено вроде в тот же день.

>>1000605
ВНЕЗАПНО хостер приказывает долго жить, так что перенесём ещё на неделю.
No. 1000626  
72301090_p13.jpg - (22.27KB, 394×524)
1000626
>>1000611
Она была включена всего ничего по времени, и, помнится, там только один или два поста получили Д или Б, или К.

>>1000609
> Сейчас это простой способ обойти разметку.
Eeeeh?
> спойлер
Возможно, стоит сделать описание по-русски, а не одними примерами?

Основная суть в чём.

Есть escape-символ, 【~】. Заставляет воспринимать следующий за ним символ, как обычный текст. Может escape'ить сам себя. Обычно всё почти также просто, как когда пишешь string literal в С и используешь там 【\】 для escape'а кавычки или переноса строки.

Но! Распознаётся тильда, как escape-символ, не перед любым символом, а только непосредственно перед допустимым в текущем контексте тэгом разметки.

Поэтому 【~%%】 => 【%%】 (тильда стоит перед открытием/закрытием спойлера), но 【~%~%】 => 【~%~%】: тильды стоят перед одиночным 【%】, который ничему не соответствует. Вместе с тем, 【~*~*】 => 【**】: тильды стоят перед 【*】, которое соответствует открытию/закрытию курсивного текста.

Есть блок, где разметка отключается. Объявляется через 【``】 или 【[nofmt]】.
【`` 2*x**2 + 3*x - 4 ``】 => 【 2*x**2 + 3*x - 4 】. Чтобы для случаев, когда escape'ить пришлось бы много, был более удобный способ. Разметка также отключается и в code блоках. В этих блоках из символов разметки работает только 【~】.

> особенностями работы
По большей части про поведение в крайних случаях.

> С lookahead/behind я ещё в регулярках не разобрался, а тут в разметку подвезли!
Видимо, не очень удачное описание у меня.

> Особенности работы/Код и nofmt
> `*lookahead* до закрытия``
Про то, что backtick после 【я】 распознаётся, как закрытие ранее объявленного блока кода, а не как первый символ 【``】 тэга. Чем отличается от того, как, скажем, обрабатывается звёздочка. 【* text **】 — это не 【 text *】, а 【* text **】, ибо понимается, как wakaba_italics; text; wakaba_bold.

> [nofmt][code] 1234567890 ~[/nofmt][/code]
Также про то, что будет в этой ситуации: 【[nofmt] 1234567890 ~[/nofmt]. По 【[nofmt]】, parser ищет неза-escape'ленный 【[/nofmt]】, не находит, сбрасывает состояние до момента, когда встретил 【[nofmt]】 и продолжает parse'ить со следующего за этим 【[nofmt]】 символа. Встречает 【[code]】, игнорирует всё, что не 【[/code]】 и не тильды непосредственно перед 【[/code]】, находит этот 【[/code]】 и дальше business as usual. Поэтому тильда перед 【[/nofmt]】 хотя и приводит к тому, что объявление nofmt блока оказывается незакрытым, не исчезает — из-за code блока.

> Распознаётся тильда, как escape-символ, не перед любым символом, а только непосредственно перед допустимым в текущем контексте тэгом разметки.
Возвращаясь к. Недопустимо закрытие неоткрытого блока. Недопустимо открытие уже открытого блока. Недопустимый в текущем контексте тэг разметки понимается, как просто текст: 【This text isn't code ~[/code]】 => 【This text isn't code ~[/code]】 — здесь тильда не исчезает потому, что понимается не как escape-символ, а как текст, поскольку стоит перед текстом, не перед активным тэгом.

Also, в контексте URL'ов тильда не является escape-символом и используется для указания конца ссылки.

Можете давать советы по улучшению end user документации. Можете попробовать, основываясь на parse.class.php, markdown.html и изложенном, написать её сами.
No. 1000627  
Оно опять? бампается после бамплимита.
No. 1000628  
Пора поправить подпостформенный на реальное значение!
No. 1000629  
>>1000627
3次/kawaii тред-то? Но там bump limit не достигнут: постов больше 200, но часть из них с сажей. Так что это ⇩-индикатор не прав.
No. 1000630  
>>1000629
Оно так не работает.

>>1000627
Off-by-one. Fixed.
No. 1000631  
Another relocation completed. >>1000622
No. 1000632  
>>1000631
Может наверное слететь проезд врочем.
No. 1000633  
>>1000631
Gut. Будем надеяться, что этот хост будет стабильнее, чем предыдущий.
No. 1000634  
Ryo не принимается без u, хотя она необязательна.
No. 1000654  
sdn.png - (132.26KB, 1278×424)
1000654
На HYR ввели, почему мы всё ещё не имеем? Arghrghghghhhh!

Предлагаю генерировать включение скрипта хотя бы для картинкотредов, вручную добавляя thread id-ы на сервере.
No. 1000655  
>>1000630
И оно снова бампнулось 201-м ответом.
No. 1000656  
>>1000655
I don't see anything.
No. 1000657  
>>1000656
>>1000653 >>1000654 ну вот такие чудеса. Опять что-нибудь про считается ли ОП-пост за пост входящий в лимит?
No. 1000658  
>>1000657
Нет, Оп-пост не является бампом.
No. 1000659  
139845444_p0.webp - (828.11KB, 2068×2754)
1000659
Возможно, имеет смысл поставить между "Message" и "Preview" один <br> — чтобы столбец с заголовками по получению предпросмотра не растягивался.
Удалить сообщение []
Пароль  
[Mod]