pavel-pimenov / flylinkdc-r5xx

flylinkdc-r5xx
GNU General Public License v2.0
55 stars 27 forks source link

Неверная магнет ссылка для флая приводит к постоянному возвращению фокуса окна #1506

Open pavel-pimenov opened 9 years ago

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 06, 2014 03:25:29

Если флайлинк связан с магнет ссылками, то после открытия магнет ссылки на торрент в броузере, открывается окно флая (магнет открылся). Но в закачках флая ничего не появляется и окно флая невозможно закрыть (оно постоянно возвращает себе фокус). Ситуация повторяется всегда. Проблема после нажатия магнет ссылки на сайте rutor.org. На других не проверял. Пример магнета: magnet:?xt=urn:btih: d1ae6568d9524c886f41ccac4dfcd546f2b34dc9 &dn=rutor.org_%D0%A4%D0%B8%D0%B7%D1%80%D1%83%D0%BA+%5B01x01-15%5D+%282014%29+SATRip&tr=udp://bt.rutor.org:2710&tr= http://retracker.local/announce

Original issue: http://code.google.com/p/flylinkdc/issues/detail?id=1469

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 05, 2014 19:20:24

Привет. пока не смог повторить. под отладкой у меня вылезла ошибка о том что база данных levelDB уже отрыта [2014-05-06 06:16:11] [CFlyLevelDB::open_level_db] l_status.IsIOError() = IO error: D:\vc10\r5xx\compiled\Settings\tth-history.leveldb\MANIFEST-000670: Неверный дескриптор.

но потом запущенный флай получает фокус и его можно корректно закрыть. укажите точную версию флайлинка с номером билда

Status: Accepted

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 05, 2014 19:49:01

Поставил брэк в MainFrame::onCopyData Запущенный флай получает корректно событие с указанной ссылкой http://yadi.sk/d/hzAtH9FbPCNpu потом попадает в // [+] IRainman https://code.google.com/p/flylinkdc/issues/detail?id=223 if (Util::isTorrentLink(aUrl)) { openBitTorrent(aUrl); }

Потом сюда void WinUtil::openBitTorrent(const tstring& p_magnetURI) // [+] IRainman https://code.google.com/p/flylinkdc/issues/detail?id=223 { string l_BtHandler = SETTING(BT_MAGNET_OPEN_CMD); if (l_BtHandler.empty()) { // TODO support auto detect with "OpenWithProgids" key http://msdn.microsoft.com/en-us/library/bb166549(v=VS.100).aspx /_HKEY hk; LocalArray<TCHAR, MAX_PATH> openCmd; // What command is set up to handle .torrent right now? if (::RegOpenKeyEx(HKEY_CURRENT_USER, _T("SOFTWARE\Classes.torrent\OpenWithProgids"), 0, KEY_READ, &hk) == ERROR_SUCCESS) { DWORD bufLen = openCmd.size_of(); if (::RegQueryValueEx(hk, _T("progid"), NULL, NULL, (LPBYTE)openCmd.data(), &bufLen)) { translateLinkToextProgramm(p_magnetURI, Util::emptyStringT, openCmd.data()); } ::RegCloseKey(hk); } else { translateLinkToextProgramm(p_magnetURI, T(".torrent")); }/ } else { AppendQuotsToPath(l_BtHandler); translateLinkToextProgramm(p_magnetURI, Util::emptyStringT, Text::toT(l_BtHandler)); } }

Можете открыть свой файл конфига DCPlusPlus.xml в блокноте и найти там BTMagnetOpenCMD что в этом параметре стоит?

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 05, 2014 19:57:13

Этот параметр в настройках находится тут http://yadi.sk/d/flc3HarNPCRJY пропишите тут ссылку на вашу торрент качалку у вас в этом случае будет запускаться торрент клиент автоматом?

Фича реализована тут https://code.google.com/p/flylinkdc/issues/detail?id=223 но не доделана - нет автодетекта торрент клиента поэтому думаю у 99% юзеров этот параметр всегда пустой.

жду ответа

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 05, 2014 21:54:22

По автообновлению ставлю апдейты. Вчера вот обновлялся. Должна быть последняя версия. Но такое поведение у меня уже давно. Как только буду дома, отвечу на вопросы.

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 06, 2014 08:40:41

This issue was closed by revision r17158 .

Status: Fixed

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 06, 2014 08:43:24

Починил - флай ловил ссылку торрента и если был свернут в трей то раскрывался обратно - это я поправил.

Если прописать путь к торрент качалке то будет запускаться она. я посмотрю и попробую приделать авто-детект параметра -тогда подефолту будет запускаться mTorrent или другой.

