Loading...
Normal, Gallery, Tree

Нитка новин, запитів про можливості та звітів про хиби №25

Двадцять четверта: >>59419
Replies: >>71241
Автор фейкостикера, сделай трёхъязычную версию: украинский, русский, английский.
Replies: >>71118
Второй тред можно удалить?
Replies: >>67799
>>67798
Треба!
Replies: >>67801
>>67790
Пише:
Крива(ва) небірда
politics/mova
fake
А постиця лишень один.
Replies: >>67806
>>67799
Done.
Я думаю немного усложнить концепцию загрузки по ссылкам. Вместо галочки "не загружать" сделаю дропдаун: "только ссылка", "только загрузка", и "загрузить если получится". Сейчас по умолчанию работает третий вариант, который иногда создаёт проблемы. Само собой, это не будет касаться html-ссылок, которые не загружаются никогда.
Replies: >>67805
test
Replies: >>67803
>>67802
И правда. Я посмотрю, в чём там дело, но позже. Это надо дебажить, а ide для борды у меня дома настроена.
Replies: >>67804
>>67803
Фі, прінтами дебаж, шо ти як мавпа.
>>67801
done
>>67800
Fixed. Оказывается код загрузки стикеров был ещё со времён до мультифайла, и немного костыльненько. Стикер резолвится не в файл, как все урлы, а в собственно ссылку на аттач, чтобы не заморачиваться с повторной обработкой файлов. И хранился он в отдельном поле, которое предполагало что он может быть только один.
Replies: >>67807
>>67806
Вообще в формах тот ещё ад. И тут не полностью моя вина, сама джанга очень странно их обрабатывает. Например валидаторы для полей запускаются по мере их парсинга, поэтому если ты хочешь в одном поле обратиться к значению другого, то оно должно в форме стоять раньше. Ну что это за ад?
Replies: >>67823
Итак, у меня остались zen-mode и попробовать повысить производительность. Со вторым не знаю что делать, я уже забыл, как там всё устроено. Да и лень ковыряться в кишках джанги. Лучше подождать, пока её разработчики оптимизируют :3
Replies: >>67823
Ввиду распространения на борде языкового нацизма, предлагаю создателям тредов ставить какой-нибудь специальный тег, который будет определять рекомендательную языковую политику внутри этого треда. В частности, при указании подобного, будет считать нормальным постить языковые стикеры вроде тех, которыми бросаются сейчас в нацполе.
Это никоим образом не означает, что посты на других языках будут баниться. Просто будет указываться, что их в этом треде не любят.
Replies: >>67823
Полный список тегов стал очень большим, и долго открывается. Вдобавок к этому у нас есть поиск, который ищет и по тегам тоже. В связи с этим, я убрал ссылку на список всех тегов, а в обозримом будущем удалю и всю эту страницу. Для навигации давно есть разделы на главной, а ходить по тегам можно через треды.
Replies: >>67823
>>67807
>валидаторы для полей запускаются по мере их парсинга
Шо, відкласти чимось на кшталт промісів не можна?
>то оно должно в форме стоять раньше
Чи не тому форма так дивно скомпонована? Я саме хотів запропонувати три прапорці скомпонувати в ряд, а на вузьких екранах розбивати в колонку.
>>67809
>zen-mode
Це шо? distraction-free?
>попробовать повысить производительность
Куди іще?
>>67814
>специальный тег
До заголовку, чи що?
>>67815
>я убрал ссылку на список всех тегов
Скотиняко, і це замість того, щоб просто зробити паджинацію, або алфавітну навігацію, як на ЛОРі. Автодоповнення-бо у пошуку нема, тож зникне спосіб дізнатися, які взагалі на бірді є мітки. Цяпер я розумію, чом ця борда є криптобордою – тут усе заховане.
Replies: >>67826, >>67827
>>67823
>Чи не тому форма так дивно скомпонована?
Конкретно режим загрузки – поэтому. Остальные просто так поставил.
>Це шо? distraction-free?
Да писали ж недавно. Просмотр одного поста на страницу большим шрифтом, с листанием между ними.
>Скотиняко, і це замість того, щоб просто зробити паджинацію, або алфавітну навігацію, як на ЛОРі.
Это ничего не решает. Теги не предназначены для того, чтобы листать десятки тысяч их.
>Автодоповнення-бо у пошуку нема, тож зникне спосіб дізнатися, які взагалі на бірді є мітки.
Автодополнение есть при создании треда, и начинается с двух символов. Если ты так не можешь найти нужный тебе тег, то с чего ты взял, что искать его пагинованном огромном списке будет проще?
Если вдруг ошибёшься и напишешь неправильный, модератор поправит. К сожалению, как сделать борду полностью автоматизированной без ИИ, я так и не придумал.
>>67823
>До заголовку, чи що?
Нет, к тегам. Вот на джое есть тег Моя Україна, где говорят на мове.
>>67836
Последний таймаут в логе был давно. За сегодня только сообщения, что клиент преждевременно закрыл соединение. Может надо чинить твой браузер?
Replies: >>67870
>>67840
Брешеш, це сервер розриває.
Біґ: пишу politics/mova, вилазить попіп, тисну Ctrl+Enter – попіп не зникає.
Replies: >>68355
>>68001
Я пока не знаю, как это сделать. Две формы отправляются одновременно, первая не успевает обновить время постинга, чтобы вторая его прочитала и остановилась. Не вижу способа предотвратить дабл-постинг на стороне сервера.
Replies: >>68005
>>68002
Маячня якась, глипну згодом, що ти там накрутив, бо ні в біса не поняв, що міша час оновлювати зразу за сабмітом і нащо взагалі його враховувати, а не користати прапорець-блокіратор.
Replies: >>68006
>>68005
>що міша час оновлювати зразу за сабмітом
То что его надо где-то хранить. Сессия это запись в базе. Обе транзакции обработки формы запускаются примерно одновременно, и одна не видит изменения в другой (включая время последнего постинга).
>а не користати прапорець-блокіратор
Аналогично, куда этот флажок засунуть? Борда работает многопроцессно, каждый процесс не знает о флажках другого.
Replies: >>68009, >>68042
>>68006
Я кстати нашёл один способ. Использовать джанговский движок кэша (в моём случае memcached).
Приглашаем в конференцию в Jabber
• Тематика: Криптоанархизм, шифропанк, практическая информационная безопасность и другие сопутствующие темы.
Адрес: ca@conference.securejabber.me
Зеркало jabber сервера: http://giyvshdnojeivkom.onion/
Наша веб доска: http://brchanansdnhvvnm.onion/ca/
>>68006
>Сессия это запись в базе
Йобтвоюміть, до чого тут твоя база, я про фронт.
>Борда работает многопроцессно
JS однопоточний, не верзи дурниць.
Replies: >>68050
@neko, fari esperan lokalizon.
>>68042
>я про фронт
Фронт не может это проверить. Он не знаю, что на браузере пост уже создался, ему сказали timeout и всё. Это должен проверять сервер.
Replies: >>68052
>>68050
До чого тут піст? Його не треба чекати, треба блокувати форму, щоб вона не надсилалася декілька разів підряд.
Replies: >>68053
>>68052
Форма разблокируется после ответа сервера. Сервер ответил - таймаут.
Replies: >>68115
Кто-то там жаловался на то что режимы загрузки непонятные. Поменял тексты.
>>68053
То як їх стільки підряд пролізло, якщо форма під час запиту була заблокована?
>>67903
Вточнення: біґ не Gecko-специфічний.
Пропонуйкую такий вигляд форми завантаження. Якщо користувач заповнив:
1) Ф, ФП — використати файл.
2) ФА, ФПА — використати файл і додати на нього аліас.
3) П — використати посилання.
4) ПА — використати посилання і додати на нього аліас.
5) А — використати аліас.
Replies: >>68389
>>68388
Безумие какое-то. Для добавления алиаса лучше сделать кнопочку рядом с файлом, с диалогом ввода названия. А выводить список и позволить удалять их – в настройках.
Это для личных алиасов, хранимых в сессии. Для общедоступных стикерпаков надо придумать что-нибудь поинтереснее. Это потребует переработку алиасов в принципе, поскольку сейчас это поле у картинки. А при наличии стикерпаков в идеале ничего не должно мешать иметь на одну и ту же картинку несколько алиасов. Также нужно как-то ограничить владение стикерпаком одного человека.
Replies: >>68390, >>68391
>>68389
Я постараюсь заняться реализацией стикерпаков хотя бы на том уровне, чтобы перенести в них нынешние алиасы, но добавить интерфейс для просмотра доступных стикеров (он уже есть, но ниоткуда не вызывается, потому что там есть сложности по определению пака). Будет собственно пак с именем, и в нём алиасы опять же с именем (скорее всего, уникальным глобально, а не в рамках пака). Затем можно будет добавить мини-админку пака, к которому можно будет привязать пароль и по нему добавлять новые стикеры.
>>68389
>с диалогом ввода названия
Діалог потребує JS на фронтенді, або відділення форми завантаження файлів від створення постів. За проектування я врахував відсутність такої необхідності.
>Также нужно как-то ограничить владение стикерпаком одного человека
Це ж анонімна бірда, навіщо? Тим паче, із можливістю додати кілька аліасів (щоб не було війн, як на jpg.to). Сміттєві назви можуть видаляти модератори.
Replies: >>68392, >>68393
>>68391
>Діалог потребує JS на фронтенді
Не обязательно, можно сделать fallback на отдельную страницу с формой. Но в принципе 2017 год, можно одну фичу и на js завязать.
>Це ж анонімна бірда, навіщо?
Стикерпак предполагает целостный набор, выдержанный в одном стиле или одной тематике. Кто должен следить за его целостностью?
Replies: >>68394
>>68391
>Сміттєві назви можуть видаляти модератори.
Задолбаешься удалять, если юзер будет скриптами сотни алиасов добавлять на каждую картинку. Да ещё поди угадай, кто это был, чтобы забанить. Нет, тут надо сделать так, чтобы были именно цельные паки, и ты их себе добавлял в избранные вручную. Тогда пусть хоть обмажутся ими, если никто не добавил, то они не будут видны и не будут никому мешать.
Replies: >>68395
>>68392
>можно сделать fallback на отдельную страницу с формой
Суть у тому, що зараз процесс завантаження файлів на бірду нерозривно пов'язаний із створенням поста. Із якимось додатковими формами доведеться їх відокремити.
>Но в принципе 2017 год
Відколи ти хіпстором став?
>можно одну фичу и на js завязать
Це ж напівдаркнетівська бірда, чи як? Даркнет із увімкеним JS відвідують тільки відчайдухи й повзкрокодили.
>Стикерпак предполагает целостный набор, выдержанный в одном стиле или одной тематике
Тематичних ниток це теоретично теж стосується, але практично ніхто не заважає мені до них срати і обливати лайном апологетів тематики нитки.
>Кто должен следить за его целостностью?
Сеча, ШІ або ніхто.
>>68393
>если юзер будет скриптами сотни алиасов добавлять на каждую картинку
А якщо юзер просто завайпає бірду постами? У чому різниця? Я проводив експеримент: простим скриптом всього за дві години скотив новостворену нитку до бамплямату. А тепер уяви, що буде, якщо робити це з ботнету або через пачку проксі.
Replies: >>68398
>>68395
Посты легко откатить – к ним айпишник привязывается. В случае необходимости даже бамплимит снять можно. С проксями конечно сложнее, но и там можно исхитриться. Всё-таки бан это одна кнопочка, а новый прокси ещё найти надо.
Replies: >>68403
>>68398
Astfel încât să legați IP-ul de numele de autocolant. Care este problema?
Котик, верни влорчан загрузку картинок.
>Server error: timeout / timeout
Место всё?
Replies: >>68676, >>68677
>>68675
Тест картинки.
>>68675
Попробуй щас. Там были очень странные ошибки в логе, я просто перезагрузил.
Replies: >>68678
>>68677
Фигвам. Файл 1827075 байт.
>Server error: timeout / timeout
Replies: >>68679, >>68680
>>68678
Я не вижу никаких ошибок ни в логах борды, ни в логах nginx'а. Попробуй сказать мне код ответа и точную временную метку запроса.
Replies: >>68683, >>68691
>>68678
Probably you have a slow connection too? I fucked @neko's brain with a flexible timeout for several years and still did not get any result because it has everything working on its localhost. I don't think you're lucky enough to reach something else.
Replies: >>68681, >>68693
>>68680
Да ты охуел. Я не на локалхосте, и у меня все таймауты настроены. Логи говорят что это ты обрываешь соединение.
Replies: >>68684
>>68679
Hmm, does the board work properly if a client computer have incorrect time settings?
>>68681
So why is Wireshark showing a FIN packet from the board?
>>68679
Ну вот я в 19:10 (Киев) отправляю запрос прямо в этот тред. Девтулзы в Firefox пишут передано 592,16 КБ. Но уже всё, Server error: timeout / timeout.
Replies: >>68692, >>68695
>>68691
Причём ещё вчера у меня постинг картинок работал.
Replies: >>68696
>>68680
Nah, it’s pretty fast actually.
>>68691
Статус ответа какой?
Replies: >>68720
>>68692
Я проверю логи ещё раз, когда буду дома. А это скорее всего завтра.
Replies: >>68702
Replies: >>68699
>>68698
А вот и запостилось.
>>68696
Don't you have remote access to ya homme?
>>68695
bump
Это очень бы помогло.
И вот, мы снова на связи.
Печальный итог экспериментов с btrfs: рутовая ФС посыпалась, растеряв файлы в самых разных местах. Пока выглядит так, что потерялись именно файлы неборды. Теперь корень будет работать на ext4.
Replies: >>68722
>>68721
P.S. check –repair её не взял, он падал с сегфолтом. Всякие опасные его опции вроде –init-extent-tree уходили в бесконечный цикл. Пришлось делать btrfs restore, который копирует все выживышие файлики в безопасное место.
Replies: >>68723, >>68743
>>68722
p.p.s Сделаю тред с подробной историей моих отношений с этой ФС, но сначала надо прийти в себя и приготовить поесть.
>>68726
Отныне трипкоды будут отделяться двумя решётками.
Replies: >>68741, >>68753
>>68738
лул
>>68722
>btrfs
Лол.
>>68738
What if I want to place two octothorps in the title? That's not a solution, the escaping must be universal, for example, \# for octothorp and \\ for a single backslash. And did you think about trip code users that would not notice the change at time and would accidentally expose their trip codes?
Replies: >>68766
>>68753
Overengineering for a theoretical problem.
Replies: >>68777
>>68766
Nope. Any special sequence of symbols must be somehow escaped and published as is.
Replies: >>68779
>>68777
>must
That’s a strong word without any support behind it.
Replies: >>68783
>>68779
Even the crazy LORcode parser has a way to omit its codes by using [[ ]]. Your piece of bullshit written to be better than L.O.R. — hasn't. I urinate your face, bastard.
Replies: >>68796
>>68783
LORcode parser does not work in titles, fuckface.
Replies: >>68811
>>68796
So why are title to be discriminated?
Replies: >>68813, >>68826
>>68811
Укатайте этого наркомана.
Replies: >>68819
>>68813
I HAVE A RIGHT TO PLACE ANY NUMBER OF OCTOTHORPS IN THE POST TITLE! WHY IS MY RIGHT IS NOT RESPECTED?! WHERE IS THE ADMINISTRATOR? I HAVE TO HAVE A STRONG TALK WITH HIM!
Replies: >>68820, >>68858
>>68819
No, you haven't. Svinota have no rights there.
Replies: >>68855
>>68811
Because it can. Белку вон в своё время забанили за популяризацию заголовков.
Replies: >>68856
>>68820
Does swinota haven't rights on a swinoboard? Are you silly?
>>68826
So threads should not have a title?
Replies: >>68857
>>68856
Фабрики рабочим, землю крестьянам, тайтлы нитям!
>>68819
Понимаешь, чтобы эскейпить что-то, нужна либо регулярка, либо полноценный конечный автомат. А это уже жирновато для одного символа. Тем более я не могу представить себе ситуацию, когда тебе захочется вставить две решётки в заголовок.
Replies: >>68861, >>68972
>>68858
Он просто поехавший, не слушай его.
Предлагаю таки в .post белой темы цвет box-shadow поменять на #ccc, что б не так сильно в глаза бросалось.
Replies: >>68901
>>68897
Так поменяй и закоммить.
Replies: >>68911
>>68901
Ты ж на битбакете где-то был, а я — нет. Кстати, тот мой email сдох (надоело возиться с доменом и стало жалко денег), что в /authors/ валяется.
Replies: >>68912, >>68987
>>68911
Ничего тебе не мешает закинуть новый имейл, тем же способом. А на битбакете зарегаться минутное дело. Просто мне неудобно под собой коммитить чужие изменения, чтобы потом видеть что у борды один разработчик по статистике.
Replies: >>68915, >>68916
>>68912
И не на кого сваливать, если что не так, небось!
>>68912
Кстати, там всё ещё не гит, да? Я кроме него ничего не знаю (да и его так себе).
Replies: >>68919
>>68916
Есть что-то вроде git-hg, чтобы из гита пушить в меркуриал. Я просто гита не знаю, и пока он мне не нужен (ибо на работе тоже меркуриал). Другое дело если б у борды было много разработчиков, которые проголосовали бы за гит, но увы.
Replies: >>68920
>>68919
Голосовать то они могут, вот бы ещё писали код :)
Replies: >>68922
>>68920
Кто "они"? Если они ничего не коммитят, то они не разработчики. Сейчас я остался один, и то давно уже ничего существенного не пишу. Вся надежда на отпуск, там будет много свободного времени и возможно желания, когда я смогу наконец дописать парочку фич.
Replies: >>68923
>>68922
Я всяко питон на уровне hello world только знаю. Я больше по рубям, да и то, с теми же рельсами мне возиться с low-level стаффом не хочется.
Replies: >>68924
>>68923
Так делай фишки на js. Я вон плеер уже джва года жду.
Replies: >>68925
>>68924
Какой плеер, который сохраняется при переходах между страницами, как на Jamendo? Это ж все переходы на аякс переводить надо. Не то чтобы этого нельзя сделать было, но ну его нафиг, как по мне.
Replies: >>68926
>>68925
Та не. Просто аудио плеер вместо просто тега <audio>. Который будет фоном показывать марочку, позволять ставить на паузу и регулировать звук. А в идеале чтобы ещё где-нибудь в уголочке он при скролле отображался, и позволял переходить по трекам в рамках треда.
Replies: >>68927
>>68926
Так браузерный же это всё позволяет делать. Вот про переходы и прибитие, конечно, можно подумать. Надо подумать как сделать.
Replies: >>68933
Лови пулл-реквест на смену CSS’а в белоснежке что ли. Редактирую прямо в вебморде, лол.
Replies: >>68929, >>68931
>>68928
Ох ты ж, какой там интерфейс контрастный запилили…
Replies: >>68930
>>68929
Инновации.
>>68928
Проверяй, я обновился.
Replies: >>68932
>>68931
Вроде всё норм.
>>68927
>Так браузерный же это всё позволяет делать
Я хочу уникальный интерфейс поверх марочки. В одном из тредов были примеры.
Replies: >>68934
>>68933
WinAMP решил изобрести? Жуть какая.
Replies: >>68936
>>68934
Почему винамп? У всех сайтов с музыкой свои плееры. Унифицированного стандарта никто не придумал пока.
Replies: >>68937
>>68936
Браузерный норм. Все кастомные на жс — норкомания и/или глюкота.
И новый email лови.
Вообще с плеером такая штука, тут же встроены <audio>, соответственно я не могу просто один встроить и в нём все играть (без жса тогда не будет работать, нехорошо). Надо искать какой элемент проигрывается, отслеживать, не включился ли другой…
Replies: >>68938
>>68937
>Браузерный норм.
Это не совсем плеер. Это просто отображение конкретного файла.
Replies: >>68939
>>68938
Кинь ссылку на пример, если найдёшь.
Replies: >>68941
>>68939
Я про встроенный плеер. А то что я хочу – это нечто близкое к тому что есть у вконтакта, например.
Replies: >>68942
>>68941
У меня нет вконтакта, родной. Заскриншоть :)
Replies: >>68943
Replies: >>68944
>>68943
А чем это лучше дефолтного? Или ты хочешь, чтобы был отдельный режим отображения треда? Что-то вроде «только аудио»?
Replies: >>68945
>>68944
Тем что дефолтный проиграл один трек и замолк. А тут он может подряд играть все, если это музыкальный тред.
>Или ты хочешь, чтобы был отдельный режим отображения треда? Что-то вроде «только аудио»?
Интересная задумка, но я думал о другом. В идеале это должен быть вкладконезависимый плеер через воркеры, которые будет останавливать предыдущий трек, если ты запустил новый, и отображать где-то что у тебя играется.
Replies: >>68946
>>68945
Просто на скрине у тебя куча названий с кнопками и текстом. Прекреплять к экрану такую хумру это закрыть большую часть окна. Если только верхнюю линейку, то ещё может быть. Но, опять-таки, что делать, если я начну проигрывать сразу 2 <audio>? Они же все встроены :)
Воркеры могут быть выключены. Собственно, а они разве вообще могут звук выводить?
Replies: >>68947
>>68946
>Прекреплять к экрану такую хумру это закрыть большую часть окна.
Опционально, оно будет вылазить по кнопочке где-то вверху.
>что делать, если я начну проигрывать сразу 2 <audio>? Они же все встроены :)
Они не будут встроены. Ты при загрузке будешь убирать встроенные и заменять их своей реализацией на js.
>Воркеры могут быть выключены. Собственно, а они разве вообще могут звук выводить?
Без воркеров делаем по одному на вкладку. Выводить звук им не нужно, они будут только получать статус, выводится ли он где-нибудь, и в случае закрытия вкладки переводить звук на другую (т.е. посылать ей сигнал запустить файл на такой-то секунде).
Replies: >>68952
>>68947
Встроенные могут делать прелоад. Впрочем, можно выключить прелоад и проблема исчезнет. А чем заменить, просто кнопкой play?
>Без воркеров делаем по одному на вкладку. Выводить звук им не нужно, они будут только получать статус, выводится ли он где-нибудь, и в случае закрытия вкладки переводить звук на другую (т.е. посылать ей сигнал запустить файл на такой-то секунде).
Небольшая пауза, наверное, возникнет в проигрывании. Причём поскольку юзер не знает, в какой вкладке играется, то потенциально при закрытии каждой отдельной вкладки борды будет это. Да и следующую мелодию тогда никак не получить, разве что делать аякс запрос к странице каждый раз… то ещё извращение. Вообще, как по мне, это слишком усложнённая система. Всё равно весь тред целиком отображается и открывать один и тот же в разных вкладках особого смысла нет.
Replies: >>68953
>>68952
>Встроенные могут делать прелоад.
И что? Если ты удалишь элемент из дома, он всё равно будет проигрываться?
>А чем заменить, просто кнопкой play?
Там будет картинка с марочкой в зависимости от типа файла.
>Вообще, как по мне, это слишком усложнённая система.
Согласен. От шаринга между вкладками пока можно отказаться, и сосредоточиться на проигрывании в рамках одного треда.
Replies: >>68955
>>68953
>И что? Если ты удалишь элемент из дома, он всё равно будет проигрываться?
Лишняя работа браузеру (раз уж мы его выкидываем всё равно). Но, в общем-то, отключить можно, так что живём.
>Согласен. От шаринга между вкладками пока можно отказаться, и сосредоточиться на проигрывании в рамках одного треда.
Подумаю, что можно запилить. Прямо сейчас нет, но завтра гляну. В теории то ничего сложного, в общем-то, нет. Тут должны поползти грабли.
Наверное, во всплывающий элемент с инфой лучше встроить такой же стандартный <audio>? Можно реализовывать свой недоплеер на жс (который будет создавать невидимый audio), но это ж гемор, UI пилить (перемотка, громкость…).
Что делать с добавлением новых постов в тред? Либо ты добавляешь какой-то callback (или вообще pubsub взять готовый, что б не привязываться жёстко?), либо я запиливаю mutation observer и любые изменения узлов страницы этим же скриптом и хапаются.
Replies: >>68956
>>68955
>Лишняя работа браузеру
Прелоад это в принципе лишняя работа. Вдруг ты этот файл не собирался слушать, а зашёл только тред почитать. Так что предполагаю что браузер её выполняет где-то в конце с низшим приоритетом, и юзер ничего не заметит.>Наверное, во всплывающий элемент с инфой лучше встроить такой же стандартный <audio>?
Зачем?
>Либо ты добавляешь какой-то callback
Ну там есть где-то метод который вызывается при добавлении поста, просто добавь туда свой вызов. Ищи в thread_update.js
Replies: >>68957
>>68956
>Зачем?
Чтобы GUI не рисовать заново, очевидно. А проигрывание звука без возможности контроля хотя бы уровня громкости это ужасно (в смысле юзабилити).
Replies: >>68958
>>68957
Так регулятор тоже надо нарисовать.
Replies: >>68959
>>68958
Ты будешь рисовать слайдер? Будешь довольствоваться браузерным страшным инпут-рейнджем? :) Всё это лишняя работа, которая никому не упёрлась.
Replies: >>68960
>>68959
Это дизайн. По-твоему лучше когда у тебя нечто что браузер отрисовал неизвестно как (потому что в разных браузерах и разных версиях оно по-разному выглядит)?
Replies: >>68961
>>68960
Это зависит от а) насколько дефолтнобраузерный виджет ужасный; и б) какой у тебя сайт. Борда всё-таки не вконтакт. Направлять излишние усилия на непрофильные фичи, я считаю, бессмысленно.
Replies: >>68962
>>68961
>Это зависит от а) насколько дефолтнобраузерный виджет ужасный
Дело в том, что он разный. Даже под ужасный можно подстроиться, но тут ты просто не знаешь, из какого браузера к тебе зайдут.
>Направлять излишние усилия на непрофильные фичи, я считаю, бессмысленно.
Почему излишние? Ты ничего другого не предлагаешь сделать для борды.
Replies: >>68963
>>68962
Да и чёрт с ним, пусть разный. Пользователь пользуется каким-то одним, ему пофиг, что там разное.
>Почему излишние? Ты ничего другого не предлагаешь сделать для борды.
Потому что борда это борда, а не музыкальный плеер. Меня и так всё устраивает. Как по мне, так борда вообще без js может жить.
Replies: >>68964
>>68963
>Пользователь пользуется каким-то одним, ему пофиг, что там разное.
Я имею в виду, что разработчик подстроить дизайн плеера под конкретный дизайн элемента не может. Он по-разному везде отображается.
>борда это борда, а не музыкальный плеер
А что мешает совмещать? Если сюда можно загрузить музыку, то это бордоплеер.
>Как по мне, так борда вообще без js может жить.
Может, но разве это жизнь? Неборда почти все элементы поддерживает без js, и музыку играть может. Но со включенным js она умеет больше.
Replies: >>68965
>>68964
>Он по-разному везде отображается.
А в линуксе контролы не такие, как в виндовсе. И… что?
>А что мешает совмещать? Если сюда можно загрузить музыку, то это бордоплеер.
Высокие затраты/маленький профит. Как вариант, попробуй поискать готовые плееры для чего-то подобного. Может они уже есть, а мы тут сейчас костылять начнём, пройдя все грабли, которые уже пройдены. У меня есть опыт костыляния виджетов и мне не нравится это действо от слова совсем :}
>Может, но разве это жизнь? Неборда почти все элементы поддерживает без js, и музыку играть может. Но со включенным js она умеет больше.
Это и есть жизнь! Из всего, что есть приятного на js, это апдейт треда новыми комментариями, даже байты экономит переданные. Но, в общем-то, на борде можно жить и без этого. По крайней мере для меня это нормально.
Replies: >>68966
>>68965
>А в линуксе контролы не такие, как в виндовсе. И… что?
И поэтому их следует избегать либо отрисовывать вручную стилями.
>Это и есть жизнь!
Можно через линкс борду читать, вот уже где жизнь. Но js придумали не зря.
Replies: >>68968
>>68966
>И поэтому их следует избегать либо отрисовывать вручную стилями.
Извращенецъ.
>Можно через линкс борду читать, вот уже где жизнь. Но js придумали не зря.
JS придумали на коленке, а могли бы взять нормальный язык. Ну и «придумали не зря» и «пихать во все дыры» всё-таки вещи немного разные :3
Replies: >>68970
>>68968
>JS придумали на коленке, а могли бы взять нормальный язык.
Так вебасм уже придумали. Но я нормальных языков не знаю, поэтому пусть будет js.
Replies: >>68971
>>68970
wasm не готов, не может пока DOM дёргать, AFAIR.
>>68858
>А это уже жирновато для одного символа
When did you become a bytefucker?
>я не могу представить себе ситуацию
## SHOCK VIDEO ##
Replies: >>68973, >>68986
>>68972
>## SHOCK VIDEO ##
А за это вообще в приличном обществе канделяброй по морде бьют.
>>68972
>## SHOCK VIDEO ##
А с одной решёткой нельзя?
Replies: >>69160
>>68911
>надоело возиться с доменом и стало жалко денег
That's why personal mail servers are unneeded.
Replies: >>68989, >>69023
>>68987
Персональные и сторонние сервера подвержены разным проблемам. Только персональный – это всё-таки либо облако, либо локальный компьютер, а не хостинг про который можно забыть или потерять данные.
Replies: >>69174
Что делать с заголовками мелодий? Взять их неоткуда. Либо прикручивать 100500 парсеров на js (лол), либо они уже должны быть на странице написаны в data-атрибуте, который я смогу прочитать, либо вообще не показывать.
Replies: >>69038
>>68987
Электронная почта вообще не нужна и должна умереть, например.
Replies: >>69039
>>69022
>Что делать с заголовками мелодий?
А зачем они нужны? Берём заголовок поста, если автор не прописал – берём начальные N символов текста. Если автор поста написал там хуиту – его проблемы.
>>69023
А чем заменить? Битмесседж имеет недостатки by design, wave не взлетел, а больше убийц почты я не припоминаю.
А вот как выглядит плеер в телеграме, например. Но это не лучший пример, он мне не нравится.
test
Опять борду ломал?
Replies: >>69064
>>69063
Не знаю, у меня всё работало. Но ошибки какие-то странные в логе были, так что я на всякий случай накатил миграцию и перезапустил.
Replies: >>69065, >>69069
>>69064
PS Я там немного синк шатаю, решил выпилить версии за ненужностью.
Я немного изменил протокол синка. Всем кто его использует желательно обновиться, иначе может работать неправильно.
>>69064
В /all/ было нормально, а при заходе в треды падало с 500 всю ночь.
Replies: >>69073
>>69069
Я предполагаю что это как-то связано с версиями, которые я удалил. Хотя у меня вроде всё заходило. Короче если сейчас всё норм, забудем об этом.
Нам надо срочно пилить больше фич. А то этих тредов ещё 25, а тах уже 44.
Replies: >>69075, >>69175
>>69074
>тах
*тех
Хватит ломать борду. Я так скрипт никогда не допишу :)
Как в этом вашем битбакете форкнуть репу?
Кстати, что за синтаксис в neboard/boards/templates/boards/thread.html?
Т.е. мне нужно добавить блок для плеера. Я могу просто создать блоки по аналогии с тем, что уже есть (и отдельным названием) или просто скопипастить HTML’ку виджета без создания блоков?
Replies: >>69084
>>69078
Тебе не нужен блок. Блок это такая штука, от которой можно наследовать шаблоны. Блок плеера будет сделать в питон-скрипте, где делается отрисовка файлов.
Replies: >>69088
>>69084
>Блок плеера будет сделать в питон-скрипте, где делается отрисовка файлов.
Шо? Куда совать то разметку в итоге?
// Алсо, я всё ещё не понимаю, как сделать форк репы, чтобы она показывалась у меня в битбакете.
Replies: >>69124
Нека, чем скорее ты ответишь, тем скорее ты получишь свой (какой-никакой) плеер!
>>69088
>я всё ещё не понимаю, как сделать форк репы, чтобы она показывалась у меня в битбакете
Никогда не пробовал.
>Куда совать то разметку в итоге?
boards/models/attachment/viewers.py
Replies: >>69138
>>69124
Эээ… и как ты хочешь увидеть от меня пулл-реквест, если я не знаю как это сделать в этом вашем битбакете? Вот что бы там не говорили про гитхаб, там таких непоняток нет.
>boards/models/attachment/viewers.py
Я правда вижу разметку в коде? Зачем так жить?
И это, похоже, не то. Плеер то 1 на страницу только, в конце body (но только внутри тредов, где и только подключаться должен соответствующий жс).
>>68986
That's not so awesome.
Replies: >>69167
>>69160
Use these, Luke:
## AWSUM ##
♯♯ AWSUM ♯♯
⧣⧣ AWSUM ⧣⧣
﹟﹟ AWSUM ﹟﹟
Replies: >>69176
В общем, запиливай сам. Суть такова:
Разметка (где-то перед </body>):
<div class="player-widget" id="player-widget">
<div class="player-item"><button class="player-button" id="player-prev" title="Go previous" type="button">⬅</button></div>
<div class="player-item"><button class="player-button" id="player-next" title="Go next" type="button">⮕</button></div>
<div class="player-item"><button class="player-button" id="player-repeat" title="Repeat one" type="button" role="checkbox" aria-checked="false">↶</button></div>
<div class="player-item"><button class="player-button" id="player-repeat-all" title="Repeat all" type="button" role="checkbox" aria-checked="false">⭮</button></div>
<div class="player-item"><audio class="player-audio" id="player-audio" controls="controls" preload="metadata"></audio></div>
<div class="player-item"><div class="player-title"><a class="player-title-link" id="player-title-link"></a></div></div>
</div>
Стили:
footer.navigation_panel {
margin-bottom: 0;
}
.player-widget {
display: none;
width: 100%;
justify-content: flex-start;
align-items: center;
box-sizing: border-box;
padding: 2px 10px;
position: fixed;
z-index: 5;
bottom: 0;
left: 0;
background: #1a1a1a;
color: #fff;
}
.player-widget.active {
display: flex;
}
.player-item {
text-align: center;
vertical-align: middle;
}
.player-item:first-child,
.player-item:nth-child(2),
.player-item:nth-child(3),
.player-item:nth-child(4) {
flex: none;
}
.player-item:last-child {
flex: 100 1;
}
.player-item:not(:first-child) {
margin-left: 10px;
}
.player-button {
box-sizing: border-box;
width: 35px;
height: 35px;
background: #fff;
color: #1a1a1a;
padding: 0;
border: none;
font-size: 21px;
}
.player-button[aria-checked="false"] {
text-decoration: line-through;
}
.player-button[aria-checked="true"] {
font-weight: bold;
}
.player-quick-jump {
box-sizing: border-box;
width: 3ex;
height: 3ex;
background: #1a1a1a;
color: #fff;
padding: 0;
border: none;
}
.player-audio {
margin: 0;
width: auto;
}
.player-title {
overflow: hidden;
white-space: nowrap;
}
.player-title-link {
text-decoration: none;
}
[user]media[/user] (max-width: 799px) {
.player-widget.active {
display: block;
text-align: center;
}
.player-item {
display: inline-block;
}
.player-item:last-child {
display: block;
margin-left: 0;
}
}
Скрипт:
'use strict';
function NeboardAudio(css_rule)
{
this.list = [];
this.current_index = null;
this.bound_quick_jump_handler = this.quickJumpHandler.bind(this);
this.initUi();
// Populate list.
var elements = document.querySelectorAll(css_rule);
for (var i = 0, len = elements.length; i < len; ++i) {
this.addElement(elements[i]);
}
}
NeboardAudio.prototype.initUi = function ()
{
this.ui_base = document.getElementById('player-widget');
document.getElementById('player-prev').addEventListener('click', this.playPrev.bind(this), false);
document.getElementById('player-next').addEventListener('click', this.playNext.bind(this), false);
this.ui_repeat = document.getElementById('player-repeat');
this.setRepeat(
this.ui_repeat.getAttribute('aria-checked') === 'true'
);
this.ui_repeat.addEventListener('click', this.toggleRepeat.bind(this), false);
this.ui_repeat_all = document.getElementById('player-repeat-all');
this.setRepeatAll(
this.ui_repeat_all.getAttribute('aria-checked') === 'true'
);
this.ui_repeat_all.addEventListener('click', this.toggleRepeatAll.bind(this), false);
this.ui_audio = document.getElementById('player-audio');
this.ui_audio.addEventListener('ended', this.maybeAdvanceList.bind(this), false);
this.ui_link = document.getElementById('player-title-link');
}
NeboardAudio.prototype.repadBody = function ()
{
document.body.style.paddingBottom = getComputedStyle(this.ui_base).height;
}
NeboardAudio.prototype.addElement = function (el)
{
// New list item.
var list_item = {};
list_item.src = el.getAttribute('src');
list_item.title = '';
var post = el.parentNode.parentNode;
var title = post.querySelector('.title');
if (title && title.textContent.length) {
list_item.title = title.textContent;
} else {
var message = post.querySelector('.message');
if (message) {
list_item.title = message.textContent.trim().substring(0, 150);
}
}
list_item.post_id = post.getAttribute('id');
this.list.push(list_item);
// Initialize widget state if needed.
if (this.current_index === null) {
this.jumpTo(0);
this.ui_base.classList.add('active');
this.repadBody();
window.addEventListener('resize', this.repadBody.bind(this), false);
}
// Replace audio element with a button.
var el_parent = el.parentNode;
var button = document.createElement('button');
button.setAttribute('class', 'player-quick-jump');
button.setAttribute('title', 'Play');
button.setAttribute('data-index', this.list.length - 1);
button.textContent = '⏵';
button.addEventListener('click', this.bound_quick_jump_handler, false);
el_parent.insertBefore(button, el);
el_parent.removeChild(el);
}
NeboardAudio.prototype.jumpTo = function (index)
{
if ((index >= 0) && (index < this.list.length) && (index !== this.current_index)) {
this.current_index = index;
this.ui_audio.setAttribute('src', this.list[index].src);
this.ui_link.textContent = this.list[index].title;
this.ui_link.setAttribute('href', '#' + this.list[index].post_id);
}
}
NeboardAudio.prototype.play = function ()
{
this.ui_audio.play();
}
NeboardAudio.prototype.playNext = function ()
{
var len = this.list.length;
if (len > 1) {
var new_index = this.current_index + 1;
if (new_index >= len) {
new_index = 0;
}
this.jumpTo(new_index);
this.play();
}
}
NeboardAudio.prototype.playPrev = function ()
{
var len = this.list.length;
if (len > 1) {
var new_index = this.current_index - 1;
if (new_index < 0) {
new_index = len - 1;
}
this.jumpTo(new_index);
this.play();
}
}
NeboardAudio.prototype.quickJumpHandler = function (ev)
{
var button = ev.currentTarget;
var index = parseInt(button.getAttribute('data-index'), 10);
this.jumpTo(index);
this.play();
}
NeboardAudio.prototype.setRepeatAll = function (flag)
{
if (flag) {
this.ui_repeat_all.setAttribute('aria-checked', 'true');
} else {
this.ui_repeat_all.setAttribute('aria-checked', 'false');
}
}
NeboardAudio.prototype.toggleRepeatAll = function ()
{
this.setRepeatAll(this.ui_repeat_all.getAttribute('aria-checked') === 'false');
}
NeboardAudio.prototype.setRepeat = function (flag)
{
if (flag) {
this.ui_repeat.setAttribute('aria-checked', 'true');
} else {
this.ui_repeat.setAttribute('aria-checked', 'false');
}
}
NeboardAudio.prototype.toggleRepeat = function ()
{
this.setRepeat(this.ui_repeat.getAttribute('aria-checked') === 'false');
}
NeboardAudio.prototype.maybeAdvanceList = function ()
{
if (this.ui_repeat.getAttribute('aria-checked') === 'true') {
this.ui_audio.play();
} else if (this.ui_repeat_all.getAttribute('aria-checked') === 'true') {
this.playNext();
}
}
document.addEventListener(
'DOMContentLoaded',
function (){
window.neboard_audio = new NeboardAudio('.post audio');
},
false
);
Тут используется стандартный браузерный <audio>, поэтому насколько это выглядит нормально или не очень зависит от браузера. Дополнительные кнопочки можешь постайлить сам, как хочешь. В Firefox мне норм.
Всё это нужно только внутри тредов, очевидно.
Тред для тестирования: >>40171
Естественно, сначала потренируйся на кошках, не бросай сразу в продакшен™, мало ли что.
Replies: >>69178
Ну и рекомендую на <audio> в самом треде сделать preload="none".
Кстати, локализации нет — запили.
Алсо, при добавлении новых постов вызывай window.neboard_audio.addElement(audio_element). Где audio_element — какой-то <audio>, именно он сам, а не его жквери обёртка (жквери у меня тут не используется вообще). Желательно это делать до того, как ты пост добавишь на страницу.
>@media
Чини парсер кода, там собачка :)
>>68989
A local computer is an easy victim for police and natural disasters. Data centers are much more steady.
>>69074
I'll quickly bump it up to 50 if you allow me to respond with 10 shame stickers to posts in Russian in this thread.
>>69167
I see rectangles, you fucking Unicode dumbass.
Replies: >>69184
>>69170
Why are you reinventing a wheel here? Mine one is almost done, it only has some issues with Firefox compatibility and performance.
Replies: >>69185, >>69208
>>69176
Луддиты должны страдать. По определению.
Replies: >>69190
>>69178
Когда допилишь тогда и приходи.
Replies: >>69191
>>69184
Why am I luddite?
>>69185
There is a high probability that the board won't need a player at that time because it will already have one.
Replies: >>69194, >>69196
>>69191
Всегда можно заменить что-то на что-то другое, если оно лучше.
>>69191
Нихрена. Я не буду пилить плеер, потому что фронт-энд это не моё. Я лучше синк ещё попилю или стикеры.
Replies: >>69202
>>69196
Это он на код выше намекает.
>>69178
>2017-02-07
>almost done
@neko, запили скрытие постов, АТО твой невыложенный хряк заебал вайпать треды, а меня заебало мотать десятки пустых экранов.
Replies: >>69691
>>69677
Москалики повинні страждати.
Начал работу над стикерами. Для начала, можно добавить несколько стикеров на одну картинку. Теперь нужно подумать, как красиво оформить это в паки и дать возможность пользователям добавлять свои алиасы.
Replies: >>69712
>>69710
PS В качестве побочного эффекта, алиас не будет показываться под картинкой в постах, поскольку для этого пришлось бы делать отдельные тяжёлые запросы на каждую картинку. Вместо этого, желающие могут посмотреть (пока только полный) список доступных стикеров в справке (внизу формы постинга). На самом деле там есть и список "по категориям", но стикеров не так много, чтобы имело смысл его делать доступным.
Прошу прощения, была проблема с постингом без стикера.
Присылайте свои идеи, как лучше оформить стикерпаки. Требования:
1) Устойчивость к флуду. Т.е. нельзя просто открыть форму создания пара, иначе их насоздают скриптами миллиарды.
2) Каждый создающий публичный пак должен иметь возможность изменять его приватно. Т.е. нужен какой-то способ ограничения доступа к своему паку, будь то пароль или сессия.
3) Нужен удобный способ добавления и выбора стикеров, а не только поиска по тексту.
А почему эта U+2593 хурма в >>69975 цветная?
Replies: >>69984
>>69977
[color=#123 и так далее, это ббкод, детка.
Replies: >>69985
>>69984
Нафейхоа и как это вяжется с темами, которые разного цвета?
Replies: >>69987
>>69985
Да как-то не мешает, зачем выпиливать? Фича как фича, не нравится – не пользуйся.
Replies: >>69991
>>69987
Фича не документирована, например.
Replies: >>69993
>>69991
Документируй, я разрешаю. Даже пуллреквест приму.
Replies: >>69994
>>69993
Для этого надо посмотреть код, чтобы проверить какой там на самом деле синтаксис и возможности. Мне лень. Я вообще за фиксированный набор цветов, подходящих к теме. Но это надо уметь цвета подбирать…
Replies: >>69995
>>69994
А я сам не знаю, что там в стандартном ббкоде есть. Поэтому и не документировал. А писать свой темозависимый ббкод – лень, спроса на эту фичу не так много было. Цветной текст писали пару раз за всё время существования борды.
Replies: >>69996
>>69995
Так классы ж расставлять, а не цвет фиксировать.
Replies: >>69997
>>69996
Расставляй. Я разрешаю.
Replies: >>69998
>>69997
Но цвет то ты не выпилишь. А иначе смысла нет. 2 способа задавать цвета это перебор :)
Replies: >>69999
>>69998
Могу выпилить, если будет в этом необходимость. Я не очень понимаю, как ты предлагаешь задавать темозависимый цвет. Пользователь будет указывать зелёный, а тема будет показывать красный, потому что он больше подходит?
Replies: >>70000
>>69999
[color=1]…[/color]
[color=2]…[/color]
[color=3]…[/color]
[color=4]…[/color]
[color=5]…[/color]
[color=6]…[/color]
[color=7]…[/color]
[color=8]…[/color]
Как в терминале. Не покатит?
Replies: >>70001, >>70006
>>70000
И как ты угадаешь что такое цвет 1? А главное, какой в этом смысл? Вот товарищ в соседнем треде рисует флаг вполне определёнными цветами. Ты хочешь чтобы в другой теме флаг был чёрно-зелёным? Я не очень представляю, когда нужно делать текст разноцветным, но при этом тебе пофиг что именно там будут за цвета, лишь бы разные. В терминале это нужно для интерфейса, а тут как бы просто текст.
Replies: >>70003, >>70005
>>70001
Просто тексту цвет не нужен, например.
Replies: >>70004
>>70003
врёти
>>70001
В терміналі немає таких радикальних змін — кольорові схеми задають відтінок, але кольори мусять лишатися розрізнюваними (причому за колірною відстанню вону можуть відрізнятись дуже слабко, як, приміром, у solarized).
>>70000
Альзо, ти ґіт просрав, йолопе.
Добавлена возможность создавать локальные стикеры. Выбирается в меню картинки. Также ссылка на страницу стикеров добавлена в настройки.
Replies: >>70058
>>70019
Предлагаю на рассмотрение такую идею. Делаем тред-стикерпак. К треду цепляем трипкод. Заголовок треда – имя пака, заголовок поста с картинкой – имя собственно стикера. Ессно в этом треде будут действовать ужесточённые правила – у треда заголовок и трипкод обязательны, посты будут работать как добавление стикера только при указании заголовка, трипкода и единственного файла.
Replies: >>70113
>>70058
Это кстати создаст интересный прецедент. Можно упростить форму постинга, добавляя фичи как команды парсера. Написал "подписаться на тред" – и подписался. И все видят этот пост, как лайки в соцсетях.
Replies: >>70126
>>70113
Не потрібно.
Отныне использование тега моя_countryname разрешено только в тредах, где обсуждаются исключительно вещи, касающиеся одной страны, и в которых целесообразно нахождение только тех, кто имеет отношение к этой культуре и понимает язык. Примеры – национальная политика, культура, книги писателей на определённом языке, проблемы городов конкретной страны.
Примеры, когда этот тег использовать нельзя: смешные картинки, обсуждение политики в общем или среди нескольких государств, музыка (исключая обсуждение песен на определённом языке).
Я удалил этот тег из всех актуальных нацпол-тредов. Поскольку у вас их три, можете ими пользоваться в произвольном порядке, но было бы удобнее заполнять их по мере необходимости, т.е. по номерам до бамплимита.
Вы всё ещё можете использовать свои национальные и языковые стикеры, но только как дополнение к собственно посту, который несёт смысловое значение. Посты, которые содержат ТОЛЬКО однообразные последовательности или стикеры будут считаться флудом и удаляться.
>>70197
Нека продався москалям. Іди до сраки, руськомірний зраднику.
Replies: >>70207
>>70197
P. S. І плеєра тобі не буде, пиляй сам або анімукурву свою запрягай.
Replies: >>70208
>>70203
Если для тебя не продаваться москалям это срать флудом обязательно, то да, таки продался. И недорого.
>>70204
Плеер уже написан выше по треду, лiл.
Replies: >>70209
>>70208
Полноценного рабочего прототипа нет. Я бы мог написать его сам, но мне лень всё делать водиночку.
Replies: >>70216
>>70209
Ты норкоман что ле? Это готовый и рабочий код.
Прошу прощения за даунтайм, я окирпичил роутер благодаря http://www.opennet.ru/opennews/art.shtml?num=47415. Пришлось в срочном порядке покупать новый.
Replies: >>70257
>>70246
Лолблядь. Линукс это штабильность. Что за роутер-то? У многих есть режим восстановления.
Replies: >>70262
>>70257
При чём тут линукс? Все роутеры на нём. На этом конкретном был lede и прекрасно работал, как openwrt до него. Но именно этот релиз всё поломал.
Роутер tl1043nd, версия 1.8 (достаточно старая). В багзилле пишут УМВР, так что не знаю что ещё сказать. Штатный режим восстановления не работает, так как роутер перезагружается раньше чем до него доходит. Предлагается прошить вручную программатором, что я сделаю, когда его достану. А пока купил сяомишний роутер, всё равно собирался обновиться. Он тоненький и мощный.
Replies: >>70275
>>70262
Это который? С тремя антенками и 5G? Я тоже его хочу взять, расскажи потом о впечатлениях
Replies: >>70276
>>70275
4 антенки, что такое 5G не знаю. Там 2 канала, 2.4 и 5 Ггц, умеют объединяться в одну сеть (или две сети с одним именем, я не знаю тонкостей). Обещают гигабитный вайфай, но я подозреваю что у меня нет устройств, которые это поддерживают, поэтому визуально пока ничего не изменилось. Может 4к на приставке будет быстрее работать.
Что интересно, старый роутер был довольно толстенький. Этот очень тонкий, и визуально там плата занимает максимум половину корпуса, а остальной просто для противовеса антенкам. Дно всё дырявое, видимо они фанаты охлажения (на видеорегистраторе от сяоми тоже были дырочки сверху и снизу).
Немного не радует индикатор. На них сяоми вечно экономят. Тут один один, умеет 3 цвета: работам, запускаемся и полный пиздец. Для сравнения, на старом было около десятка: включено, загрузка системы, wan, wlan, каждый порт lan. Которых между прочим там 4, а в новом 2 (впрочем подозреваю, что просто вайфай стал пригоден для того чтобы все компы перевести на него, а не прокладывать провода). А на приставке этой же фирмы индикатор включенности белый, но как-то очень бледный или неудачно расположенный, так что если не знаешь, куда смотреть, ты его вообще не заметишь. Может у них просто решили что ночью все эти лампочки сильно мешают, и решили радикально решить проблему.
As you know, когда-то у нас была страница со списком всех-всех тегов. Сегодня я окончательно от неё избавился, удалив всё что с ней связано. Yay!
Добавил поиск по тегам. Ранее теги учитывались в поиске, но выводились только треды с ними. Теперь есть также список самих тегов, если вас интересуют именно они.
#posts-table только в настройках есть? Почему тогда оно так странно называется?
В белой теме отступов нет в настройках. Чтобы сделать пуллреквест надо сначала знать где что сломается :}
Replies: >>70473
>>70471
>#posts-table только в настройках есть?
Дофига где есть. В рандомных картинках, поиске, галерее.
>Почему тогда оно так странно называется?
Потому что мордреду не нравилось когда я ставил class=post и он придумал эту нёх.
Replies: >>70478
>>70473
А ты думал сейчас с кем разговариваешь? :3 И class="post" есть и сейчас, а это — контейнер для постов. Но в настройках постов нет! Странная у тебя разметочка.
Replies: >>70489
>>70478
>а это — контейнер для постов
Это не контейнер для постов, это стиль который выглядит как пост, но предназначен для других вещей. Название придумывал ты, ничего не знаю.
Replies: >>70495
>>70489
В первый раз слышу.
Replies: >>70497
>>70495
Ну расскажи мне теперь: >>2404
Replies: >>70511
>>70497
>оно там уже есть
Replies: >>70519
>>70511
Так это ты написал. Ты его делал когда добавлял галерею через js.
Replies: >>70565
>>70519
Ты ж её выпилил.
Replies: >>70575
>>70565
Я её с js перенёс на сервер, но разметка там осталась такая же. Более того, я этот posts-table стал и дальше использовать для блока контента в котором нет постов.
Replies: >>70587
>>70575
В белой теме нет стилей для этого. Странно всё это.
Replies: >>70596
>>70587
Ну так сделай, сложно что ли.
Replies: >>70613
>>70596
Сложно. Чёрт его знает где оно всплывёт же. Подумаю как-нибудь…
Replies: >>70620
Щому главная отсортирована по номеру треда?
Replies: >>70619
>>70618
А как должна?
Replies: >>70624
>>70613
Склонируй репозиторий и прогони поиском по файлам. Там достаточно логично всё, ты разберёшься.
>>70619
Интуитивно, лiл.
Replies: >>70626
>>70624
Главная это всего лишь список всех тредов. Я согласен, что она не очень удобна для частого захода на борду, потому что там нет одной важной возможности – посмотреть состояние с момента последнего захода, и сразу перейти к тому месту, до куда дочитал. И в условиях анонимности я пока не представляю, как это сделать лучше. Если у тебя есть идеи, я готов их выслушать.
Лично для меня главная служит одной цели – посмотреть, в каких тредах идёт обсуждение за последние сутки. Т.е. отслеживать появления новых, и следить за активностью старых.
Replies: >>70641, >>70662
>>70626
>в условиях анонимности
Агов, а сесії й сповіщення себто не порушують анонімність?
>Лично для меня главная служит одной цели
Файно, що хоч якась. Дай-но вгадаю, ти її умисне зробив, щоб відлякувати від бірди новачків?
Replies: >>70649
>>70641
>Агов, а сесії й сповіщення себто не порушують анонімність?
Уведомления как совы – они не то, чем кажутся. Уведомления никуда не приходят, это просто список постов с упоминанием. А ты у себя в сессии выбираешь, какие упоминания читать. База неборды ничего не знает о сессиях, а они в свою очередь могут храниться разными способами, вплоть до куков.
>Дай-но вгадаю, ти її умисне зробив, щоб відлякувати від бірди новачків?
Наоборот. Меня один лоровец долго уламывал сделать борду дружелюбной, и это было одним и его предложений.
>совы
>не то, чем кажутся
Сині сови?
>у себя в сессии
Ну то й останні прочитані зберігай у сесії. В чому проблема взагалі?
>дружелюбной
Для нього?
Replies: >>70664
>>70626
По дате последнего поста? Или по количеству новых постов.
Replies: >>70665
>>70650
>Сині сови?
Вот и выросло поколение…
https://www.youtube.com/watch?v=VCf-oiIbVnw
>Ну то й останні прочитані зберігай у сесії. В чому проблема взагалі?
В скорости работы. Тебе для отображения главной надо будет по каждому треду проверить, какой там пост последний и сколько с того времени добавилось. Не уверен, что это нужно. Так-то подписка на треды у нас уже давно есть.
Replies: >>70666, >>70670
>>70662
Что это даст?
Replies: >>70674
>>70664
PS Учитывая функционал подписки на треды, главная – это просто инструмент быстрого обозрения состояния борды. А уже конкретно то за чем ты следишь – через подписки. Ещё надо бы добавить подписки на тег, но с этим надо подумать, дабы всё унифицировать.
>>70664
>Вот и выросло поколение…
Якщо я з якогось покоління — я мушу знати увесь піндоський попсовий мотлох цього покоління, чи що?
>>70665
Сразу видно что активно, например.
Replies: >>70675, >>70677
>>70674
Впрочем, и так сойдёт. Не меняй ничего.
>>70674
Ты и так видишь что активно. Сортировка тебе только покажет, в каком порядке оно активизировалось, что ИМХО ничего не даёт.
>>70737
Стикеры привязаны к сессии. У телефона она своя. Пока я не запилил добавление общедоступных стикеров, страдай.
Replies: >>70739
>>70738
Можна підмінити куку на телебоні.
Добавил возможность добавлять свои стикерпаки. Все подробности в справке. Все имеющиеся стикеры перенесены в пак "general".
Replies: >>70761
>>70759
Страница просмотра стикеров будет обновляться, поскольку с ростом их количества серверу может стать плохо.
Схороню чтобы не забыть. Надо попробовать что-то сделать с инклюдами (заменить на макросы, например).
Replies: >>70850
>>70846
>For loops may be better handled with client side rendering.
>An easy trick to speed up server side rendering is to just do it on the client. One strategy is to embed a json structure in the django template, and then have javascript build the HTML. This obviously defeats the purpose of django server side rendering, but it will result in a speedup.
Спидап для кого? Для юзера это превращает сайт в говно, особенно если ты потом начинаешь "рендерить за экраном" и делать прочую туфту наркоманов от дизайна.
Replies: >>70857, >>70862
>>70850
>Для юзера это превращает сайт в говно
Чего это? Сайт выглядит точно так же, только при открытии вместо крутилки ожидания сервера ты получаешь крутилку рендера клиентом.
Replies: >>70911
>>70850
Я вообще не рассматривал конкретно это, не люблю js. Пока поковырялся с отключением автоэскейпа, что дало довольно заметный прирост скорости открытия страниц (в посте дофига переменных выводится, и по умолчанию джанго их все пытается экранировать, тогда как по факту что-то зловредное может оказаться только в заголовке).
Replies: >>70912
>>70857
Получает очередное переизобретение лисапеда, причём на жс. Не нужно перереализовывать в браузере браузер, он там уже есть!
Replies: >>70914
>>70862
Ждём дыры :)
>>70911
>Получает очередное переизобретение лисапеда, причём на жс.
А какой рендер на стороне клиента - не велисипед? Нативное приложение на Qt?
Replies: >>70941
>>70914
Очередное там написано же, ну.
Replies: >>70977
>>70941
Так как нужно делать? Считать всё на сервере – один из способов, но не очень рациональный, так как клиенты давно уже совсем не тонкие, на них можно и нужно выносить часть вычислений. Ну кроме того, что из соображений безопасности не должно покидать сервер.
Replies: >>70995, >>71021
@neko, ти оце тицяв?
Replies: >>71000
>>70977
>уже совсем не тонкие
У твоїх маняфантазіях.
>на них можно и нужно выносить часть вычислений
Наче користувачеві нема чим їх більше навантажити.
Replies: >>71001
>>70994
Нет. Зачем оно мне, когда есть божественная идея?
Replies: >>71017
>>70995
>Наче користувачеві нема чим їх більше навантажити.
Нормально написанный код никак не нагружает. Даже телефон.
Replies: >>71018, >>71019
>>71000
Сьогодні є, завтра ліцензія закінчиться.
Replies: >>71148
>>71001
Навіть нейромережа?
Replies: >>71024
>>71001
Чи майнинг криптовалюти/протеїнів, приміром.
Replies: >>71024
>>70977
Тонко намекаю, что твой сайт будет не единственным открытым одновременно и даже он, возможно, будет присутствовать не в единственном количестве.
Replies: >>71023
>>71021
Так нагрузка идёт в момент открытия, а не постоянно. Или ты намекаешь, что открываешь одновременно сотню вкладок, и тебя тяготит 5 секунд ожидания пока они откроются?
Replies: >>71026
>>71019
>>71018
Я про отрисовку сайта говорил, а не сферический код в вакууме.
>>71023
С таким вебом и десяток будет тормозить и жрать память.
>а не постоянно
Костыляние фич браузера по-новой может жрать и постоянно, лiл.
Replies: >>71028
>>71026
>С таким вебом и десяток будет тормозить и жрать память.
Если на js только первоначальный рендеринг страницы, то сфигали ему жрать память? По окончании ты получаешь точно такой же html. И не факт что это намного медленнее чем отрисовка пришедшего от сервера.
>Костыляние фич браузера
С каких пор локальное приложение это фича браузера? Браузер только предоставляет движок js+css+html, а где ты их взял – не его дело.
Replies: >>71030
>>71028
>Если на js только первоначальный рендеринг страницы
Никогда ещё на этом не останавливались. Дальше пойдёт ожагз, бесконечные страницы, тормозо-динамическая подгрузка картинок, и прочие, прочие…
>С каких пор локальное приложение это фича браузера? Браузер только предоставляет движок js+css+html, а где ты их взял – не его дело.
Локальное приложение, "js+css+html". Выберите что-нибудь одно.
Replies: >>71031
>>71030
>Дальше пойдёт ожагз, бесконечные страницы, тормозо-динамическая подгрузка картинок, и прочие, прочие…
ajax уже есть. Как и подгрузка увеличенных картинок. Сильно тормозит?
>Локальное приложение, "js+css+html". Выберите что-нибудь одно.
js выполняется локально. html и css рендерятся тоже локально. Или ты хочешь чтобы тебе сервер рендерил страницу и прислылал картинкой? Так это мы можем, только скажи.
Replies: >>71033, >>71091
>>71031
>только скажи
Кажу. Буде найінноваційніший сайт, роби.
>>71031
Динамическая подгрузка картинок это другое. Вот ты листаешь, а картинки на странице грузятся только когда ты к ним доскролливаешь.
>js выполняется локально. html и css рендерятся тоже локально.
И попадают на компьютер посредством святого духа и такой-то матери :)
Replies: >>71092
>>71091
>Вот ты листаешь, а картинки на странице грузятся только когда ты к ним доскролливаешь.
На десктопе это не нужно. Эта фича придумана для мобильников, которые не могут держать в памяти сразу много картинок.
>И попадают на компьютер посредством святого духа и такой-то матери :)
Какая разница, как они туда попали? Хотя, разница есть: если рендерить на клиенте, ты расходуешь меньше трафика, так как пересылаются только голые метаданные.
Replies: >>71097, >>71113
>>71092
Это ненужно, но оно везде.
>Какая разница, как они туда попали?
Для клиент-сервер vs локально — большая.
>Хотя, разница есть: если рендерить на клиенте, ты расходуешь меньше трафика, так как пересылаются только голые метаданные.
Большую часть будет занимать HTML разметка, которую ты всё равно пересылаешь ¯\_(ツ)_/¯
Replies: >>71098
>>71097
>Для клиент-сервер vs локально — большая.
Ты армянское радио? В чём конкретно разница выражается для юзверя?
>Большую часть будет занимать HTML разметка, которую ты всё равно пересылаешь
Откуда она там возьмётся? Если ты рендеришь клиентом, ты пересылаешь условный json с данными. Разметка там будет только внутри постов, если конечно и персер не переносить на клиент.
Replies: >>71099, >>71114
>>71098
Посиди на жпрсе, узнаешь :3
>Откуда она там возьмётся? Если ты рендеришь клиентом, ты пересылаешь условный json с данными. Разметка там будет только внутри постов, если конечно и персер не переносить на клиент.
У тебя тут что, графики рисуются? Твоими данными будет HTML.
Replies: >>71100
>>71099
>Твоими данными будет HTML.
Какой смысл присылать html, если достаточно метаданных?
Replies: >>71102
>>71100
Отображать ты тоже метаданные будешь? Сообщения не нужны?
Replies: >>71103
>>71102
Текст сообщения это одна из переменных в метаданных.
Replies: >>71107, >>71108
>>71103
Текст всё равно с разметкой ¯\_(ツ)_/¯
Replies: >>71109, >>71116
>>71103
Ну и да, сообщение это не метаданные, это уже таки данные.
>>71107
Текст да. Но большая часть разметки это именно страница, а не контент поста.
>>71092
>На десктопе это не нужно
Наче десктоп не може виходити до інтернетів через повільне з'єднання.
>которые не могут держать в памяти сразу много картинок
Наче на десктопах пам'ять гумова. Альзо, сучасні дебільники мають більше пам'яті, аніж дешеві десктопи.
>>71098
>В чём конкретно разница выражается для юзверя?
Сторінки перезавантажуються або не перезавантажуються.
>>71107
Розмітку можна висилати хоч і вихідну.
>>67797
І арабську з івритом не забудьте!
>>71017
Закончится – перейду на пишарм, мне подсветка синтаксиса шаблонов не очень нужна.
Replies: >>71156
>>71148
Але ж пищарм і є збірочка ідеї.
Replies: >>71187
>>71156
Он свободный.
Replies: >>71188
>>71187
Культі теж вільні, що не заважає їм бути ганебною та чужорідною пропрієтарщиною.
Replies: >>71224
>>71188
Свободный код не может быть проприетарным по определению.
Replies: >>71237
>>71224
В штульманутих вийшло викрутити поняття свободи так, що свобода стала обмеженою заради свободи.
Replies: >>71248
Де.
Мій.
Плеєр?
Reply to thread #67795 to message #
>qspoilerib// scodehint
Max total file size is 28.6 MB. Max file number is 10.
Help
Reset form