Commit Graph
583 Commits
Author SHA1 Message Date
Joakim Hellsén b74c76e54e Fix typos in README (#293) 2023-09-06 20:34:03 +02:00
Calvineries 2d6c8add36 Fixes for the French translation (#287) 2023-08-29 21:11:40 +02:00
DevilXD e03ea755bb Reimplement duplicated run detection as a file lock 2023-08-28 23:47:15 +02:00
DevilXD bb87b2793e Fix MouseOverLabel not working in certain conditions 2023-08-28 23:12:18 +02:00
Austin Jackson d892bc02b2 Fix missing tags array breaking get_stream (#281) 2023-08-22 21:00:16 +02:00
DevilXD e16ddeaa7b Differentiate CLIENT_URL between different clients 2023-08-18 20:41:24 +02:00
DevilXD 9e061bc15e Update from_directory to not set the drops tag anymore 2023-08-17 21:58:32 +02:00
DevilXD d5410b2aa5 Add connection_quality setting (hidden for now) 2023-08-16 22:41:20 +02:00
DevilXD 643a9f9300 Fix debug-logger float rounding issue 2023-08-16 22:26:49 +02:00
DevilXD 29fa220238 Fix Spade URL extraction 2023-08-15 22:20:23 +02:00
Bamboozul ed253a4b1e Added Arabic Translation (#274) 2023-08-15 20:31:57 +02:00
DevilXD 70035cde36 Switch to MOBILE_WEB Client ID 2023-08-15 20:30:27 +02:00
DevilXD 137f540d62 Fix drop timestamp "ends" using "starts" translation 2023-08-07 21:04:10 +02:00
DevilXD ab9a8312ce Add exp backoff to GQL 2023-08-06 09:32:06 +02:00
DevilXD e500569c33 Handle GQL service unavailable 2023-08-06 09:28:00 +02:00
DevilXD c2a5db8a6a Use asyncio.run 2023-07-05 21:44:22 +02:00
DevilXD cb9a0789fe Minor typing update 2023-07-05 21:20:23 +02:00
DevilXD 562627e657 Pin pillow version to <10 2023-07-02 19:17:19 +02:00
DevilXD 6dc9606190 Fix broken pip upgrade command 2023-07-02 19:03:44 +02:00
casungo 510fb9583d Created Italian translation (#240) 2023-06-28 20:24:08 +02:00
DevilXD a7c3925e53 Remove the drops_enabled tag from stream search operation 2023-06-18 10:05:09 +02:00
DevilXD 8189f01cb5 Run CI on pushes only to the master branch 2023-06-17 22:45:23 +02:00
DevilXD 7e7c6129a5 Added Ukrainian translation (#230) 2023-06-17 22:36:35 +02:00
DevilXD 3fa95687d7 Add Windows build notes 2023-06-11 16:58:18 +02:00
guihkxandDevilXD dbbf5206fb readme: add notes about the linux build
Co-authored-by: DevilXD <bartosz.peszek@gmail.com>
2023-06-11 16:58:18 +02:00
guihkx 1a49b3836f ci/linux: bundle an up to date version of libXft
This fixes the following error when you launch the app with an emoji
font installed (e.g. Noto Emoji):

X Error of failed request:  BadLength (poly request too large or internal Xlib length error)
  Major opcode of failed request:  139 (RENDER)
  Minor opcode of failed request:  20 (RenderAddGlyphs)
  Serial number of failed request:  277
  Current serial number in output stream:  300

This has been fixed[1] in libXft 2.3.5[2], but unfortunately Ubuntu
20.04 (which we currently use in the Linux CI workflow), still has
version 2.3.3, so we have to build it ourselves.

[1] https://gitlab.freedesktop.org/xorg/lib/libxft/-/merge_requests/12
[2] https://lists.freedesktop.org/archives/xorg-announce/2022-September/003209.html
2023-06-11 16:58:18 +02:00
guihkx 332c8c4ea2 ci: provide development builds for Linux 2023-06-11 16:58:18 +02:00
guihkxandDevilXD ed8c598180 pyinstaller: avoid bundling icon and themes on Linux
This greatly reduces the final size of the UPX-compressed binary, from
78.7 MiB to 54.9 MiB (a 23.8 MiB difference)!

Co-authored-by: DevilXD <bartosz.peszek@gmail.com>
2023-06-11 16:58:18 +02:00
guihkxandDevilXD 5162e5c553 linux: fix URLs not opening in PyInstaller package
Because PyInstaller modifies the LD_LIBRARY_PATH environment variable
to make things work correctly on Linux, when we try to launch any
subprocess (such as the web browser), that modified variable gets
picked up as well, causing things to go south.

To work around this Linux-only problem, we have to:

1. Save the current value of LD_LIBRARY_PATH
2. Move the value of LD_LIBRARY_PATH_ORIG to LD_LIBRARY_PATH
3. Launch subprocess
4. Restore the saved LD_LIBRARY_PATH again

Reference:

https://pyinstaller.org/en/stable/runtime-information.html#ld-library-path-libpath-considerations

Co-authored-by: DevilXD <bartosz.peszek@gmail.com>
2023-06-11 16:58:18 +02:00
guihkx e31dcd85b4 linux: add truststore as a dependency
Because Linux distributions don't have an 'universal' path for the
system certificate store, bundling libssl built on distro A might not
work on distro B, because distros tend to change path to the
certificate store at build time.

This means that creating a PyInstaller package on Ubuntu will include
the libssl built there, and if you try to run this package on a
different distro (e.g. Arch Linux), any attempt to create an SSL
connection will fail, because Arch Linux has a different path for the
certificate store than Ubuntu.

This issue is usually worked around by bundling certificates with the
app (usually using certifi), and then pointing the SSL_CERT_FILE
environment to it.

However, truststore seems to be a better alternative, since it tries to
use the certificate store from the system instead.

The list of benefits are listed on the project's page on GitHub:

https://github.com/sethmlarson/truststore
2023-06-11 16:58:18 +02:00
guihkx 7c1e7b0af1 linux: add PyGObject as a dependency
This dependency is required for proper support of the AppIndicator
backend from pystray:

https://github.com/moses-palmer/pystray/blob/v0.19.4/docs/faq.rst#how-do-i-use-pystray-in-a-virtualenv-on-linux
2023-06-11 16:58:18 +02:00
guihkx 82653fcc20 tk: also hook into WM_DELETE_WINDOW to quit the app
Makes the app exit correctly on Linux when the main window is closed.
2023-06-11 16:58:18 +02:00
guihkx 726082a157 tk: set classPath upon instantiation
This fixes an issue on Linux (more specifically, on GNOME Shell 44),
where the window would be identified as "Tk".
2023-06-11 16:58:18 +02:00
guihkxandDevilXD f8c0dba1ee Use icon.visible to show or hide the tray icon on all systems
On Linux, pystray's icon.stop() currently doesn't work well with the
AppIndicator backend.

So, instead of destroying the icon when the user restores from tray
(only to later re-create it when the user minimizes to tray again), we
have the option to control the icon's visibility instead! Luckily, that
works on Windows too!

Note that for this change to work properly on Linux, we need to switch
to the master version of pystray, because we need this specific fix:

https://github.com/moses-palmer/pystray/commit/5943ed4e19be48224cf39b70444de8ffe22c23ce

After pystray releases a version newer than 0.19.4, we can switch back.

Co-authored-by: DevilXD <bartosz.peszek@gmail.com>
2023-06-11 16:58:18 +02:00
DevilXD 7a07e1a9e4 Use run_in_executor for the tray icon thread 2023-06-11 16:58:18 +02:00
DevilXD 489c45af11 Implement autostart via desktop file on Linux 2023-06-11 16:58:18 +02:00
DevilXD 4664a9d7da Implement starts_at and ends_at label display change for drops 2023-06-03 23:51:38 +02:00
DevilXD 2d1dfe007c Handle most cases of cookie and image cache loading errors 2023-06-03 23:03:52 +02:00
DevilXD 5b8b6c7fdd Update operation hash 2023-05-20 10:23:02 +02:00
guihkx 9b5d3d8a76 Provide development builds via GitHub Actions
Makes it easier for people to test bug fixes or new features.
2023-05-20 09:19:13 +02:00
DevilXD 1df916f91e TEMPFIX: Disable the drops_enabled check 2023-05-17 10:04:13 +02:00
Patriot99 9c8e9a6bd2 Update Polski.json (#185) 2023-05-07 10:18:00 +02:00
DevilXD ea049b65e6 Fix spacing 2023-04-26 22:47:17 +02:00
DevilXD d3da7a9dd2 Fix bullet points 2023-04-26 22:46:51 +02:00
DevilXD e913458fa8 Added more credits and project goals 2023-04-26 22:45:59 +02:00
DevilXD f74f7c8be7 Redesign root icon setting system 2023-04-26 18:48:04 +02:00
DevilXD 9dc7a1d65f Fix ResourceWarning on unclosed icon file 2023-04-26 17:57:51 +02:00
DevilXD ab9b155250 Exclude upx.exe from tracking 2023-04-26 17:56:30 +02:00
DevilXD c5bf130e4e Fix leftover selenium cert files;
Sys-dependent handling of the site-packages path
2023-04-26 08:15:11 +02:00
DevilXD 330eb4f184 Remove undetected-chromedriver from dependencies 2023-04-23 10:06:07 +02:00