проверьте в бетке что все ок стало.

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 07, 2014 03:14:38

r502 -x64 build 17149 Та же ерунда. Окно постоянно восстанавливается.

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 07, 2014 04:12:28

C:\Program Files (x86)\uTorrent\uTorrent.exe
pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 07, 2014 07:05:47

Сделайте скрин окна какое восстанавливается.

Status: New

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 07, 2014 07:17:53

стоп. я релиз-ветку 502 не обновлял еще обновитесь временно на бетку r503 -beta55-build 17158 или через автообновление или тут руками http://www.fly-server.ru/install/r5xx/src-bin/

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 07, 2014 16:25:20

Ясно) Какую бетку нашел на главной, ту и скачал)

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 07, 2014 23:14:15

А так бетка не захотел еще обновиться? в общем проблема решена? вливать фикс в релиз?

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 08, 2014 00:29:03

Он сейчас вообще не разворачивается из трея? Если да, то все ок.

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 08, 2014 00:35:21

У меня не разворачивается - а вы проверять у себя не будете?

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 08, 2014 01:47:58

Я проверил. Он не развернулся я и спросил должно ли так быть. Если так и должно быть, то все ок. То есть сейчас ничего не происходит после нажатия на магнет. Флай тихо остается в трее. Но такое поведение какое-то непонятное. То ли сработало нажатие на магнет, то ли нет. Хотя окно браузера фокус теряет при этом.

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 08, 2014 02:00:06

а у вас при это торрент качалка не запускается? она ведь прописана в настройках? по алгоритму задумано что флай получает управление и если видит что формат магнет от ДЦ++ static bool isTorrentLink(const tstring& sFileName) { return (sFileName.find(_T("xt=urn:btih:")) != tstring::npos && sFileName.find(_T("xt=urn:tree:tiger:")) == tstring::npos); }

то далее запускает торрент-клиент прписанный в настройках и отдает ему этот параметр...

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 08, 2014 02:17:45

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

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 08, 2014 02:29:27

Прописал правильный путь, uTorrent запускается. Но если не прописан путь, то получается странное поведение.

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 08, 2014 02:32:12

Если не прописан то чем странное? флай ничего не делает. а раньше он разворачивался из трея всегда.

как поправить чтобы было хорошо?

Status: Accepted

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 08, 2014 02:57:17

Жамкаешь по ссылке и ничего не происходит. Если не знаешь, что флай связан с магнетами и в нем не прописан торрент клиент, то вообще не понятно почему ссылка не работает. Когда разворачивался флай, то хотя бы было понятно, что он пытается открыть магнет, но у него не получается. Думаю, что для меня было бы правильно, когда при детектировании магнета от торрента и отсутствии параметра торрент качалки, выводилось хоть какое-то сообщение об этом (в идеале конечно и что-то типа инструкции как правильно всё настроить). А еще бы проверку корректности пути до торрент качалки. У меня был вбит путь, которого вообще не существует, это можно определить. Если этого не делается сейчас.

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 08, 2014 03:27:01

Ок. Согласен - эта фича сделано у нас криво и не доделана. вечером попробую прикрутить автодетект расположения торрент клиента или ругалку.

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 08, 2014 03:49:13

ОК

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 08, 2014 23:49:40

This issue was closed by revision r17168 .

Status: Fixed

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 08, 2014 23:55:34

This issue was closed by revision r17170 .

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 08, 2014 23:55:35

This issue was closed by revision r17170 .

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on May 09, 2014 00:39:09

Обновил бетку и релиз - проверьте

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 09, 2014 16:15:47

Сейчас, если указан неверный путь к торрент качалке, флай раз в секунду где-то забирает на себя фокус с любого окна. Даже если он свернут. Если путь верный, то всё норм. Если путь вообще не указан, то всё норм.

pavel-pimenov commented 9 years ago

From titanmat...@gmail.com on May 09, 2014 16:24:15

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

pavel-pimenov commented 9 years ago

From zippoz...@gmail.com on July 19, 2015 09:38:55

Открываю, проблема подтверждается, полное описание тут: https://github.com/pavel-pimenov/flylinkdc-r5xx/issues/17#issuecomment-122666045 Фикс неправильного пути к торрент-клиенту или белиберды в поле пути тут: r18762 https://code.google.com/p/flylinkdc/source/detail?r=18762 На данный момент при клике в чате на ссылку вида БитТоррент, клиент постоянно зацикливается на MainFrame::onCopyData() с отрисовкой сплеша, и парсингом командной строки. Помогает только закрытие клиента или убийство в диспетчере задач.

Status: Accepted