~AreEnn
~R4SAS
~acetone
~orignal
~villain
@onon
&N00B
+relaybot
DUHOVKIN_
Guest7184
Komap-
Most2
Nausicaa
Nikat
Ruskoye_911
Vort
Xeha
anon3
b3t4f4c3
fidoid
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
qend
segfault
soos
teeth
tetrimer_
uis
un
unlike
user
weko
whothefuckami
Vort
разобрался с жирными файлами в студии. это побочный эффект красивой подсветки кода
orignal
счас там шлаг фейлится
Vort
MS считают что 5 гигабайт мусора рядом с каждым проектом - это нормально
orignal
добавлю проверку
orignal
пиздец
Vort
каждый подсвеченный файл в i2pd создаёт 300 меговый кеш )
Vort
но к счастью можно сделать мусорку общей для всех проектов
Vort
и размер ей подкрутить
Vort
облом с std::filesystem :(
Vort
надо разбираться, что за фигня
Vort
FS.cpp(69,28): error C2039: 'imbue': is not a member of 'std::filesystem::path'
Vort
ну да, нету такого
Vort
так что это не ошибка компилятора
Vort
надо разбираться в различиях std и boost
Vort
правда, разработчики стандарта C++ с кодировками не дружат, так что, возможно, сделать по-нормальному будет непросто
Vort
а я пока что пойду спать
orignal
я пока это отключил для шланга
orignal
gcc нормадльно
orignal
почему в gcc есть а в шланге нету?
segfault
orignal: обнаружился неприятный баг. если в веб интерфейсе нажать reload tunnels configuration, при этом новый конфиг будет неправильным, то i2pd перестанет нормально работать. надо сделать проверку конфига перед фактическими изменениями и писать что новый конфиг
segfault
неверный
Vort
"<~orignal> почему в gcc есть а в шланге нету?" небось в gcc просто скопипастили из буста не разбираясь
Vort
ну и я же тебе скинул точно такую же ошибку из студии 2019
orignal
Vort ну тогда надо и там отключать
orignal
segfault reload tunnels вообще работает плохо
tetrimer
Почему "плохо"? Комментируем туннель, делаем релоад, раскомментируем, еще раз релоад. В таком режиме все работает.
onon
Тоже так делаю
Vort
orignal: почему не сделать по стандарту?
orignal
Vort а как по стандарту ты знаешь?
orignal
я же не разбирался просто расмонетировал и все
orignal
даже не знаю кто там этот код написал
Vort
у меня только подозрение, что авторы стандарта сделали какую-то гадость
Vort
ну сейчас погуглю
Vort
кстати, раз там #ifdef _WIN32, то можно вообще без boost/std обойтись
Vort
ну это на случай гадости от авторов стандарта
Vort
пока что поищу, можно ли сделать нормально
orignal
а для чего тогда тот код?
Vort
тупо для преобразования из системной кодировки в utf-8
Vort
ну мне так кажется
orignal
ну да
Vort
на входе std::string, на выходе - std::string
Vort
в общем, я переделал преобразование в UTF-8 для винды. теперь жду пока сборка гитхабом потестируется
Vort
обнаружил ещё одну связанную странность в коде
Vort
когда искал, где вообще GetUTF8DataDir используется
Vort
нашёл вызов в Win32App.cpp перед ShellExecute. но схрена ли ShellExecute ожидать UTF-8? я проверил - так не работает. поэтому переделал на простой GetDataDir
Vort
в итоге, вызов GetUTF8DataDir всего в одном месте - в вебконсоли
orignal
давай тогда или код чтобы поставить или PR сделай
orignal
кстати возвращаясь к теме тора
orignal
походу на эту тему даже пропозала не было
orignal
я потребовал у деда ткнуть меня в него носом
orignal
либо я креведко либо его правда не было
Vort
в GHA clang фейлится из-за std::chrono::clock_cast. но там я уже не при чём
Vort
и мне отойти надо. но код вот
orignal
я тоже отойду на пару часов
Vort
короч поспешил я с включением std::filesystem для винды
Vort
убрал его пока что: github.com/Vort/i2pd/commit/e87ace0c3d013a5fff9473741983af545ad7672e
Vort
а что за херня с clock_cast происходит - надо разбираться - из-за этого не только clang на винде фейлится, но и FreeBSD сборка
Vort
orignal: потестируй пожалуйста когда сможешь: github.com/PurpleI2P/i2pd/pull/2096
Vort
orignal: по поводу не связанной с UTF-8 проблемы: предлагаю проверку для clang переделать из общей для std::filesystem на конкретную для clock_cast
Vort
C++20 - это оказывается слишком мудрёно даже для современных компиляторов. но VS2019, похоже, на C++20 переводить можно. у меня бинарник нормально собрался с
Vort
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:__cplusplus /std:c++20")
onon
Вот. Название переменной лично гипн придумывал, значит должно работать.
onon
Пока это последняя версия, там ещё есть что поправить. Но мне, похоже, нужно немного отдохнуть.
orignal
погляжу
orignal
смержил
orignal
и там сделаю проверку для шланга
segfault
orignal: нафига это всё?
orignal
что?
segfault
boost и c++11 нормально работают
orignal
переход на std::filesystem?
orignal
нет в бусте слишном много багов
orignal
C++11 уже мало где остался
orignal
а код писать надо дальше
segfault
а зачем вообще filesystem? почему нельзя просто в конфиг пути до файлов прописать?
segfault
и просто fopen открывать
segfault
может это не так красиво, как анализ каталогов с точки зрения пользователя
orignal
потому что в разных ОС работа с директориями организована по разному
segfault
но зато проблем нет
orignal
i2pd кросс плаформенный
Vort
проблемы пока что я только вижу в недоделанной поддержке C++20
Vort
придётся хренову тучу проверок городить для каждой недоделки
Vort
segfault: нужно делать анализ потребностей юзеров. надо ли кому-то обязательно C++11 поддержку и не выше
segfault
есть 2 платформы: posix и winapi (boost тоже поддерживает только их). не лучше ли написать 1 функцию с #ifdef, чем страдать от boost::filesystem или std::filesystem?
Vort
segfault: платформенно зависимый код обычно громоздкий. глянь к примеру как я поддержку перевода в UTF-8 для винды сделал
Vort
ты предлагаешь по сути влить буст в i2pd
Vort
это будет жопа. ну, то есть, конечно, можно, но не нужно
segfault
utf-8 это жопа
segfault
Vort: кстати, а зачем utf-8 в i2pd?
segfault
Vort: от того, что iso решил полбуста в stl затолкать легче не станет. видел "c++20 modules"? видел "c++20 coroutines"?
segfault
они под какой наркотой эту хуйню придумывали?
orignal
а заченм нам эта хрень
orignal
от 20 нам нужны новые функции в структурах данных
onon
Наехал на RN она там сидит, плачет
segfault
а затем, что очередная либа будет эту хуйню использовать. и придётся дебажить эту хрень. а написана она через жопу, потому что стандарт новый.
orignal
разве я на нее наехал?
onon
А, это значит ещё и не начинал
orignal
onon ты главную претензию то понял?>
orignal
грубо говоря "где пропозал суки?"
orignal
а его нет
onon
В общем да
onon
Но масштабы катастрофы, на мой взгляд, преувеличены
segfault
orignal: в java i2p опять какая-то жесть?
orignal
все тот же
orignal
я хочу с деда ответы получить поскольку он явно собрался соскочить с темы
orignal
onon масштабы катастфоры тут как обычно у них делать втихую
onon
Просто недопонимание произошло
orignal
а потом еще и меня обвинять в том почему я сразу не высказывл возвражений
onon
Когда обсуждали это в мае
onon
или когда там
orignal
недопонимние что на каждый чих требовать пропозал а тут раз и нет пропозала?
orignal
так не было никакого обсуждения
onon
Ты себе механизм блокировки представлял по-своему, а дед по-своему
orignal
я специально логи смотрел
orignal
они где то обсуждали между собой
onon
Просто договрились, что блокировать можно, а конкретные механизмы не обсудили
orignal
только меня забыли спросить
orignal
причем о моем методе они знали с самого начала
orignal
пусть дурочку не валяют
Vort
"<segfault> Vort: кстати, а зачем utf-8 в i2pd?" чтобы в вебконсоль вывести путь без кракозябл
Vort
"<segfault> Vort: от того, что iso решил полбуста в stl затолкать легче не станет" как минимум, будет выбор из нескольких реализаций
Vort
"<segfault> они под какой наркотой эту хуйню придумывали?" да я вообще кроме самых основ в C++ ничего не знаю. всё, что надо - подгугливаю. так что без понятия что они там навертели
segfault
Vort: а в чём проблема просто в html указать, что надо условный koi8-r принимать?
segfault
Vort: boost предлагается заменять на std, чтобы выпилить c++11
Vort
к примеру, из-за локализации, которая вся в utf-8
orignal
вроде переделал с 20
orignal
везде тепреь собирается
Vort
ага. теперь только ждать, не начнёт ли кто-нибудь с чуть-чуть не таким компилятором жаловаться
orignal
посмотрим
orignal
вот у меня баунсер с 20 собран вроде порядок
orignal
ведро кстати тоже собралось
Vort
ну если собралось, то, обычно, работает нормально
Vort
хотя бывает всякое
Vort
попробую на всякий случай сейчас свежий бинарник сделанный clang`ом запустить
Vort
вроде нормально всё
orignal
ну пока порядок значит
orignal
с макосью там просто у меня билд машина старая
orignal
onon как изменение называется?
onon
Это сложно
onon
Там много чего поменяно
onon
Типа улучшение всего =)
onon
Основное там
orignal
так не пойдет давай конкретно
onon
Это изменение алгоритма увеличения окна
onon
Ну ещё плавный сброс окна
onon
Что там ещё добавил
orignal
вот нормально
orignal
то есть касается расчета размера окна
onon
Ну да
onon
И коэффициент сделал как ты просил
onon
Чтобы агрессивность настраивать
onon
А так по алгоритму вопросы есть?
onon
Пока у меня ещё всё в оперативке лежит
orignal
я еще не смотрел