Commit Graph

301 Commits

Author SHA1 Message Date
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
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
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
DevilXD
e500569c33 Handle GQL service unavailable 2023-08-06 09:28:00 +02:00
DevilXD
a7c3925e53 Remove the drops_enabled tag from stream search operation 2023-06-18 10:05:09 +02:00
DevilXD
2d1dfe007c Handle most cases of cookie and image cache loading errors 2023-06-03 23:03:52 +02:00
DevilXD
1df916f91e TEMPFIX: Disable the drops_enabled check 2023-05-17 10:04:13 +02:00