Commit Graph

858 Commits

Author SHA1 Message Date
Fengqing Liu
423ee451ac Update README to reflect fork status and AI development
- Add note at top indicating this is a fork of DevilXD/TwitchDropsMiner
- Add disclaimer about AI-assisted development (Claude Code)
- Update git clone URL to rangermix/TwitchDropsMiner
- Add dedicated Acknowledgments section with credits to original author
- Update Support section to encourage supporting original author
- Rename Credits to Translation Credits for clarity

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-16 22:14:59 +11:00
Fengqing Liu
5b736e3bb1 Migrate to Docker-ready web UI and remove legacy desktop GUI
Replace the legacy desktop/Tkinter client and packaging artifacts with a Docker-first, web-hosted approach.

- Add Docker quickstart and run-from-source instructions to the README to simplify deployment.
- Simplify launcher to invoke the new web backend module instead of the old desktop entrypoint.
- Update dependencies for a web UI stack (FastAPI, Uvicorn, python-socketio, Jinja2, etc.) and remove desktop/tray-specific packages.
- Remove legacy GUI, packaging and platform-specific helper code, along with obsolete build/pack scripts and AppImage assets to declutter the repo.
- Tidy project ignore rules to add runtime logs and editor metadata.

Rationale: streamline deployment, favor a browser-accessible interface, and reduce maintenance overhead from multiple platform-specific GUI/packaging implementations.
2025-10-16 21:54:43 +11:00
DevilXD
2388757ebe Enforce game matching for badge campaigns 2025-10-11 16:26:22 +02:00
DevilXD
a25c4a7bbb Remove unneeded GameDirectory GQL parameter 2025-10-10 08:06:03 +02:00
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