gentoo.ru
Официальная конференция Direct Connect клиента EiskaltDC++
eiskaltdc@conference.gentoo.ru
Пятница, 9 мая 2014< ^ >
Tehnick установил(а) тему: Конференция разработчиков EiskaltDC++ | Conference of EiskaltDC++ developers
Site: https://code.google.com/p/eiskaltdc/
Logs: http://gentoo.ru/jabber/logs/eiskaltdc@conference.gentoo.ru/2014/
Bug tracker: https://code.google.com/p/eiskaltdc/issues/list
Notes for developers: https://code.google.com/p/eiskaltdc/wiki/notes_for_developers
How To Ask Questions The Smart Way: http://catb.org/%7Eesr/faqs/smart-questions.html
Как правильно задавать вопросы: http://parallel.ru/cluster/smart-questions-ru.html
Last stable release: 2.2.9 (2013-08-29)
Release schedule:
* 2014-xx-xx Release EiskaltDC++ 2.3.0
Конфигурация комнаты
Участники комнаты

GMT+4
[00:32:20] Diger вышел(а) из комнаты
[01:28:12] Tehnick вышел(а) из комнаты
[01:49:28] proxym вышел(а) из комнаты: Квипинфинумбеспокойноеобщение... ни за что! качай Пси+ https://code.google.com/p/psi-dev/wiki/downloads2 http://sourceforge.net/projects/psiplus/files/
[02:02:52] yrii вышел(а) из комнаты
[09:23:53] flylinkdc вошёл(а) в комнату
[09:51:29] flylinkdc вышел(а) из комнаты
[10:00:59] yrii вошёл(а) в комнату
[10:24:30] <flylinkdc> dhamp_ - извини вчера уже спать ушел. инремент счетчика идет в  void FinishedManager::on(UploadManagerListener::Complete
[10:24:50] <flylinkdc> там зовется сразу дб-манагер CFlylinkDBManager::getInstance()->Hit(l_path, l_name);
[10:25:02] <flylinkdc> а в нем апдейт update fly_file set hit=hit+1 where name=? and dic_path=?
[10:31:51] <flylinkdc> у вас наверно нужно сделать в шаременеджере + поставить флае dirty - чтобы xml скинулся на диск при закрытии клиента
[10:34:01] Diger вошёл(а) в комнату
[10:36:06] dhamp_ вышел(а) из комнаты
[10:44:14] Diger вышел(а) из комнаты
[10:44:24] Diger вошёл(а) в комнату
[11:24:34] Tehnick вошёл(а) в комнату
[13:07:56] <loooser> Tehnick: в мастер-ветке проблемы с русскими буквам уже некоторое время - http://pixs.ru/showimage/eiskaltkra_3373734_12035399.png
[13:08:30] <Tehnick> loooser, сборка с Qt4 или с Qt5?
[13:08:48] <loooser> 12.10 - наверное 4...
[13:09:07] <loooser> 4.8.1
[13:09:07] Diger вышел(а) из комнаты
[13:10:44] <loooser> Tehnick: и в истории поиска такая же фигня
[13:13:47] <Tehnick> loooser, это dhamp_  сломал в f256cd8
[13:14:23] <Tehnick> loooser, он везде toAscii() заменил на toLatin1()
[13:15:02] <Tehnick> Хотя в документации четко сказано:
"QByteArray QString::toAscii () const
Returns an 8-bit representation of the string as a QByteArray.
If a codec has been set using QTextCodec::setCodecForCStrings(), it is used to convert Unicode to 8-bit char; otherwise this function does the same as toLatin1()."
[13:16:08] <Tehnick> Поторопился я этот код в мастер сливать...
[13:16:49] <loooser> вот проказник :)
[13:27:56] <Tehnick> $ grep -r toLatin1 eiskaltdcpp-qt/ | wc -l
71
[13:28:17] <Tehnick> Через #if заворачивать задолбаешься.
[13:28:30] <Tehnick> Попробую совсем доломать.
[13:31:29] loooser вышел(а) из комнаты: Replaced by new connection
[13:33:21] loooser вошёл(а) в комнату
[13:36:29] <Tehnick> loooser, ты сам компилишь?
[13:36:55] <loooser> ну да, по инструкции
[13:37:15] <loooser> make -j2
[13:50:27] <Tehnick> loooser, отлично. Нам нужны активные пользователи.
[13:51:59] <loooser> Tehnick: глюк с IP в чате дочините, а то на полдороги остановились :)
[13:52:35] <Tehnick> loooser, а разве не исправлен?
[13:53:24] <loooser> Tehnick: нет, я же говорил - починилось только в привате (личные сообщения), а в самом чате по прежнему
[13:54:21] <Tehnick> loooser, я тут доломал non-Ascii символы. Попробуй свежую версию собрать.
[13:54:36] <loooser> ok ))
[13:55:41] <Tehnick> loooser, и важное примечание: нужно очистить историю поисковых запросов от старых запросов. Т.к. те символы, которые уже превратились в "?" исправлены не будут...
[14:05:17] <Tehnick> loooser, пульнись еще раз. Небольшой добавочный фикс.
[14:05:30] <Tehnick> А я пока отойду.
[14:05:40] <loooser> блин, тока запустил ))
[14:11:23] <loooser> починились кракозябры :)
[15:17:52] Diger вошёл(а) в комнату
[15:25:53] flylinkdc вышел(а) из комнаты
[15:41:10] proxym вошёл(а) в комнату
[15:47:14] Diger вышел(а) из комнаты
[16:21:50] yrii вышел(а) из комнаты
[16:34:54] flylinkdc вошёл(а) в комнату
[16:35:14] flylinkdc вышел(а) из комнаты
[16:35:25] flylinkdc вошёл(а) в комнату
[17:14:31] <Tehnick> dhamp_ , https://bugreports.qt-project.org/browse/QTBUG-32100
[17:15:19] <Tehnick> dhamp_ , в clang 3.4 сделали более жесткие проверки и теперь даже сами библиотеки Qt 5.x им не собираются.
[17:16:36] <Tehnick> dhamp_ , точнее те версии библиотек, которые при сборке в тревисе используются.
[17:41:49] Diger вошёл(а) в комнату
[17:56:09] Tehnick вышел(а) из комнаты: Replaced by new connection
[17:56:19] Tehnick вошёл(а) в комнату
[17:56:27] Tehnick вышел(а) из комнаты
[17:56:51] <flylinkdc> когда собираю под винду - много файлов не в gitignore http://yadi.sk/d/yf4EmmT_Pcnfk
[18:00:42] <flylinkdc> также в виндовой версии по дефолту кодировка - UTF-8
[18:00:50] <flylinkdc> у простых юзеров будут зюки
[18:01:01] Tehnick вошёл(а) в комнату
[18:01:14] <flylinkdc> может если винда - ставить кодировку из локали - я правда не знаю где у вас это делается
[18:02:33] <Tehnick> Utf8 в исходниках должно быть везде.
[18:02:46] <Tehnick> flylinkdc, как именно ты собираешь?
[18:02:48] <flylinkdc> я про кодировку при подключении к хабу
[18:03:04] <flylinkdc> http://yadi.sk/d/Nvbh0OutPcomm  - вот еще баг нет интерфейсов
[18:04:01] <flylinkdc> я вот про эту кодировку http://yadi.sk/d/K9WoJANaPcp5v
[18:04:11] <Tehnick> flylinkdc, насколько я помню, под виндой нужны права админа, чтобы посмотреть список интерфейсов.
[18:04:18] <flylinkdc> если выбрать просто адрес хаба и по дефолту - то все будет в зюках
[18:04:34] <flylinkdc> флайлинк смотри без админа интерфейсы
[18:04:55] <Tehnick> flylinkdc, "По умолчанию" --> берется из главного диалога настроек.
[18:05:12] <Tehnick> flylinkdc, ты про сборку-то ответь.
[18:05:25] <Tehnick> flylinkdc, в отдельной папке собираешь?
[18:06:45] <flylinkdc> код получения интерфейсов такой https://github.com/pavel-pimenov/flylinkdc-r5xx/blob/fec3c4b9506140c3982bbde70e391b1149edc3e4/windows/WinUtil.cpp#L4134
[18:06:58] <flylinkdc> сборку делаю как в ридми
[18:07:08] <flylinkdc> только диск у меня D:
[18:07:18] <flylinkdc> С: у меня системный на SSD
[18:07:58] <flylinkdc> откуда берется по умолчанию я пока не знаю
[18:08:12] <flylinkdc> но то что при чистом запуске - будут зюки у виндовых юзеров это факт
[18:09:09] <flylinkdc> нужно если винда то делать кодировку дефолтную не UTF-8
[18:09:29] <Tehnick> > сборку делаю как в ридми
Посмотрел bat-файл. Там сборка в отдельной папке не предусмотрена.
[18:09:41] <flylinkdc> что значит в отдельной папке
[18:09:47] <flylinkdc> а как еще собирать
[18:10:08] <Tehnick> flylinkdc, можно попросить pavelvat, чтобы он или скрипты поправил или .gitignore обновил.
[18:10:19] <flylinkdc> и как сборка связана с UTF-8 и не показываемым интерфейсам
[18:11:26] <Tehnick> В отдельной папке --- это примерно так:
mkdir -p builddir && cd builddir
cmake ..
make
...
rm -r builddir
[18:11:46] <flylinkdc> а. так не делал
[18:11:47] <Tehnick> В идеале, за пределы builddir ничего не вылазит.
[18:12:29] <Tehnick> flylinkdc, это в никсах. Для винды используются скрипты.
[18:14:18] <Tehnick> flylinkdc, а ты можешь выхлоп `git status` в текстовом виде скинуть?
[18:14:22] <flylinkdc> еще заметил для винды нет флагов стран
[18:14:26] <Tehnick> flylinkdc, только полный выхлоп.
[18:14:31] <flylinkdc> update_geoip - только башевский
[18:14:33] <flylinkdc> счас скину
[18:14:36] <flylinkdc> а куда кинуть
[18:14:44] <Tehnick> flylinkdc, любой pastebin
[18:14:59] <Tehnick> flylinkdc, http://susepaste.org/
[18:17:53] <flylinkdc> у меня тут консольного гита нет - сделал копию из тортилки
[18:17:54] <flylinkdc> http://susepaste.org/10203410
[18:19:29] <flylinkdc> кинул  D:\eiskaltdcpp\eiskaltdcpp\win32\EiskaltDC++\resources>GeoIPCountryWhois.csv
[18:19:36] <flylinkdc> перезапустил - флаги не появились
[18:19:40] <flylinkdc> в чем глюк
[18:19:44] <flylinkdc> у вас есть флаги?
[18:29:40] <Tehnick> flylinkdc, есть, если включить.
[18:29:57] <Tehnick> flylinkdc, надо проверить по какому пути айскальт этот файл ищет.
[18:30:10] <Tehnick> flylinkdc, в настройках включил?
[18:30:36] <Tehnick> flylinkdc, и да, иконок флагов не будет, только текстовые коды стран.
[18:31:46] <flylinkdc> в настройках пока ничего не включал - я запустил сразу после компиляции
[18:31:55] <flylinkdc> как скрипт сделал папку с файлами
[18:32:22] <flylinkdc> а чего иконки - в qt сложно приделать?
[18:32:31] <flylinkdc> ведь с флагами красивше
[18:33:19] dhamp_ вошёл(а) в комнату
[18:33:41] <Tehnick> flylinkdc, посмотрел твой лог, лучше скрипты поправить немного, чем ради винды кучу строк в gitignore добавлять. (Даже с учетов использования простых регекспов...)
[18:34:13] <Tehnick> flylinkdc, было решено не заниматься этой ерундой. И я до сих пор с этим согласен.
[18:34:50] <Tehnick> flylinkdc, с тому в большинстве случаев дц клиенты используются в локалках, где эта фича бесполезна.
[18:35:33] <Tehnick> flylinkdc, и еще, полный список IP адресов доступен только на ADC хабах. А их мало кто использует.
[18:36:11] <Tehnick> flylinkdc, ну или еще на NMDC хабах, где админы специально настроили сервер. Но я таких давно не встречал.
[18:37:19] <dhamp_ > flylinkdc, ты mongoose куда то встраиваешь или просто используешь ?
[18:41:52] <flylinkdc> у меня он работает как флай-сервер
[18:42:15] <flylinkdc> http://www.flylinkdc.ru/2014/01/flylinkdc-mongoose.html
[18:42:32] <flylinkdc> по идее можете тоже себе приделать запрос
[18:42:50] <flylinkdc> будет в окне поиска показывать какое качество видео и рейтинг киношек
[18:42:56] <dhamp_ > flylinkdc, короче ты его api не юзеаешь я понял
[18:43:04] <flylinkdc> почему не юзаю
[18:43:12] <flylinkdc> там то апи мелкий
[18:43:16] <flylinkdc> один обрабочтки
[18:43:26] <flylinkdc> у меня POST запросы только
[18:43:47] <flylinkdc> также в планах перевести ядром на http://cesanta.com/net_skeleton.shtml
[18:43:56] <flylinkdc> автор тоже Сергей
[18:44:19] <flylinkdc> чтобы при коннекте к 500 хабам не порождалось 500 ниток )
[18:45:00] <dhamp_ > у меня чего то после апдейте до 5.4 и переписывания кода под него, появился сегфотл в совсем неожиданном месте, в jsoncpp на парсинге пришедшего запроса
[18:45:16] <dhamp_ > вот такая вот печаль
[18:46:28] <flylinkdc> я в таких случаях пишу Сергею - он быстро отвечает и помогает
[18:46:41] <flylinkdc> или через issue
[18:47:12] <flylinkdc> а сам json валидный
[18:47:25] <flylinkdc> если его сохранить и посомтреть
[18:47:33] <dhamp_ > flylinkdc, да тут проблема возможно и не в его серве, хотя есть подозрение что conn->connection_param становится не валидным
[18:47:45] <dhamp_ > flylinkdc, сам json валидный точно
[18:48:02] <dhamp_ > но до его распарсатупо не доодит
[18:48:22] <flylinkdc> предлагаю кинуть стек падения Сергею
[18:48:40] <dhamp_ > bool
Reader::parse( const std::string &document,
               Value &root,
               bool collectComments )
{
   document_ = document;
   const char *begin = document_.c_str();
   const char *end = begin + document_.length();
   return parse( begin, end, root, collectComments );
}
gdb кажет на сегфолт в assign строки :\
[18:52:58] <dhamp_ > flylinkdc, https://gist.github.com/dhamp/510df0e0219e084a7ce9
[18:53:09] <dhamp_ > и чем сергею это должно помочь ?
[18:54:03] <flylinkdc> Я сравнил json у вас он немного дургой чем у меня
[18:54:18] <dhamp_ > flylinkdc, в чём другой ?
[18:55:20] <flylinkdc> можешь мелдом сравнить https://flylinkdc.googlecode.com/svn/trunk/jsoncpp
[18:55:26] Diger вышел(а) из комнаты
[18:55:59] <flylinkdc> а этот json из обработчка мангуста где-то сохраняется перед передачей парсеру?
[18:56:04] <dhamp_ > flylinkdc, у нас jsoncpp c последний с транка
[18:56:08] <flylinkdc> или отдается сырой указатель
[18:56:47] <dhamp_ > flylinkdc, отдаётся указатель
[18:57:32] <dhamp_ > flylinkdc, вот так сейчас и работает https://github.com/eiskaltdcpp/eiskaltdcpp/blob/dcppsyncv4/json/jsonrpc-cpp/jsonrpc_httpserver.cpp
[18:58:13] <dhamp_ > flylinkdc, вот так я сделал и не работает https://gist.github.com/dhamp/9fd6a25451f216462fdf
[18:58:45] <dhamp_ > > [18:52:26] <flylinkdc> или отдается сырой указатель
ты предлагаешь где-то указатель хранить ?
[19:01:20] <flylinkdc>                 tmp.assign(conn->content, conn->content_len);
[19:01:29] <flylinkdc> а вот тут длина не может быть 0?
[19:01:36] <dhamp_ > нет.
[19:01:53] <dhamp_ > flylinkdc, ты трейс посмотри внимательно
[19:02:05] <dhamp_ > tmp валидная строка
[19:02:10] <dhamp_ > валится дальше
[19:02:36] <flylinkdc> у меня подобный код static int begin_request_handler(struct mg_connection *conn, enum mg_event ev)
[19:03:10] <flylinkdc>         if (l_query_type != FLY_POST_QUERY_UNKNOWN)
        {
        
            if (conn->content_len <= 0)
            {
                mg_printf(conn, "%s", g_badRequestReply);
                mg_printf(conn, "Error: no content\n");
                std::cout << "Error: no content." << std::endl;
#ifndef _WIN32
                syslog(LOG_NOTICE, "Error: no content");
#endif
                return MG_TRUE;
            }
            const char* l_fly_response =    mg_get_header(conn, "X-fly-response");
            std::vector<unsigned char> l_decompress;
            zlib_uncompress((uint8_t*)conn->content, conn->content_len, l_decompress);
            
[19:03:16] <flylinkdc> но я проверяю на длину
[19:05:10] <flylinkdc> а ты пробовал сохранять то что приходит с сервера в виде лога или файла?
[19:05:28] <flylinkdc> если там валидный json ведь не должно падать
[19:10:58] <dhamp_ > flylinkdc, длина не нулевая точно,
conn->content
"{"jsonrpc": "2.0", "id": "1", "method": "show.version"}.1:3121\r\nAccept: */*\r\ncontent-type: text/plain;\r\nContent-Length: 55\r\n\r\n{"jsonrpc": "2.0", "id": "1", "method": "show.version"}"
conn->content_len
55
и длина верная
echo -n '{"jsonrpc": "2.0", "id": "1", "method": "show.version"}' | wc
      0       6      55
[19:12:08] <dhamp_ > > [19:01:46] <flylinkdc> если там валидный json ведь не должно падать
так json ещё не парсится даже
[19:13:05] <dhamp_ > ты из event хэндлера зовешь чтото для ответа ? или отвечаешь прямо в нём ?
[19:13:40] <dhamp_ > flylinkdc, у тебя юзается conn->connection_param или нет ?
[19:17:45] Diger вошёл(а) в комнату
[19:22:00] <flylinkdc> connection_param не используется
[19:23:43] <flylinkdc> ответ делаю там-же
[19:23:44] <flylinkdc>             size_t l_http_len = l_is_zlib ? size_t(l_dest_data.size()) : l_res_stat.length();
            const int l_result_mg_printf = mg_printf(conn, "HTTP/1.1 200 OK\r\n"          // TODO - HTTP/1.1 ?
                                                           "Content-Length: %u\r\n\r\n",
                                                            l_http_len);
[19:24:11] <dhamp_ > видимо в этом дело
[19:24:37] <dhamp_ > pointer меняется и начинает указывать в ебеня
[19:24:39] <flylinkdc> у меня синхронный запрос
[19:24:47] <dhamp_ > у нас тоже синхронный
[19:24:57] <flylinkdc> а зачем вы откладываете ответ
[19:25:08] <dhamp_ > мы не оклыдваем ответ
[19:25:23] <flylinkdc> получается что после этого зовется еще раз обработчик с уже другим значением
[19:26:18] <flylinkdc> ведь пока вы не вернете назад управление с return MG_FALSE; или return MG_TRUE;
[19:26:25] <flylinkdc> указатель должен быть валидный
[19:27:03] <dhamp_ > так блин вот как раз до этого и не доходит еще. а указатель уже не валидный
[19:27:15] <dhamp_ > и кажет в ебеня
[19:27:24] <dhamp_ > jsoncpp падает с несчастья
[19:27:54] <flylinkdc> ну тут не смогу подсказать у меня ваш клиент без отладчика вообще
[19:28:06] <flylinkdc> я под VisualC++ могу чето посомтреть почему и как
[19:28:18] <flylinkdc> а в других средах увы
[19:28:49] <flylinkdc> если сделать копию укзателя сразу в начале обрабочика
[19:28:53] <flylinkdc> тоже будет падать
[19:28:56] <dhamp_ > flylinkdc, printf() работает везде одинаково =)
[19:29:36] <flylinkdc> попробуй эксперимент
[19:29:43] <flylinkdc> создай временный буфер в начале
[19:29:49] <flylinkdc> и скопируй что отдал мангуст
[19:30:00] <flylinkdc> и уже тот указатель скинь парсеру json
[19:30:07] <flylinkdc> если упадет - значит виноват мангуст
[19:30:36] <flylinkdc> если нет то json
[19:31:18] <dhamp_ > flylinkdc,
serv sddr1: 0
tmp: {"jsonrpc": "2.0", "id": "1", "method": "show.version"}
serv sddr3: 0
serv sddr4: 140737018669032
это выхлоп в консоль
    static void* serv;
    static int ev_handler(struct mg_connection *conn, enum mg_event ev) {
        int result = MG_FALSE;
        if (ev == MG_AUTH) {
          return MG_TRUE;   // Authorize all requests
        }
        if (ev == MG_REQUEST) {
            serv = (void*) conn->connection_param;
            printf("serv sddr1: %ld\n", (int64_t)serv);fflush(stdout);
            if(strcmp(conn->request_method,"OPTIONS") == 0) {
                std::string res = "";
                printf("serv sddr2: %ld\n", (int64_t)serv);fflush(stdout);
                serv->sendResponse(res, conn);
            }
            else if(strcmp(conn->request_method,"POST") == 0) {
                std::string tmp;
                tmp.assign(conn->content, conn->content_len);
                printf("tmp: %s\n",tmp.c_str());fflush(stdout);
                printf("serv sddr3: %ld\n", (int64_t)serv);fflush(stdout);
                serv->onRequest(tmp, conn);
            }
            result = MG_TRUE;
        }
        return result;
    }
    bool HTTPServer::onRequest(const std::string& str, void* addInfo)
    {
        printf("serv sddr4: %ld\n", (int64_t)addInfo);fflush(stdout);
        Json::Value response;
        std::string s = str;
        m_jsonHandler.Process(s, response);
        std::string res = m_jsonHandler.GetString(response);
        printf("serv sddr5: %ld\n", (int64_t)addInfo);fflush(stdout);
        sendResponse(res, addInfo);
        return true;
    }
