Commit Graph
797 Commits
Author SHA1 Message Date
guihkxandDevilXD dbd3cd82a0 Move ClientType into Twitch class as an attribute
This allows us to use the base URL as specified in ClientInfo for
requests made to Twitch.

Previously, we'd hardcode "www.twitch.tv" as the base URL to make
channel-related requests, but because we're currently spoofing the
mobile client, that would always cause a HTTP redirect to m.twitch.tv.

This change avoids that HTTP redirect, and potentially saves a whopping
150 ms (or more 😱) when making channel-related requests.

Co-authored-by: DevilXD <4180725+DevilXD@users.noreply.github.com>
2024-02-14 14:51:37 +01:00
DevilXD d7c2c8d5c3 Add MIT license 2024-01-30 17:16:29 +01:00
guihkx 8bc62dcec1 readme: mention glibc 2.35 requirement for the AppImage 2024-01-22 23:29:38 +01:00
guihkx 3897a8bccf ci/linux: build AppImage on Ubuntu 22.04 (Python 3.10)
Ubuntu 20.04 only has Python 3.8, and because the 'truststore'
dependency requires at least Python 3.10, the AppImage package would
need to bundle CA certificates from 'certifi' to make HTTPS requests
work at all, which is quite an ugly workaround.

Unfortunately, as a side effect, building on Ubuntu 22.04 increases the
minimum required version of glibc from 2.31 to 2.35.
2024-01-22 23:29:38 +01:00
guihkx 6e5fee7103 linux/appimage: generate byte-code files and package them
This makes the app start slightly faster, as byte-code files won't need
to be generated every time users run the app.

