Commit Graph
305 Commits
Author SHA1 Message Date
DevilXD 05ed7da057 Reduce GQL rate limit capacity two fold 2024-12-30 18:42:30 +01:00
DevilXD 651d73a342 Fix an issue with the miner not switching to a channel in a particular case;
The case involves an ONLINE channel, that stays ONLINE, but had it's tags and status updated from non-watchable to watchable
2024-12-15 12:03:12 +01:00
DevilXD 6b64b94b34 Small comments cleanup 2024-12-15 11:04:28 +01:00
DevilXD d4cfcb5d52 Reduce GQL rate limit capacity two fold 2024-11-02 19:10:54 +01:00
DevilXD 057be65af4 Fix banned users breaking Channel.from_directory 2024-10-23 22:34:22 +02:00
DevilXD d333c86598 Handle GetStreamInfo returning None for suspended channels 2024-09-21 10:12:44 +02:00
DevilXD 8ee49bebf0 Fix asyncio.as_completed not cancelling its tasks 2024-09-21 10:10:16 +02:00
DevilXD c08199da67 Revert "Increase the GQL rate limit 4-fold"
This reverts commit 143252f4fa.
2024-09-21 10:00:44 +02:00
DevilXD 143252f4fa Increase the GQL rate limit 4-fold 2024-09-20 10:15:38 +02:00
DevilXD 0105be7e46 Revert "Temporarily disable bulk_check_online, until GQL rate limit is implemented"
This reverts commit 8fa0669c9f.
2024-09-19 23:35:48 +02:00
DevilXD 3460979700 Implement GQL rate limiter 2024-09-19 23:34:54 +02:00
DevilXD d68271068d Minor code simplification 2024-09-18 22:04:02 +02:00
DevilXD cc7c4c1ab9 Significantly reduced the amount of OAuth scopes requested during login process 2024-09-18 22:00:25 +02:00
DevilXD 8fa0669c9f Temporarily disable bulk_check_online, until GQL rate limit is implemented 2024-09-16 00:35:25 +02:00
DevilXD b9dfc75398 Implement channel status bulk-check logic 2024-09-15 16:28:50 +02:00
DevilXD 1dd31e3f93 Remove OrderedSet, channels have to be re-sorted during selection process anyway 2024-09-15 16:27:18 +02:00
DevilXD b3516d5658 Live streams limit 30 -> 20; add handling for the drops_enabled flag 2024-09-15 16:25:13 +02:00
DevilXD df05fb2707 Automatically clear the jar and delete the cookie file for re-auth;
if the Client ID within the cookie does not match the Client ID currently used by the application (#107)
2024-09-15 14:25:20 +02:00
DevilXD 77e2ce0c28 Reduce cookies file size by removing empty cookie entries 2024-09-15 00:25:31 +02:00
DevilXD e9a254ad0a "Adding campaigns" phase now starts at 0 2024-09-14 14:02:30 +02:00
DevilXD a30e8d3ce4 Add a prioritization strategy for games outside of the priority list 2024-09-11 22:58:48 +02:00
DevilXD 0551f49a3d Fix can_watch ignoring drops_enabled status 2024-09-10 14:38:44 +02:00
DevilXD 86f339f4f6 Treat ClientPayloadError as a failed request 2024-09-02 09:59:37 +02:00
DevilXD f705cc1527 Don't set ACL channels online immediately 2024-08-07 22:47:50 +02:00
Nazar f92b855c9d Change client type to android app 2024-08-05 21:57:49 +03:00
DevilXD b20f98da7a Allow some GQL operations to silently fail 2024-08-04 15:16:52 +02:00
DevilXD 4dcabeeb9e Exceptions cleanup 2024-08-04 15:08:40 +02:00
DevilXD 9779d7a2c8 Handle Unauthorized being returned by GQL 2024-08-02 21:15:13 +02:00
DevilXD 016955c8ba Critical tasks now cause the app to exit, instead of letting it continue with broken functionality 2024-07-16 18:16:31 +02:00
DevilXD f32c8f25d8 Speed up app loading by fetching inventory images concurrently 2024-07-16 17:54:34 +02:00
DevilXD c763063714 Added possible GQL error to be handled later 2024-07-14 08:11:16 +02:00
DevilXD 35c46c2b78 Implement a dynamic tray icon status picture 2024-07-01 21:20:27 +02:00
DevilXD da050828c1 Ensure no user ID is present in dropInstanceID 2024-07-01 16:17:58 +02:00
DevilXD f5d5fc3a05 Add a way for the application to dump inventory data into a file 2024-06-30 12:01:03 +02:00
DevilXD e34d1bb2da Update CurrentDrop tracking elsewhere in the code 2024-06-23 09:54:27 +02:00
DevilXD 7b0f25d5d0 Introduce back GQL progress querying;
to ensure more accurate drop progress
2024-06-23 09:40:37 +02:00
DevilXD b47b2089c0 Implement channel watching using the new method 2024-06-22 18:16:14 +02:00
DevilXD 0baed05c21 Remove selenium, chrome and integrity handling 2024-06-20 22:55:36 +02:00
DevilXD a536dde677 Add exception-catchers that point out exactly which game or channel causes a crash 2024-02-17 11:31:37 +01:00
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 efe601aeb1 Pass-through for SSL cert verification errors 2023-12-26 21:00:57 +01:00
DevilXD 5271d6aa2d Detect completed drops via notifications feed 2023-11-04 15:31:39 +01:00
DevilXD 1d26988721 Fix slug generation method 2023-10-19 22:09:29 +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 fc1f3ed70a Handle "context deadline exceeded" GQL error 2023-10-12 15:42:33 +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 70035cde36 Switch to MOBILE_WEB Client ID 2023-08-15 20:30:27 +02:00
DevilXD ab9a8312ce Add exp backoff to GQL 2023-08-06 09:32:06 +02:00