Commit Graph

854 Commits

Author SHA1 Message Date
DevilXD
bbc323b4d7 Fix an issue with Language and Priority mode comboboxes cutting off text in translations 2025-10-09 17:44:34 +02:00
DevilXD
7b95818add Force the drops_enabled flag to True 2025-10-03 17:23:18 +02:00
DevilXD
64c1b93b5b Disable UPX downloading step in CI 2025-09-22 22:23:38 +02:00
AnoPem
134783eba7 Update DirectoryPage_Game
Updated sha256Hash for DirectoryPage_Game and its variables
2025-09-21 14:13:42 +02:00
DevilXD
05d97321ea Add simple manual configuration options to the build spec 2025-09-12 14:03:07 +02:00
DevilXD
b029428cb3 Implement the nopause option for the build script 2025-09-12 13:41:50 +02:00
DevilXD
0c8c3f5f32 Fix an error due to invalid campaigns missing their assigned game 2025-09-10 17:28:18 +02:00
DevilXD
b44100764c Implement drop progression tracking across all drops in a campaign 2025-09-10 00:08:03 +02:00
DevilXD
6e08d1ef50 Fix an issue with the miner not switching away from no-longer-watchable channels in specific cases 2025-09-09 23:01:39 +02:00
DevilXD
f3c189e86d Fix an issue with the drops_enabled flag reporting true for sub-only drops 2025-09-09 22:57:54 +02:00
kWAY
2737936739 Implement dark mode theme (#744)
Co-authored-by: DevilXD <4180725+DevilXD@users.noreply.github.com>
2025-08-27 17:19:32 +02:00
DevilXD
f990437731 Handle the possibility of a drop having no benefits 2025-08-24 09:55:47 +02:00
Dmitriy
56a7fd4fb2 Update Ukrainian and Russian translations (#757)
Co-authored-by: DevilXD <4180725+DevilXD@users.noreply.github.com>
2025-08-22 23:40:06 +02:00
DevilXD
9329e52643 Fix priority mode names not being translated 2025-08-22 19:04:01 +02:00
DevilXD
1b17dd6784 Fix GUI debug code 2025-08-22 18:58:05 +02:00
DevilXD
cb9b6ab42f Implement force-expired campaign invalidation 2025-08-22 15:33:51 +02:00
DevilXD
69b861d1ba Upgrade UPX version 2025-08-20 20:36:38 +02:00
DevilXD
826fe95f9c Reimplement the old mining method (ref b47b208) 2025-08-17 22:05:44 +02:00
DevilXD
87a30201e4 Minor code leftover to use while resolving issues with unclosed/unreleased resources 2025-08-17 21:58:28 +02:00
DevilXD
6626f94015 Minor typing fix 2025-07-27 11:14:42 +02:00
guihkx
eab58cd5f2 ci/linux: provide PyInstaller package for aarch64 2025-07-27 10:58:01 +02:00
guihkx
d209e0e9e0 ci/linux: provide AppImage package for aarch64 2025-07-27 10:58:01 +02:00
guihkx
7116cbc759 linux/appimage: recursively remove ELF debug symbols
This reduces the AppImage's AppDir from 100,5 MiB to 90,3 MiB.
2025-07-26 23:40:01 +02:00
guihkx
42e7e88f30 linux/appimage: remove more unneeded files
This reduces the AppImage's AppDir from 110,6 MiB to 100,5 MiB.
2025-07-26 23:40:01 +02:00
guihkx
67eb7d0966 linux/appimage: remove x86_64 hardcoding from build recipe
Now the target CPU architecture should be set by the 'ARCH' environment
variable before invoking appimage-builder.

This makes it easier to build the AppImage for other CPU architectures.
2025-07-26 23:40:01 +02:00
guihkx
4a990ad981 linux/appimage: remove "universe" and "backports" repos
We don't need packages from these repositories.
2025-07-26 23:40:01 +02:00
guihkx
4e23b1c8ba linux/appimage: remove GDK_BACKEND=x11 workaround
This environment variable was necessary back then to work around a bug
in the libgtk3 version we include in the AppImage.

However, since commit 3897a8bccf
("ci/linux: build AppImage on Ubuntu 22.04 (Python 3.10)"), that's not
needed anymore, because Ubuntu 22.04 has a newer version of libgtk3,
which fixes the problem.

I made sure to verify the app runs as expected on Wayland sessions of
two major desktop environments:

- GNOME: 42.9 (Ubuntu 22.04.05) and 48.3 (Arch Linux)
- KDE Plasma: 5.27.5 (Debian 12) and 6.4.3 (Arch Linux)
2025-07-26 23:40:01 +02:00
guihkx
3724ab9b05 linux/appimage: update libXft from 2.3.8 to 2.3.9
An up to date version of libXft is still needed because Ubuntu 22.04
still has 2.3.4, which can cause the app not to launch if an emoji font
is installed on the host.
2025-07-26 23:40:01 +02:00
guihkx
9238c4d133 linux/appimage: fix "pip install" commands
Unfortunately, sourcing the Python venv Bash script to activate the
virtual environment doesn't work while we're building the AppImage, so
this just manually invokes Pip from within the venv to install updated
versions of meson and ninja (for building PyGObject next), and then we
prepend the venv's "bin" directory to the 'PATH' environment variable
to make meson and ninja discoverable on the next "pip install" step.

This also removes "certifi" from being manually installed, because
"truststore" has been usable since commit
3897a8bccf ("ci/linux: build AppImage on
Ubuntu 22.04 (Python 3.10)").
2025-07-26 23:40:01 +02:00
guihkx
1fa20d3634 ci/linux: don't install python3-testresources
If I remember correctly, this was required by the tool that makes our
AppImage, which doesn't seem to require it anymore.
2025-07-26 23:40:01 +02:00
guihkx
9e9ac04b7f ci/linux: use git version of appimage-builder
appimage-builder is a tool that is not officially part of the AppImage
ecosystem, and lately its maintainer hasn't been able to keep up with
the latest AppImage ideas, most notably:

- The move to a new statically-linked runtime: Before this, all AppImages
using the old runtime, would depend on libfuse2 to be installed on the
host system just to be able to run out of the box. This wasn't much of
a problem back then, because libfuse2 was ubiquitous. However, nowadays,
some have distros don't even have it in their official repositories.
- The removal of the xz compression algorithm (used by default), and the
addition of Zstd.

Luckily, the problems above have been fixed in the git version of
appimage-builder, but a stable release is yet to be made, so we'll have
to use the git version, because other AppImage-making tools are not as
nice and convenient as appimage-builder.
2025-07-26 23:40:01 +02:00
guihkx
f33486aac6 linux/appimage: manually download the runtime to fix build error
This manually downloads the old AppImage runtime (now marked as
obsolete), to prevent appimage-builder v1.1.0 from failing to make the
AppImage.

The download URL appimage-builder v1.1.0 uses for the AppImage runtime
is hardcoded into the tool, and unfortunately it's been recently
removed, so this is merely a workaround, until hopefully a future
appimage-builder release fixes this.

See: https://redirect.github.com/AppImageCrafters/appimage-builder/issues/375
2025-07-24 07:26:16 +02:00
DevilXD
01706cdd4e User agent update 2025-07-23 21:41:12 +02:00
Calvineries
822107ffde Update French translation (#729)
Co-authored-by: DevilXD <4180725+DevilXD@users.noreply.github.com>
2025-07-17 17:26:29 +02:00
DevilXD
3969f75537 Update inventory GQL hash 2025-07-16 08:02:27 +02:00
DevilXD
1ef91adb51 Fix failing linux build (#723) 2025-07-04 14:08:27 +02:00
DevilXD
411160a6eb Support Fedora 42 builds (#723) 2025-07-04 11:38:45 +02:00
DevilXD
0d990094c2 Make get_active_drop take channel game into account 2025-06-21 20:00:48 +02:00
DevilXD
eb1dc1356b Use a less invasive method for grabbing user attention 2025-06-21 19:00:09 +02:00
DevilXD
cd4eeeeab2 Mostly ignore instances of "server error" 2025-06-21 18:44:38 +02:00
DevilXD
44e6e09119 Fix missing new line in the credits section 2025-06-21 18:43:50 +02:00
DevilXD
a26b359687 Image cache now ignores corrupted image files 2025-06-01 08:27:50 +02:00
DevilXD
8d2ede89ca Fix an issue with the miner trying to mine excluded games 2025-05-01 17:42:38 +02:00
DevilXD
ceb9959abd Fix an issue with the drop claim operation having no notifications 2025-05-01 17:41:38 +02:00
DevilXD
240ba23b0c Remove channel points handling 2025-05-01 17:06:18 +02:00
DevilXD
9fbbbee5ef User agent update 2025-05-01 14:40:53 +02:00
DevilXD
c3bf41e513 Fix send_watch process errors for offline streams;
Improve geo-blocked streams detection
2025-04-22 23:57:25 +02:00
guihkx
714558965f ci/linux: update PyInstaller builder to run on Ubuntu 22.04
The Ubuntu 20.04 runner image is expected to be removed from GitHub
Actions on April 1st, 2025.

Source: https://github.com/actions/runner-images/issues/11101
2025-03-24 07:41:34 +01:00
guihkx
5d11b67ad2 pyinstaller: use wildcard matching when excluding binaries 2025-03-24 07:41:34 +01:00
guihkx
01b26cf7b4 linux: pin PyGObject version to <3.51
PyGObject 3.51 (and newer) now requires girepository-2.0 as a build
dependency [1], which is a version we cannot easily install in the
Ubuntu version we use in CI/CD, so the build fails:

=======

$ python3 -m pip install -r requirements.txt
[ ... ]
Collecting PyGObject (from -r requirements.txt (line 4))
  Downloading pygobject-3.52.3.tar.gz (1.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 45.4 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [216 lines of output]
      + meson setup /tmp/pip-install-nayte7bo/pygobject_097c5326983b4ca690e238e49ba4b29c /tmp/pip-install-nayte7bo/pygobject_097c5326983b4ca690e238e49ba4b29c/.mesonpy-sp71efmg -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md -Dtests=false -Dwheel=true --wrap-mode=nofallback --native-file=/tmp/pip-install-nayte7bo/pygobject_097c5326983b4ca690e238e49ba4b29c/.mesonpy-sp71efmg/meson-python-native-file.ini
      The Meson build system
      Version: 1.7.0
      Source dir: /tmp/pip-install-nayte7bo/pygobject_097c5326983b4ca690e238e49ba4b29c
      Build dir: /tmp/pip-install-nayte7bo/pygobject_097c5326983b4ca690e238e49ba4b29c/.mesonpy-sp71efmg
      Build type: native build
      Project name: pygobject
      Project version: 3.52.3
      C compiler for the host machine: cc (gcc 9.4.0 "cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0")
      C linker for the host machine: cc ld.bfd 2.34
      Host machine cpu family: x86_64
      Host machine cpu: x86_64
      Program python3 found: YES (/opt/hostedtoolcache/Python/3.10.16/x64/bin/python3)
      Found pkg-config: YES (/usr/bin/pkg-config) 1.6.3
      Run-time dependency python found: YES 3.10
      Found CMake: /usr/local/bin/cmake (3.31.6)
      Run-time dependency girepository-2.0 found: NO (tried pkgconfig and cmake)
      Not looking for a fallback subproject for the dependency girepository-2.0 because:
      Use of fallback dependencies is disabled.

      ../meson.build:31:9: ERROR: Dependency 'girepository-2.0' is required but not found.

=======

Unfortunately, girepository-2.0 is only available in Ubuntu 24.10, a
version we can't easily use in GitHub Actions. But even if could, doing
so would also needlessly bump the minimum glibc version requirement for
Linux users, making TDM much less portable.

So, for now, let's pin PyGObject to <3.51.

[1]: d29f4e65fa/NEWS (L4-5)
2025-03-23 23:24:49 +01:00