https://docs.python.org/3.10/library/compileall.html
2024-01-22 23:29:38 +01:00
DevilXD 9c0318dab1 Fix missing certifi certificate 2024-01-21 09:48:45 +01:00
DevilXD 9e18c1ab20 Revert AppImage back to using 3.8 2024-01-20 18:39:42 +01:00
DevilXD da600f3db6 Remove extra spaces 2024-01-20 18:36:28 +01:00
DevilXD b655803bf5 Don't need to use venv in CI builds 2024-01-20 13:15:11 +01:00
DevilXD 0d72f1ebea Install requirements via the 3.10 version 2024-01-20 11:42:36 +01:00
DevilXD 0df7d9e57f Yet another attempt at passing env vars to the script 2024-01-20 11:16:43 +01:00
DevilXD aede883062 Try a different env var reference syntax 2024-01-20 11:12:50 +01:00
DevilXD 0a4bef728e Switch back to ubuntu-20.04 runners, fix AppImage builder exec 2024-01-20 11:09:06 +01:00
DevilXD 8cfa43b52b Make AppImage build python-version independent 2024-01-19 20:06:56 +01:00
DevilXD d70e3b85b7 Switch from script variables to context variables 2024-01-19 19:35:34 +01:00
DevilXD 0b6deeb951 Fix missing quotes around variables; set up Python for AppImage too 2024-01-19 19:27:16 +01:00
DevilXD b754f5e4a6 Run on latest windows and linux runners; ensure python 3.10 version 2024-01-19 19:23:10 +01:00
DevilXD 91f2dacbcc Use truststore on Windows in Python 3.10+ 2024-01-15 15:05:58 +01:00
DevilXD f125bf058e Actually handle the sound parameter 2024-01-15 12:19:22 +01:00
DevilXD caecef4ecd Make some notification noise when the application terminates without request 2024-01-15 12:06:30 +01:00
Kjerne 36867dca97 Update Dansk.json
Fixed with a comma
2024-01-01 11:10:53 +01:00
Eriza Zehezkiel Gracia 475b4893d1 Adding Indonesian language 2023-12-30 10:05:17 +01:00
DevilXD efe601aeb1 Pass-through for SSL cert verification errors 2023-12-26 21:00:57 +01:00
DevilXD 6e0b4613fc Rename Danish.json to Dansk.json 2023-12-14 18:49:22 +01:00
DevilXD be5547dd9e Added Danish translation credit 2023-12-14 18:49:22 +01:00
Kjerne 2135f3ce35 Rename Danish to Danish.json
json xD
2023-12-14 18:49:22 +01:00
Kjerne 2a9da55632 Create Danish
Added Danish Translation
2023-12-14 18:49:22 +01:00
Patriot99 e5f4ea1261 Spelling mistake fix 2023-12-09 12:49:39 +01:00
Patriot99 ded18b8b54 Better login panel in Polski.json 2023-12-07 22:16:56 +01:00
DevilXD 06b0b2088c Minor syntax improvements 2023-12-06 22:08:36 +01:00
DevilXD c213bae01b Display a message when venv doesn't exist 2023-12-06 22:08:35 +01:00
DevilXD f4602d40fd Fix indentation 2023-12-06 21:55:02 +01:00
DevilXD a99227afbf Resolve RuntimeError: Await wasn't used with future 2023-12-02 14:38:08 +01:00
DevilXD 21ad099696 Attempt to prevent "service error"s 2023-12-02 14:37:40 +01:00
Dmytro Zozulia 9a6a420835 Update Українська.json
Improved and adapted the translation made earlier
2023-11-26 21:48:57 +01:00
guihkx 81d4e7bc3c linux/pyinstaller: exclude unneeded libraries
Excluding these Linux libraries doesn't seem to cause any side-effects
at runtime (they're also not present in the AppImage).

And the benefit of this, is a reduction of 15 MiB in the final size of
the Linux binary, which should also slightly reduce the app's startup
time (but don't quote me on that). :)
2023-11-19 13:59:35 +01:00
guihkx ff7fccbeff readme: recommend the AppImage package for Linux users
The list of benefits over the PyInstaller package isn't extensive, but
IMO it's more than enough to be the "recommended choice".
2023-11-16 20:36:25 +01:00
guihkx 51560b319c ci/linux: build Appimage for amd64
While it's theoretically possible to package for other CPU
architectures via QEMU, doing so will take more work and testing...
2023-11-16 20:36:25 +01:00
guihkx a31fa375c9 linux: add support for AppImage packages
AppImage is a more flexible packaging solution for Linux than what
PyInstaller currently offers.

Some of the benefits are:

- Ability to ship the app with predefined environment variables
(solving issues like #321)
- Improved integration with the desktop environment (if you're using
go-appimage[1] or libappimage[2])
- Much lighter in size (~27 MB difference)

To actually make the AppImage, I'm using appimage-builder[3], which
makes the process a bit easier.

For more details about the AppImage technology, check out their
website[4].

[1] https://github.com/probonopd/go-appimage
[2] https://github.com/AppImageCommunity/libappimage
[3] https://appimage-builder.readthedocs.io/en/latest/index.html
[4] https://appimage.org/
2023-11-16 20:36:25 +01:00
DevilXD 1e31957388 Revert "Expired campaigns are now shown by default"
This reverts commit 725d54a1ca.
2023-11-10 21:40:51 +01:00
DevilXD 5167d95051 Game slugs are now sourced from Twitch, instead of being generated 2023-11-10 21:35:49 +01:00
DevilXD f1d76e00e7 Fix logging_level not being able to be set to 4: DEBUG 2023-11-10 21:34:36 +01:00
DevilXD 5271d6aa2d Detect completed drops via notifications feed 2023-11-04 15:31:39 +01:00
DevilXD eded7edda8 User agents update 2023-11-03 12:48:37 +01:00
DevilXD 21198e0d9c Added Dutch language
Co-authored by: <1772909+lmdpocus@users.noreply.github.com>
2023-11-03 11:07:03 +01:00
别烦 d78044555f Update 简体中文.json 2023-10-31 09:35:26 +01:00
DevilXD 725d54a1ca Expired campaigns are now shown by default 2023-10-29 23:23:27 +01:00
DevilXD 88fe455e3f Add English translation name keys 2023-10-29 22:47:28 +01:00
DevilXD 6976243726 Fix broken Turkish translation keys 2023-10-29 22:41:08 +01:00
DevilXD 4bc084ac38 Stylistical Polish translation correction 2023-10-29 22:39:16 +01:00