Commit Graph

588 Commits

Author SHA1 Message Date
DevilXD
dcd740d18d Allow pystray v0.19.5 to be installed 2023-10-14 17:49:38 +02:00
DevilXD
fc1f3ed70a Handle "context deadline exceeded" GQL error 2023-10-12 15:42:33 +02:00
Bo
2dd7a57344 Update timestamp handling (#314)
Co-authored-by: DevilXD <DevilXD@users.noreply.github.com>
2023-10-09 22:04:22 +02:00
Rodolfo Ortega
6b9aabb252 Improve the Portuguese translation (#266)
Co-authored-by: Guilherme Silva <626206+guihkx@users.noreply.github.com>
2023-09-12 20:38:08 +02:00
Joakim Hellsén
d58e947299 Show your GitHub Sponsors on this repo (#294) 2023-09-06 20:37:44 +02:00
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
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