Commit Graph

68 Commits

Author SHA1 Message Date
guihkx
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
f4602d40fd Fix indentation 2023-12-06 21:55:02 +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
5167d95051 Game slugs are now sourced from Twitch, instead of being generated 2023-11-10 21:35:49 +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
163a056b33 Experimental drops_enabled via AvailableDrops 2023-10-15 22:37:48 +02:00
DevilXD
5e862f9543 Remove processing of tags;
- Removes all logic related to stream tags processing
- Implements a new method of fetching live non-ACL channels, with drops enabled
- Minor logic cleanup changes
2023-10-15 12:06:58 +02:00
DevilXD
e03ea755bb Reimplement duplicated run detection as a file lock 2023-08-28 23:47:15 +02:00
DevilXD
e16ddeaa7b Differentiate CLIENT_URL between different clients 2023-08-18 20:41:24 +02:00
DevilXD
70035cde36 Switch to MOBILE_WEB Client ID 2023-08-15 20:30:27 +02:00
DevilXD
5b8b6c7fdd Update operation hash 2023-05-20 10:23:02 +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
466a3aa8f2 Update drop claim GQL hash 2023-02-24 22:01:21 +01:00
DevilXD
bfd3893921 Update GQL operation hashes 2023-02-19 11:39:06 +01:00
DevilXD
7dc474286f Minor cleanup of comments, typing and gitignore 2022-12-23 13:17:47 +01:00
DevilXD
28c0f8b75e Streamline user agent and client ID access 2022-12-22 13:14:44 +01:00
DevilXD
706cecec23 User agent update 2022-12-15 14:33:04 +01:00
DevilXD
5751f96882 Implement handling for broadcast-settings-update 2022-12-11 18:39:38 +01:00
DevilXD
d9b3e6171e Remove extra spacing from the logger's output formatter 2022-12-07 22:45:08 +01:00
DevilXD
b96d87e551 Fix duplicated logging timestamps 2022-12-07 14:55:48 +01:00
DevilXD
76467bad65 Review and adjust the logging module levels 2022-12-07 14:41:47 +01:00
DevilXD
504c6b06c0 Reimplement standard login procedure, keep chrome as backup 2022-11-19 19:03:52 +01:00
DevilXD
fee022b5a4 Clear the cookie on a 5027 from login 2022-10-23 08:33:28 +02:00
DevilXD
a24539a869 Add these for safe-keeping 2022-10-22 23:09:43 +02:00
DevilXD
0075e8eb8d Update client ID 2022-10-22 17:27:42 +02:00
DevilXD
5068b5429c Update user agent to the lastest Chrome one 2022-09-03 18:23:05 +02:00
DevilXD
ede42e4589 WebsocketTopic uses as_str in its init now 2022-08-26 13:36:43 +02:00
DevilXD
431fa6adcc Fix a bug with GQL operations containing variables getting their defaults overwritten 2022-08-22 21:15:23 +02:00
DevilXD
05466364d1 Implement the translation feature 2022-08-18 22:28:30 +02:00
DevilXD
f919850ad2 Typing update 2022-07-31 21:40:03 +02:00
DevilXD
6da3d4c14c Fix an issue with a typing_extension import not being protected by a typing check 2022-04-07 16:56:48 +02:00
DevilXD
5af4ee79c3 Remove Game Selector;
Implement multi-game mining based on the priority list
2022-03-30 14:15:26 +02:00
DevilXD
f7b0a5f2cc Implement the inventory tab 2022-03-27 14:03:11 +02:00
DevilXD
a30aa6f403 Fix autostart working directory breaking paths 2022-03-17 12:33:53 +01:00
DevilXD
25bc398ec1 More URLs cleanup 2022-03-11 17:28:50 +01:00
DevilXD
9ad0979d0e De-async initialize and URLs cleanup 2022-03-11 17:24:29 +01:00
DevilXD
6561f5bcd9 Update user agent 2022-03-10 19:13:39 +01:00
DevilXD
8be7c097a0 Watch interval is now whole 59 seconds 2022-03-10 18:31:38 +01:00
DevilXD
a10c0bf389 Fix typing runtime problems 2022-02-27 12:23:13 +01:00
DevilXD
92d722fd0c Change typing to 3.10 syntax 2022-02-27 12:07:40 +01:00
DevilXD
82b6d59194 Fix incorrect stream state subscribtion topic 2022-02-14 18:25:12 +01:00
DevilXD
20949e7738 Unify constants variables documentation 2022-01-25 16:04:56 +01:00
DevilXD
75179dc69f Fix isEnabled KeyError 2022-01-22 19:32:13 +01:00
DevilXD
bd9d818b21 Implement support for campaign ACLs 2022-01-22 15:31:44 +01:00
DevilXD
97d6ac1b29 Move asyncio loop handling to main.py 2022-01-17 17:04:31 +01:00
DevilXD
cf1830cce9 Stop automatic switching between games;
IDLE state + listbox selection clear fix
2022-01-16 22:50:09 +01:00
DevilXD
fd030e33f6 Quit if the application is already running 2022-01-14 15:10:36 +01:00
DevilXD
a91644d6de Latest user agent, cleanup comments and docstrings;
ONLINE_DELAY: 60s -> 120s
2022-01-12 12:11:04 +01:00
DevilXD
cab3c584fb Change campaigns refresh every hour to channel cleanup;
Separate off GAMES_UPDATE from INVENTORY_FETCH
2022-01-12 11:50:16 +01:00