Commit Graph

579 Commits

Author SHA1 Message Date
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
guihkx
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
guihkx
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
guihkx
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
guihkx
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:

5943ed4e19

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
Patriot99
2579301e52 Added Polish translation (#178)
Co-authored-by: DevilXD <DevilXD@users.noreply.github.com>
2023-04-23 08:40:56 +02:00
Ricky103403
a19ecebd7b Added Traditional Chinese translation (#120) 2023-04-16 09:58:30 +02:00
DevilXD
93cd57007a Dev version bump 2023-03-07 07:50:26 +01:00
DevilXD
14b02591c6 Fix an issue with specific campaigns causing mining to get stuck until reload 2023-02-28 17:07:27 +01:00