summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Release 2.0.5deluge-2.0.5master2.0.xCalum Lind2021-12-15
|
* Update ChangelogCalum Lind2021-12-15
|
* [i18n] Fix set_language error with empty lang stringCalum Lind2021-12-15
| | | | | | | | | | The Web server config for language was set to an empty string which resulted in an warning logged by i18n set_language. * Changed set_language to ignore empty language string and do nothing. We don't want to override the user's system language unless actually specified by the user. * Improved the translation warning message.
* [Build] Fix WebUI js minifying errorCalum Lind2021-12-15
| | | | | | | | | | | | | Some users encoutered a bug where WebUI in browser show a white screen, which indicates a problem with loading javascript files. The problem was due to closure minifying failure leaving a zero-length deluge-all.js file which broke the usual fallback mechanism to debug files. * Fixed usage of ES6 const declaration breaking closure minifying. * Cleanup minified files upon errors so no zero length files left * Replaced broken and unmaintained slimit with rjsmin. * Fixed unable to set dev or debug query args due to request args requiring bytes.
* [Packaging] Start replacing deprecated distutilsCalum Lind2021-12-13
| | | | | | | | | Working towards removing distutils > direct usage of distutils is now actively discouraged, with setuptools being the preferred replacement. Ref: https://setuptools.pypa.io/en/latest/deprecated/distutils-legacy.html
* [CI] Replace pypi deluge-libtorrent with libtorrentCalum Lind2021-12-12
| | | | | * Remove certifi since included in requirements.txt * Remove old travis config
* [Docs] Update release checklist pageCalum Lind2021-12-12
|
* back to developmentCalum Lind2021-12-12
|
* Release 2.0.4deluge-2.0.4Calum Lind2021-12-12
|
* Update changelogCalum Lind2021-12-12
|
* [Docs] Add Flatpak install linksCalum Lind2021-12-12
|
* [Docs] Update install guideCalum Lind2021-12-12
| | | | | | | | | | | | | | Rewrite install instructions to include more details on Deluge 2.0 install. * Added other Linux distros * Added stable PPA details * Added link to forum for Windows and macOS community packages Co-authored-by: Sergio M <sergio@example.com> Co-authored-by: Ofry Linkovsky <15746116+OfryL@users.noreply.github.com> Closes: deluge-torrent/deluge#296 Closes: deluge-torrent/deluge#310
* [Docs] Replace recommonmark with MyST parserCalum Lind2021-12-12
| | | | | | | | | | | We used recommonmark so that we can use markdown in sphinx but it is buggy and now so switch to better supported MyST-parser. * Fixed incorrect heading warnings in markdown. * Added sphinx toctree to markdown using directive as required by MyST. * Upgraded Sphinx to 4.3 Ref: https://myst-parser.readthedocs.io
* [GTKUI] Open tracker edit with double clickDjLegolas2021-11-26
| | | | | Closes #2434 Closes: deluge-torrent/deluge#253
* [GTKUI] Support using the Ayatana fork of indicators.Unit 1932021-11-24
| | | | | | | As this fork is maintained in Debian, and as of Impish/21.10 is the supported variant in Ubuntu as well. Closes: deluge-torrent/deluge#317
* [GTKUI] Add "Last Transfer" columnAndrew Stone2021-11-23
| | | | Closes: deluge-torrent/deluge#255
* [GTK3UI] Allow escape key to close Create Torrent dialogGregorio Litenstein2021-11-23
|
* [Packaging] Fix gtk3 glade path in MANIFESTCalum Lind2021-11-23
| | | | Missed path update when moving from gtk2 to gtk3
* [Plugins] Fix allow enabling any plugin Python versionMartin Hertz2021-11-08
| | | | | | | Properly fix allow enabling any plugin Python version, first attempted in previous commit 3433a91 Closes: deluge-torrent/deluge#316
* [GTKUI] Added detection of torrent URL on GTK UI focusMatias Wilkman2021-10-03
| | | | | | | In case deluge GTK gets focus with a new torrent URL on the clipboard, the "Add Torrent from URL" dialog will pop up automatically Closes: deluge-torrent/deluge#306
* [Core] Workaround torrent file_progress lt 2.0 errorCalum Lind2021-10-03
| | | | | | | | | | | | | | Workaround lt 2.0 python bindings error when calling a torrent handle file_progress: ``` Boost.Python.ArgumentError: Python argument types in torrent_handle.file_progress(torrent_handle) did not match C++ signature: file_progress(libtorrent::torrent_handle {lvalue}, libtorrent::flags::bitfield_flag<unsigned char, libtorrent::file_progress_flags_tag, void> flags=0) ``` Should be fixed in 2.0.5 release: https://github.com/arvidn/libtorrent/commit/3feba04e6d
* [GTKUI] Fix piecesbar crashing when enabledCalum Lind2021-10-03
| | | | | | | | | | | | | | When enabled in preferences the piecesbar was crashing the application. This was narrowed down to an issue with text_font property and there was a suggestion that the PangoFontDescription should be freed after getting the result from get_style_context. Fixed by creating a copy of the PangoFontDescription Refs: * https://trac.wxwidgets.org/ticket/15697#comment:1
* [Stats] Fix cairo error and failing testsCalum Lind2021-10-03
| | | | | | | | | | | | | | | | Fixed the Stats GTKUI test not updated to the new GTK3 dir layout. Fixed pygobject cairo ImageSurface error: AttributeError: 'gi.repository.cairo' object has no attribute 'ImageSurface' The documentation seems to suggest that using `import cairo` is the correct usage and this fixed the issue, along with adding suggested gi.require_foreign call. References: https://pygobject.readthedocs.io/en/latest/guide/cairo_integration.html
* [UI] Remove num_blocks_cache_hits usage for statsCalum Lind2021-10-03
| | | | Removed in libtorrent v2: https://github.com/arvidn/libtorrent/commit/569d4
* [Core] Stop using removed disk.num_blocks_cache_hits staticzero2021-10-03
| | | | | Removed in libtorrent v2.0.0: https://github.com/arvidn/libtorrent/commit/569d47c3914d1f4a8672b92166ee461b4ae33aef
* [Core] Use external_address in external_ip alert handlerCalum Lind2021-10-03
| | | | | | | | | | | Unit tests are segfaulting and this is a result of a subsequent call to pop_alert creating a dangling pointer to alert.message method. Replace alert.message call with correct external_address property that doesn't require any parsing and wonder trigger segfault to expired pointer. https://github.com/arvidn/libtorrent/issues/6437
* [Lint] Fix spelling mistakesCalum Lind2021-09-21
| | | | | | | A quick fix of some of the mistakes caught by codespell. Updated readme with new IRC server Useful to add it as part of linting checks.
* [UI] Add magnet icons for copy and add actionsCalum Lind2021-09-21
| | | | | | | Added new magnet icons with a consistent naming scheme Run script to update all icons Co-authored-by: Matias Wilkman <matias.wilkman@gmail.com>
* [WebUI] Add menu option to copy magnet URIGargaj2021-09-21
|
* [Core] Export torrent get_magnet_uri methodCalum Lind2021-09-21
| | | | Returns a generated magnet uri from torrent info
* [i18n] Update translation PO files from LaunchpadCalum Lind2021-09-14
|
* [GTKUI] Fix unhandled error with empty clipboardCalum Lind2021-09-14
| | | | | | | If the primary clipboard was empty the fallback resulted in an unhandled error due to missing arguments. Fixed by using SELECTION_PRIMARY as fallback clipboard
* [CI] Add core dump capture to GH jobCalum Lind2021-09-10
| | | | Add further debugging to trace segfaults with lt 1.2
* [#3310|Core] Change logging invalid session status key to debugCalum Lind2021-08-29
| | | | | | | | Users were complaining about logs being flooded with `Session status key not valid` which was a result of the Stats plugin using the wrong status keys. Fixed by changing to debug log level since not useful in warning level if spamming.
* [#3310|Stats] Fix constant session status key warningsiczero2021-08-29
| | | | | | | Fixed logs flooded with: [WARNING ][deluge.core.core :655 ] Session status key not valid: num_connections [WARNING ][deluge.core.core :655 ] Session status key not valid: dht_cache_nodes
* [#3478|Core] Fix loading magnet with resume_data and no metadataCalum Lind2021-08-29
| | | | | | | | | | | | | | | | | Since libtorrent 1.2.10 magnets save resume_data even with metadata not yet downloaded. Unfortunately when using the deprecated add_torrent_params key resume_data results in an error "missing info-hash from URI" The problem is due to lt session requiring an info_hash in add_torrent_params but resume_data does not set or override this key and resume_data overrides the add_torrent_params.url with an empty string. The workaround is to specify the info_hash in add_torrent_params. We require sha1_hash object or bytes and use of bytearray to maintain python2 compatability. https://dev.deluge-torrent.org/ticket/3478
* [Console] Fix using windows-curses on WindowsCalum Lind2021-08-01
| | | | | | The console tests are still failing on Windows due to an issue where the sys args are not being correctly replaced in the tests so the pytest args are being passed to console.
* [Notifications] Fix email KeyError with status nameCalum Lind2021-08-01
| | | | | | | | | | | | Fix user reported error: Notification failure using email: [Failure instance: Traceback: <class 'KeyError'>: 'name' This was due to using empty dict used with get_status where a list of keys is now required or the all_keys parameter is used. Fixes: #3303
* [Tests] Fix skipping torrent test for libtorrent >= 1.2Calum Lind2021-08-01
| | | | Test is still failing with libtorrent 2 so also skip.
* [Tests] Fix incorrent twisted defer importCalum Lind2021-07-31
| | | | | With the release Twisted 21.7.0 there was an import error running the tests due to defer incorrectly imported via twisted.internet.tasks module.
* [CI] Add catchsegv to get a backtrace for segfaultsCalum Lind2021-07-31
| | | | | Encountering random libtorrent segfault with GitHub action so add catchsegv when running tests to get more information.
* [Install] Update and fix python optional requirementsCalum Lind2021-07-31
| | | | | | | | | | | | | | | * Added required dependency setuptools to install_requires * Remove optional dependency ipaddress from install_requires * Created extras_require in setup.py. The optional dependencies should not be included in install_requires so that users can either install forked dependencies or remove problematic ones. Updated documentation to detail how to install these optional dependencies. * Fixed README badge Refs: * https://dev.deluge-torrent.org/ticket/3470 * https://dev.deluge-torrent.org/ticket/3282 * https://dev.deluge-torrent.org/ticket/3353
* [GTKUI] Remove deprecated GTK attributesCalum Lind2021-07-25
|
* [i18n] Refactor loading libintl libraryCalum Lind2021-07-25
| | | | | Handle different names for libintl library on MacOS and Windows with fallback.
* Ignore TypeError with custom Twisted loggingCalum Lind2021-07-25
| | | | | | | | | | | | The modification of Python logging _findCaller args in Python 3.8 raises TypeError in our custom Twisted Logger with Twisted <= 19 versions. The actual issue for the custom logger was fixed in 18.9 so added a version check to avoid usage. Refs: - https://twistedmatrix.com/trac/ticket/7927 - https://github.com/twisted/twisted/commit/6b894744e4d2439c1a4436d1e0e0b2a6cdff68e4
* [CI/CD] Add github actions to replace TravisCalum Lind2021-07-25
| | | | | | | | | | | | | | | | Due to new limitations for open-source projects on Travis we are switching to GitHub actions. * Notes about system site-packages We had many problems with accessing system python packages on Travis for libtorrent and GTK and the problems are harder on Github since there is no more access. For now copying the python libtorrent binary into the deluge source is the workaround. There is a pip package that could be used in future. Fixed failing tests with libtorrent 1.2 which required a non-zero length file in torrent and workarounds for async alert delay.
* [AutoAdd|3295] Correctly fix auto-adding magnetsCalum Lind2021-07-24
| | | | | | | | Properly fix adding magnets, first attempted in previous commit 2e466101fc20a add_torrent_magnet does not return a deferred so wrap in maybeDeferred. Fixed broken test due to new deluge website icon
* [AutoAdd] Fix magnet missing applied labelsRFBomb2021-04-17
| | | | | | | | | | | | | | | | | | | The autoadd function does not apply labels to torrents that are added via magnet files. Those magnet files are also renamed ".Magnet.Invalid". Here are two threads discussing the issue, which still exists. https://forum.deluge-torrent.org/viewtopic.php?t=55539 https://dev.deluge-torrent.org/ticket/3295 Here is what Deluged.log shows when the problem occurs: 21:51:38 [ERROR ][deluge_autoadd.core :333 ] Cannot Autoadd magnet: /Torrents/TorrentFiles/FileName.magnet: Torrent already in session (e1e0f33b656cb74532dcddc04f2ec52771ef1c26). 21:56:38 [ERROR ][deluge_autoadd.core :333 ] Cannot Autoadd magnet: /Torrents/TorrentFiles/FileName2.magnet: Torrent already in session (ef839d84d113cc35719b6fd616a4d8e220de7d32). After looking at the code, what appears to be happening is the magnet link is added, but then a second scan of the folder occurs. Since the magnet file was never renamed, it will attempt to add it again, error out, then rename the file "magnet.invalid". The only difference between the torrents working properly and magnets having the issue is the two lines I copy-pasted into the magnet IF statement. This should resolve the issue.
* [Core] Improve on_alert_tracker_error for lt >= 1.2DjLegolas2021-04-17
| | | | | | | | | | | libtorrent 1.2 added endpoint struct to each tracker, to prevent false updates we will need to verify that at least one endpoint to the errored tracker is working. if there is at least one working, it will not set the tracker status to error and set it to `Announce OK`. otherwise, it will use the error message from the alert. Refs: https://dev.deluge-torrent.org/ticket/3384
* [#3388|WebUI] Fix md5sums in torrent files breaking file listingCalum Lind2021-03-24
| | | | | | | | | | | | | | | | | | | Torrents containing md5sum optional hashes are not being decoded and so causes errors in the json_api when the TorrentInfo is returned: Object of type bytes is not JSON serializable Fixed by removing all optional hashes from the paths returned from TorrentInfo and only including the required path keys. The optional hashes are unused by Deluge so simplify by removing. Fixed Windows path issue in TorrentInfo by ensuring conversion to posix paths. Refs: http://wiki.bitcomet.com/inside_bitcomet http://wiki.depthstrike.com/index.php/P2P:Protocol:Specifications:Optional_Hashes https://wiki.theory.org/index.php/BitTorrentSpecification