и код
[19:32:48] <flylinkdc> а почему static void* serv;
[19:32:51] <flylinkdc> зачем он статитк
[19:33:07] <flylinkdc> serv
[19:33:59] <flylinkdc> ведь если придет одновременно запросы то оно перетрется
[19:45:42] flylinkdc вышел(а) из комнаты
[19:51:17] flylinkdc вошёл(а) в комнату
[20:00:14] <dhamp_ > flylinkdc, если просто отсылать то то пришло, без изменений - всё хорошо
[20:01:35] <flylinkdc> ну значит починил?
[20:01:43] <dhamp_ > нет
[20:03:16] flylinkdc вошёл(а) в комнату
[20:04:19] <dhamp_ > flylinkdc, я всё ещё ломаю голову почему оно падает
[20:04:58] <flylinkdc> а какие изменения делаются то?
[20:05:09] <flylinkdc> по коду я ничего не вижу такого
[20:05:29] <flylinkdc> если printf закоментить то тоже все падает
[20:05:40] <dhamp_ > > [18:53:50] <dhamp_ > flylinkdc, вот так сейчас и работает https://github.com/eiskaltdcpp/eiskaltdcpp/blob/dcppsyncv4/json/jsonrpc-cpp/jsonrpc_httpserver.cpp
[18:54:31] <dhamp_ > flylinkdc, вот так я сделал и не работает https://gist.github.com/dhamp/9fd6a25451f216462fdf
выше я пиводил
[20:05:51] <dhamp_ > приводил*
[20:06:15] <dhamp_ > соответсвенно работает на mongoose 4.2 вроде
[20:08:12] <flylinkdc> у меня версий больше нет. если узнаешь почему падало - отпиши тут
[20:18:51] flylinkdc вышел(а) из комнаты
[22:05:46] Diger вышел(а) из комнаты
[22:15:12] Diger вошёл(а) в комнату
[23:45:53] Diger вышел(а) из комнаты
[23:47:06] pavelvat вошёл(а) в комнату
[23:50:23] <pavelvat> flylinkdc: по поводу libwinpthread-1.dll - это же только если собирать со свежей версией gcc, а для этого обязательно надо Qt-4.8.6, который имеет баги с темами, поэтому учитывая что релизы Qt выходят очень редко скорее всего сборка релиза 2.3.0 для Windows будет сделана gcc-4.6.3 и с Qt-4.8.5, а там нет libwinpthread-1.dll.
[23:53:07] <pavelvat> flylinkdc: "<flylinkdc> когда собираю под винду - много файлов не в gitignore http://yadi.sk/d/yf4EmmT_Pcnfk"
Так а кто тебя заставляет собирать в директории win32 из дерева исходников, у меня вообще в совершенно другом месте директория сборки находится.
[23:54:19] <dhamp_ > pavelvat, ну так напиши скрипты так, что бы мог собрать даже медведь
[23:56:51] <pavelvat> Tehnick: https://github.com/orgs/eiskaltdcpp/members а кто такой  msva? И почему он в списке админов на github вместе с тобой и dhamp? И почему в этом списке нет dein.negativ? - Он всё-таки первоначальный автор, по-моему он должен там быть даже если больше ни одного коммита не сделает в будущем, и именно как админ, а не просто участник.
[23:57:26] <pavelvat> dhamp_ : скрипты и так написанны так, там можно указать директорию сборки какую угодно.
[23:58:30] <Tehnick> pavelvat, это один из разработчиков оригинального айскальта (еще до перехода на ядро DC++).
[23:59:04] <Tehnick> pavelvat, а еще он основатель и владелец этой конфы.
[23:59:15] <pavelvat> Tehnick: и tka4ev надо уже добавить наконец, у него уже очень большой вклад.
[23:59:36] <Tehnick> pavelvat, я его спрашивал. Он отказался. Ему так удобнее.
[23:59:39] <dhamp_ > pavelvat, а он хочет чтобы его добавили ?
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!