summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* [GTK] Hide account password length in logDjLegolas2022-01-23
| | | | | | | | We should not let anyone know the account's password length, as it can help to crack it. Instead, we will print a constant amount (10) of asterisks. Closes: https://github.com/deluge-torrent/deluge/pull/346
* [Packaging] Simplify PyInstaller spec fileCirno the Strongest2022-01-23
| | | | | | | | | | | | | This makes the process of editing the file much more pleasant and removes duplicate code. Fixed collecting twisted package which brings both build speed improvements but also decreases package size, as it stops PyInstaller from bundling tests (actually, some tests might even execute during import and break build if they're designed to throw!) used by PyInstaller Closes: https://github.com/deluge-torrent/deluge/pull/342
* [Common] Replace distro.linux_distribution functionDjLegolas2022-01-22
| | | | | | | | | | As of distro (1.6.0)[1], this function is marked as deprecated. Instead, we will use the underlying functions directly, as explained in the (docs)[2]. [1] https://github.com/python-distro/distro/issues/263#issuecomment-927098357 [2] https://distro.readthedocs.io/en/latest/#distro.linux_distribution Closes: https://github.com/deluge-torrent/deluge/pull/345
* [CI] Add pygame to windows package build/spec filetbkizle2022-01-21
| | | | pygame is required by notification plugin for sounds
* [CI] Fix package job not running with PR labelCalum Lind2022-01-21
| | | | | | The job would only run when the PR was labeled since `github.event.label.name` only available when `labeled` type event recieved
* [CI] Cleanup packaging dependenciesCalum Lind2022-01-21
|
* [GTK UI]About Dialog Update yeartbkizle2022-01-21
|
* [Packaging] Disable GTK CSD by default on WindowsCalum Lind2022-01-21
| | | | | | | | | | | | | | | | | CirnoT reported how they felt that GTK3 is not reliable on Windows. Seeing some weird issues where clicking Deluge icon on taskbar does bring window to front but doing so again does not minimize it as one would expect. By using GTK_CSD=0 this would reduce these problems. > If changed to 0, this disables the default use of client-side decorations on GTK windows, thus making the window manager responsible for drawing the decorations of windows that do not have a custom titlebar widget. This can be overridden by a global env var. Ref: https://github.com/deluge-torrent/deluge/pull/331#issuecomment-1012311605 Ref: https://docs.gtk.org/gtk3/running.html
* [CI] Specify github windows server versionCalum Lind2022-01-21
| | | | | | To ensure builds don't break avoid using windows-latest Refs: https://github.com/actions/virtual-environments/issues/4856
* [Core] Add pygeoip dependency supportCalum Lind2022-01-21
| | | | | | | Provide support for the pure-python pygeoip as compiled GeoIP is not always available. Ref: https://dev.deluge-torrent.org/ticket/3271
* [GTK] Added a torrent menu option for magnet copyDjLegolas2022-01-21
| | | | | | | | | this will lined-up with the WebUI, which already have this option. in addition, it will not open the Add Torrent URL dialog after copied, which happens automatically when there is torrent/magnet URIs in the clipboard. Closes: deluge-torrent/deluge#328 Closes: https://dev.deluge-torrent.org/ticket/3489
* [CI] Improve packaging workflowCalum Lind2022-01-20
| | | | | | | | | Include arch in artifacts so they can be downloaded separately Added libtorrent 2.0 to matrix since users often request latest libtorrent. Renamed workflow to make it's purpose clearer
* [Build] Add missing setuptools to requirementsCalum Lind2022-01-20
| | | | | Although likely to already be installed this is a runtime requirement for Deluge
* [CI] Remove PR specified branchCalum Lind2022-01-14
| | | | | This branch name is the head name not the base name so prevents the job running unless submitted has branch name that matches
* [CI] Fix typo in CDCalum Lind2022-01-13
|
* [CI] Fix windows build tag excludeCalum Lind2022-01-13
| | | | | | Fixes error: you may only define one of `tags` and `tags-ignore` for a single event
* [CI] Restrict creating Windows installerCalum Lind2022-01-13
| | | | | Limit the running of this job by only running on develop, tags and pull requests that have label 'windows'
* Fix Execute and Extractor Pluginstbkizle2022-01-13
| | | | | | Include missing twisted requirements resulting in errors: ModuleNotFoundError: No module named 'twisted.internet.utils'
* Build With Patched Twisted Buildtbkizle2022-01-13
| | | | | | | Fixes TypeError in simulate call Ref: https://twistedmatrix.com/trac/ticket/9660 Ref: https://github.com/twisted/twisted/pull/1679
* Fix OpenSSL For Libtorrenttbkizle2022-01-13
| | | | | | libtorrent + pyinstaller requires a lib(ssl/crypto)-1_1.dll and lib(ssl/crypto)-1_1-x64.dll odd quirk but solveable by just having two copies. Maybe later compiling our own libtorrent.
* Update Windows Packagingtbkizle2022-01-13
| | | | | | | | | | | | * Rename instances of win32 to generic win or the appropriate bit where applicable * Remove files used in GTK2 * Add spec file for use with PyInstaller * Remove Python bbfreeze Script * Add Github Action To Build Releases * Add Modified script to make files used by NSIS * Update Readme Closes: https://github.com/deluge-torrent/deluge/pull/331
* Restore PY2 for 3rd-party pluginsCalum Lind2022-01-13
| | | | | | | Restored PY2 to avoid breaking compatibility with plugins that imported PY2 from common. Ref: https://bitbucket.org/bendikro/deluge-yarss-plugin/issues/67/deluge-210-removed-all-py2-support
* [i18n] Fix load_libintl errorCalum Lind2022-01-12
| | | | Fixed libintl being undefined if no library was found
* [Plugins] Fix missing description with metadata 2.1Calum Lind2022-01-12
| | | | | | | | | | | | Changes to the metadata specs in v2.1 meant that Description field might appear in the body of the message instead of as a header key. Replaced custom parser with email parser (as outlined in the document using compat32 policy) to simplify extracting the message header and body. Ref: https://dev.deluge-torrent.org/ticket/3476 Ref: https://packaging.python.org/en/latest/specifications/core-metadata/#description
* [Plugins] Fix and refactor get_plugin_info methodCalum Lind2022-01-12
| | | | | | | | | | | | | | | | | | A new metadata version 2.1 has optional Description that is causing an TypeError when looking up the key in plugin_info since clients are assuming values are always strings but the default is None. Fixed TypeError by ensuring that the info dict has a default empty string set for all keys. Separated the parsing of the pkg_info into static method to make it easier to test. Changed the missing plugin info to only set the Name and Version as 'not available' since all other fields are optional. Ref: https://dev.deluge-torrent.org/ticket/3476 Ref: https://packaging.python.org/en/latest/specifications/core-metadata/#description
* [GTK] Fix unable to prefetch magnet in thinclientCalum Lind2022-01-08
| | | | | | | | | | | | | | | | A UnicodeDecodeError is raised in transfer module when attempting to prefetch a magnet. This is result of passing a Python dict containing text bytes and raw bytes that cannot be decoded as utf-8 in rencode when recieving the message. This could be handled in rencode by returning raw bytes if decoding fails (perhaps with a strict mode?) however better to follow convention of encoding raw bytes in base64 in API calls. Fixed by retaining bencoding and encoding with base64 when sending result. Resolves: https://github.com/deluge-torrent/deluge/pull/334
* Fix is_url and is_infohash error with None valueCalum Lind2022-01-08
| | | | | Encountered a TypeError with None value passed to is_infohash function so add guard clause.
* [AutoAdd] Fixed error dialog not being shown on errorDjLegolas2022-01-06
| | | | | | | | | This happened due to the removal of `exception_msg` attribute, which was removed with the changes to `RPC` protocol in commit 9b812a4. Now we access the message using the `message` attribute. Closes: deluge-torrent/deluge#332 Closes: https://dev.deluge-torrent.org/ticket/3069
* [TrackerIcon] Fixed old-large icon removalDjLegolas2022-01-06
| | | | | | | After downloading and resizing the new icon, we try to remove the downloaded file, which is larger, but it fails because it tries to do so when the file is still open, and therefor locked. On close of the UI, we got `PermissionError` exceptions for each new icon.
* [TrackerIcon] Fixed parse error on UTF-8 sites with non-english charsDjLegolas2022-01-06
| | | | | | | | | | | | | When parsing the site's page in search for the FAVICON, the page gets opens. The default file encoding in dependent on the running OS, and might not be `UTF-8` on Windows. Therefor, some trackers might not get their icon downloaded at all because of an error: `UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2158: character maps to <undefined>`. This fix adds a detection of file encoding using the optional `chardet` dependency, and also a test. Closes: deluge-torrent/deluge#333 Closes: https://dev.deluge-torrent.org/ticket/3479
* [GTK] Make combobox_window expand to widthPatrick Byrne2022-01-03
| | | | | | | This makes the download location entry textbox resizable which is very useful for entering long paths. Closes: deluge-torrent/deluge#295
* [WebUI] Define foreground and background colorsDjLegolas2022-01-03
| | | | | | | | There is no promise that default bg is white and default fg is black so define in deluge.css Ref: https://dev.deluge-torrent.org/ticket/3435 Closes: deluge-torrent/deluge#330
* [GTK] Use GtkSpinner when testing open portDjLegolas2022-01-03
| | | | | | | | | | this switched was motivated by an error which happened each time the check port button was clicked, and was caused by the GtkImage when loading the loading.gif file on Windows: cannot register existing type 'GdkPixbufGdipAnim' Closes: deluge-torrent/deluge#329
* [UI] Add Keywords property to desktop fileRedBearAK2021-12-29
| | | | | | | | Deluge fails to appear in some app launchers (GNOME app search, Albert launcher) when searching for just "torrent" or other keywords, rather than "bittorrent". This is due to the lack of a Keywords header/property in its desktop entry file. Adding this line should solve the issue. I don't know if the underscore "_" is actually necessary for this line, I just copied the appearance of the lines above it when inserting. Please check that this comes out without the underscore in the final file after processing. Closes: deluge-torrent/deluge#323
* Upgrade codebase with pyupgrade (>=py3.6)DjLegolas2021-12-29
| | | | | | | | Added pyupgrade utility with manual stage to pre-commit and run on all files. Ref: https://github.com/asottile/pyupgrade Closes: deluge-torrent/deluge#326
* [Docs] Fix spinx-contrib-spelling build errorCalum Lind2021-12-29
| | | | | | | | | | | CI docs build was failing with the following error when using latest sphinx-contrib-spelling 7.3.1 error: option -j not recognized Fixed by pinning to previous version. GitHub-ref: https://github.com/sphinx-contrib/spelling/issues/142
* [UI] Add SVG support for tracker iconsDjLegolas2021-12-29
| | | | | | | | | | | SVG files are supported by all browsers so need to support it as well, according to https://www.w3schools.com/html/html_favicon.asp Also, it appears as SEO.com site, which was dropped because of a cert issue, has only SVG icon. So enabled it again. Lastly, from python 3.2, `os.path.samefile` is supported on Windows. So Windows will now test TrackerIcons as well.
* [CI] Upgrade Windows python version to 3.8 (same as linux)DjLegolas2021-12-29
|
* Remove all Python 2 supportdeluge-2.1.0.dev0DjLegolas2021-12-28
| | | | | | | | | * Removed all __future__ imports from code * Removed all six dependencies * Removed all future_builtins imports * Removed all Python 2 related code Closes: deluge-torrent/deluge#325
* [GtkUI] Fix ETA sorting to match WebUICalum Lind2021-12-22
| | | | | | The sort for Ascending was putting longest eta first but seems more intuitive that the smallest time to wait should be first. The WebUI in previous commit swapped this behaviour so updating GtkUI.
* [WebUI] Fixed ETA sorting in WebUIDjLegolas2021-12-22
| | | | | | | | | | When sorting the according to ETA values, all torrents with infinite value were being considered a lower value (INF -> 12 -> 32) instead of largest (12 -> 32 -> INF). This is due to the fact that the INF symbol is placed to lower value (<= 0). Now the lower values are being treated as the largest JS number when sorting. Closes: https://dev.deluge-torrent.org/ticket/3413 Closes: https://github.com/deluge-torrent/deluge/pull/321
* [Console] Removed Core dependency from Console UIDjLegolas2021-12-22
| | | | | | | | UIs should not depend on core directly, so removing the dependency in ConsoleUI. This is done by adding a hard-coded variable. Closes https://dev.deluge-torrent.org/ticket/3491 Closes: https://github.com/deluge-torrent/deluge/pull/320
* [Servers] Moved check_ssl_keys and generate_ssl_keys to crypto_utils.pyDjLegolas2021-12-20
| | | | | | | | | With this change, we drop a core dependency from the UI. This will help group together all related functionality in one place, i.e. all security related functions. Also updated testssl.sh version to 3.0.6 (SECURITY_TEST) Closes: deluge-torrent/deluge#288
* back to developmentCalum Lind2021-12-15
|
* Release 2.0.5deluge-2.0.52.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