Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No mining progress is being made #462

Closed
204065248 opened this issue May 9, 2024 · 115 comments
Closed

No mining progress is being made #462

204065248 opened this issue May 9, 2024 · 115 comments
Labels
Bug Something isn't working Solved This issue has been resolved

Comments

@204065248
Copy link

I want to drop treasure in Arena Breakout game, but it doesn't work properly

@Jniklas2
Copy link

Jniklas2 commented May 9, 2024

it doesn't work properly

Isn't helpful. And for me it works really good (only problem is the vm itself, but that isn't caused by this tool)

@Luckz
Copy link
Contributor

Luckz commented May 9, 2024

EDIT

There is a working fork: https://github.com/Windows200000/TwitchDropsMiner-updated

Migration instructions below: #462 (comment)


For me there was no progress counted for Party Animals (ended now), and there is none for Halo Infinite.
GUI shows progress as if it was working:
image

Whereas https://www.twitch.tv/drops/inventory shows nada.

@maistaTV
Copy link

maistaTV commented May 10, 2024

Same. Miner is showing progress while my inventory is not.

image

image
Progress was made due to watching for real.

@Taktich
Copy link

Taktich commented May 10, 2024

Having the same problem. Something must have changed on Twitch's side?

@gibbed
Copy link

gibbed commented May 10, 2024

Same issue here, there's been no progress at all today through the miner but progress does happen when watching normally. Had assumed it was related to #301 but I guess this is a more widespread issue.

@coodrag
Copy link

coodrag commented May 10, 2024

It is twitch problem, not software problem.
Simulated watching is not accepted by twitch now.

@204065248
Copy link
Author

Is there no way to solve it?

@stripedew
Copy link

+1 to this issue, been happening for a few days now actually. Not only did the app not count towards any drops, it also somehow messed with the drops inventory and now real viewing doesn't seem to register accurately. Works fine with a different account on the same device, so I'm guessing Twitch have added some server-side checks that prohibit drops on flagged accounts.

@Valentin-Metz
Copy link
Contributor

This is a real issue and not related to accounts.
The miner does currently not contribute to drop progress (watching normally on the same account still does).

2024-05-10 12:41:57: Progress: 55/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:41:57: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 55/240)
2024-05-10 12:42:57: CALL: No drop update from the websocket received
2024-05-10 12:42:57: Progress: 56/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:42:57: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 56/240)
2024-05-10 12:43:02: CALL: militantmeat33 stays OFFLINE
2024-05-10 12:43:35: CALL: kettletoro stays OFFLINE
2024-05-10 12:43:43: CALL: Channel update from websocket: MrPokke
2024-05-10 12:43:56: CALL: No drop update from the websocket received
2024-05-10 12:43:56: Progress: 57/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:43:56: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 57/240)
2024-05-10 12:44:56: CALL: No drop update from the websocket received
2024-05-10 12:44:56: Progress: 58/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:44:56: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 58/240)
2024-05-10 12:45:43: INFO: MrPokke status has been updated (🎁: ❌ -> ❌)
2024-05-10 12:45:56: CALL: No drop update from the websocket received
2024-05-10 12:45:56: Progress: 59/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:45:56: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 59/240)
2024-05-10 12:46:48: Earned points for watching:  10, total: 180
2024-05-10 12:46:56: CALL: No drop update from the websocket received
2024-05-10 12:46:56: Progress: 60/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:46:56: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 60/240)
2024-05-10 12:47:55: CALL: No drop update from the websocket received
2024-05-10 12:47:55: Progress: 61/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:47:55: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 61/240)
2024-05-10 12:47:59: CALL: Maintenance task requests a reload
2024-05-10 12:48:02: INFO: Ryvandal goes OFFLINE
2024-05-10 12:48:03: CALL: Channel update from websocket: Ryvandal
2024-05-10 12:48:05: CALL: Maintenance task waiting until: 13:18:05 (Points)
2024-05-10 12:48:05: INFO: Websocket[5] stopped.
2024-05-10 12:48:05: INFO: Websocket[4] stopped.
2024-05-10 12:48:05: INFO: Websocket[3] stopped.
2024-05-10 12:48:05: INFO: Websocket[2] stopped.
2024-05-10 12:48:05: INFO: Websocket[1] stopped.
2024-05-10 12:48:07: INFO: Websocket[1] connecting...
2024-05-10 12:48:07: INFO: Websocket[2] connecting...
2024-05-10 12:48:07: INFO: Websocket[3] connecting...
2024-05-10 12:48:07: INFO: Websocket[4] connecting...
2024-05-10 12:48:07: INFO: Websocket[5] connecting...
2024-05-10 12:48:08: INFO: Websocket[5] connected.
2024-05-10 12:48:08: INFO: Websocket[2] connected.
2024-05-10 12:48:08: INFO: Websocket[3] connected.
2024-05-10 12:48:08: INFO: Websocket[1] connected.
2024-05-10 12:48:08: INFO: Websocket[4] connected.
2024-05-10 12:48:16: CALL: No drop update from the websocket received
2024-05-10 12:48:16: Progress: 1/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:48:16: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 1/240)
2024-05-10 12:49:16: CALL: No drop update from the websocket received
2024-05-10 12:49:16: Progress: 2/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:49:16: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 2/240)
2024-05-10 12:50:15: CALL: No drop update from the websocket received
2024-05-10 12:50:15: Progress: 3/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:50:15: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 3/240)
2024-05-10 12:50:38: CALL: Channel update from websocket: bhobbsie, game changed: Marbles on Stream -> Magic: The Gathering
2024-05-10 12:51:15: CALL: No drop update from the websocket received
2024-05-10 12:51:15: Progress: 4/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:51:15: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 4/240)
2024-05-10 12:52:09: Earned points for watching:  10, total: 190
2024-05-10 12:52:15: CALL: No drop update from the websocket received
2024-05-10 12:52:15: Progress: 5/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:52:15: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 5/240)
2024-05-10 12:52:38: INFO: bhobbsie status has been updated (🎁: ✔ -> ❌)
2024-05-10 12:53:15: CALL: No drop update from the websocket received
2024-05-10 12:53:15: Progress: 6/240 - Campaign(Rise Online, ROW - Twitch Drop 31, 0/1)
2024-05-10 12:53:15: CALL: Drop progress from active search: ROW - Twitch Drop 31 (Rise Online, 6/240)
2024-05-10 12:53:17: INFO: qcrixus_ goes OFFLINE

@iceynano
Copy link

+1. The server may count by requesting frequency of ts files?

@woctezuma
Copy link

Same issue.

@notNSANE
Copy link

notNSANE commented May 11, 2024

It is twitch problem, not software problem. Simulated watching is not accepted by twitch now.

Source?

As commented before, it seems Twitch might have flagged accounts. I'm getting 1-2% progress for 1 hour of real watching, which makes drops basically impossible - that is, having a channel open, with sound. Emoting just in case, too. I've been having this issue since months ago, though. TDW fixed that.

@Windows200000
Copy link

I have also not been getting progress towards any drops in the past days

@notNSANE
Copy link

for reference, I just started real watching for drops on another account (and browser) and it started progressing normally. Dang, now I need to move all the twitch connections I made to another account -_-

@Windows200000
Copy link

for reference, I just started real watching for drops on another account (and browser) and it started progressing normally. Dang, now I need to move all the twitch connections I made to another account -_-

My manual progress seems to be fine, tho, are you sure you closed TDM before trying to manually watch?

@kumoshiraori
Copy link

Same. Miner is showing progress while my inventory is not.

image

image Progress was made due to watching for real.

+1 same problem for me

@Majaura
Copy link

Majaura commented May 12, 2024

I think I'm also having this issue, and like NotNSANE said, I'm not even able to earn them by regularly watching...

@woctezuma
Copy link

woctezuma commented May 12, 2024

I think I'm also having this issue, and like NotNSANE said, I'm not even able to earn them by regularly watching...

You need to watch LIVE streams. I know, it can be surprising if you have not followed the news about Twitch Drops! 😄

I have tried this stream for Hellcard:

And it works for me:

Picture

@notNSANE
Copy link

notNSANE commented May 12, 2024 via email

@Majaura
Copy link

Majaura commented May 12, 2024

Yeah, I don't understand what you mean about "have to watch live streams"...the hell do you think we're watching? Netflix streams? Also I'm wrong about not being able to earn drops regularly, I can still do it...but yeah as it stands, I think the program isn't currently working as of maybe 3 days ago. I hope that helps. I'm doing everything the same way as always, and updated to the newest build as well.

@Windows200000
Copy link

Yeah, I don't understand what you mean about "have to watch live streams"...the hell do you think we're watching? Netflix streams?

When you go to an offline channel, twitch starts automatically playing a past stream, if fully recorded. I assume that. Tho I don't know, having TDM open while trying to manually watch might also cause issues.

Can we please keep the conversation civil without insulting each other? This is GitHub, not a TikTok comment section.

@woctezuma
Copy link

woctezuma commented May 12, 2024

I am using twitch drops since they were released.

That is what I imagined. As far as I can tell, there has been changes this year. See this tweet in January:
https://twitter.com/TwitchSupport/status/1748075440562954551

So if you have been using Twitch Drops since they were released, and then switched at some point to the Miner script without visiting Twitch ever again, then you might not know about these recent changes.

Anyway, as mentioned by @Windows200000, the issue is likely to come from the fact that you had the Miner script running in the background while you were watching the streams.

Yeah, I don't understand what you mean about "have to watch live streams"...the hell do you think we're watching? Netflix streams? Also I'm wrong about not being able to earn drops regularly, I can still do it.

I am glad that you could solve your previous issue with getting drops by watching streams without using the script.

I think the program isn't currently working as of maybe 3 days ago. I hope that helps. I'm doing everything the same way as always, and updated to the newest build as well.

This is a known issue, as reported 3 days ago indeed, and the Miner script has not been updated in the past 2 weeks, so this bug is due to a change on Twitch's side, and possibly related to the aforementioned changes in Twitch's policy against "abusing Drops campaigns". As you can see here, it affects at least another similar script as well:
rdavydov/Twitch-Channel-Points-Miner-v2#522

In the meantime, until the Miner script is updated (or worse, that we get more info from Twitch that they would be less lenient with accounts using such scripts), I would stick to watching streams for drops.

@notNSANE
Copy link

notNSANE commented May 12, 2024 via email

@woctezuma
Copy link

woctezuma commented May 12, 2024

have you ever read the tweet? those changes are for STREAMERS, not viewers, since they were streaming static images or rebroadcasts.

Well, that has to do with viewers, because rebroadcasts do not work anymore.


And that has NOTHING to do with Twitch Drops Miner.

Exactly. That was a reply to the user who could not get drops the regular way.

I'm not even able to earn them by regularly watching...

Fortunately, the same user then managed to fix their issue with regular streams, though they don't mention how.

Also I'm wrong about not being able to earn drops regularly, I can still do it.

Anyway, now that the topic about accounts being unable to get Twitch Drops the regular way has been debunked, we can close this off-topic talk. The solution to this issue will remain a mystery. 🤣 It could be closing the Miner script, or... watching live streams.

@FomaDima
Copy link

FomaDima commented May 12, 2024

Have you tried to contact the authors of this project or a neighboring one? Were there any comments from them? or with those who understand programming?

if everything is that bad. Then let's think about what to replace it with. and how to use it...

For my support, I was offered to fix a bug in the drop progression. But I use this purely for myself and can’t check it, sorry (I don’t have any extra money at the moment) Well, since they offered to fix it, it means there is a solution... Or they want to deceive me, I don’t know. (sorry, a translator was used)

@GoesInCircles
Copy link

if everything is that bad. Then let's think about what to replace it with. and how to use it...

I fallback to my previous solution: automatic twitch drops addon and keeping tab open on background, muted@160p

@Windows200000
Copy link

Have you tried to contact the authors of this project or a neighboring one? Were there any comments from them? or with those who understand programming?

if everything is that bad. Then let's think about what to replace it with. and how to use it...

For my support, I was offered to fix a bug in the drop progression. But I use this purely for myself and can’t check it, sorry (I don’t have any extra money at the moment) Well, since they offered to fix it, it means there is a solution... Or they want to deceive me, I don’t know. (sorry, a translator was used)

Is there anything suggesting "it's bad"? Apart for some unfounded speculation, all we know is twitch changed something which broke this bot. That is not anything uncommon for 3rd party access to APIs in general, nor TDM specifically. I could try and look into it, but by the time I'd learn the twitch API etc. someone already familiar will probably look at it and find a solution.

@Windows200000
Copy link

Windows200000 commented May 12, 2024

Well, i couldn't leave it alone. The request now looks like this:

event: 'minute-watched', 
    properties: {
      app_session_id: '<REDACTED>',
      app_version: '<REDACTED>',
      batch_time: 1715542327,
      client_time: 1715542326.626,
      device_id: '<REDACTED>',
      domain: 'www.twitch.tv',
      host: 'www.twitch.tv',
      platform: 'web',
      preferred_language: 'en-US',
      referrer_host: 'www.google.com',
      referrer_url: 'https://www.google.com/',
      received_language: 'en',
      tab_session_id: '<REDACTED>',
      url: 'https://www.twitch.tv/firewall154?referrer=raid',
      benchmark_server_id: '<REDACTED>',
      bornuser: false,
      browser: '5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
      browser_family: 'chrome',
      browser_version: '124.0',
      collapse_right: false,
      collapse_left: true,
      localstorage_device_id: '<REDACTED>',
      location: 'channel',
      page_session_id: '<REDACTED>',
      referrer: 'https://www.google.com/',
      referrer_domain: 'www.google.com',
      session_device_id: '<REDACTED>',
      theme: 'dark',
      viewport_height: 1064,
      viewport_width: 1831,
      channel: 'firewall154',
      channel_id: '183249570',
      is_following: false,
      is_live: true,
      language: 'en',
      game: 'Rocket League',
      category_id: '30921',
      audio_codec: 'mp4a.40.2',
      average_bitrate: 6426550,
      backend: 'mediaplayer',
      broadcast_id: '<REDACTED>',
      buffer_empty_count: 2,
      buffered_position: 8482.042678,
      build_dist_id: 'npm',
      catch_up_mode: 'speedup',
      cluster: 'ams02',
      core_version: '1.28.0-rc.2',
      current_bitrate: 6907235,
      current_fps: 57,
      decoded_frames: 3607,
      dropped_frames: 2,
      estimated_bandwidth: 961132590,
      gap_skip_count: 0,
      gap_skip_duration: 0,
      hidden: false,
      hls_latency_broadcaster: 5324,
      hls_latency_ingest: 5398,
      initial_buffer_duration: 1000,
      live: true,
      low_latency: true,
      manifest_cluster: 'fra05',
      manifest_node: 'video-weaver.fra05',
      manifest_node_type: 'weaver_cluster',
      mcaps_powerefficient: true,
      mcaps_smooth: true,
      mcaps_supported: true,
      minutes_logged: 142,
      mobile_connection_type: 'unknown',
      muted: false,
      node: 'video-edge-d55360.ams02',
      origin_dc: 'iad06',
      os_name: 'Windows',
      os_version: 'NT 10.0',
      play_session_id: '<REDACTED>',
      playback_rate: 1,
      player: 'site',
      player_position: 8477.335095,
      player_state: 'Playing',
      protocol: 'HLS',
      quality: '900p60 (source)',
      rendered_frames: 3605,
      seconds_offset: 19.921824,
      serving_id: '<REDACTED>',
      sink_buffer_size: 4.6649041175842285,
      sink_type: 'mse-worker',
      stream_format: 'chunked',
      time: 1715542326.625,
      transcode_mode: 'cbr_v1',
      transcoder_type: '2023-Transcode-QS-V1',
      transport_download_bytes: 48190604,
      transport_download_duration: 57075,
      transport_first_byte_latency: 1793,
      transport_segment_duration: 59982,
      transport_segments: 30,
      user_agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
      vid_display_height: 191,
      vid_display_width: 340,
      vid_height: 900,
      vid_width: 1600,
      video_buffer_size: 4.707583,
      video_codec: 'avc1.64002A',
      video_decoder_name: 'MediaSource',
      video_session_id: '<REDACTED>',
      volume: 0.67,
      battery_percent: 1,
      gpu_supported: false,
      gpu_unsupported_reason: 'WebGPU adapter unavailable',
      gpu_architecture: '',
      gpu_description: '',
      gpu_device: '',
      gpu_vendor: '',
      is_pbyp: false,
      guest_star_session_id: null,
      guests_pushed_to_obs: null,
      squad_stream_id: null,
      squad_stream_session_id: null,
      squad_stream_presentation_id: null,
      is_mod: false,
      time_spent_hidden: 2040949,
      consent_comscore_ok: false,
      content_classification_label_set: '[]',
      app_fullscreen: false,
      autoplayed: true,
      backend_version: '1.28.0-rc.2',
      broadcaster_software: 'unknown_rtmp',
      chat_visible: true,
      chat_visibility_status: 'visible',
      content_mode: 'live',
      game_id: '30921',
      host_channel: null,
      host_channel_id: null,
      is_ad_playing: false,
      logged_in: true,
      login: '<REDACTED>',
      mse_support: true,
      partner: true,
      playback_gated: false,
      player_size_mode: 'default',
      staff: false,
      subscriber: false,
      turbo: false,
      user_id: <REDACTED>,
      viewer_exemption_reason: null,
      benchmark_session_id: '<REDACTED>',
      client_build_id: '<REDACTED>',
      distinct_id: '<REDACTED>',
      client_app: 'twilight'
	}
  }

That is a lot more, than TDM sends:

"event": "minute-watched",
                "properties": {
                    "broadcast_id": str(self._stream.broadcast_id),
                    "channel_id": str(self.id),
                    "channel": self._login,
                    "hidden": False,
                    "live": True,
                    "location": "channel",
                    "logged_in": True,
                    "muted": False,
                    "player": "site",
                    "user_id": self._twitch._auth_state.user_id,
                }

The TDM version still returns 204, but it does so even with wrong parameters, which is probably why TDM doesn't detect it when stuff breaks, which also makes the response kinda useless. All the parameters still have the same name.

In chrome debug, the two look like this.
TDM: "Request Payload"
{"data":"Random_letters_redacted"}

Native: "Form data"
data=Random_letters_redacted

Perhaps the most obvious difference is, that TDM sends a JSON, while the site now sends the data as an HTML form. (At least that's what I recognize it as, how it's called doesn't really matter.) Now this still could be a thing that might work, depending on how TDM does the whole thing and what twitch supports etc. Would be nice to get a quick reply from @DevilXD or some other contributors. I now have to go to sleep and will try if changing the format works tomorrow, if I find the time.

@DevilXD
Copy link
Owner

DevilXD commented May 12, 2024

Hello. Kinda late to this, but I'll try to fix this as soon as I'm able to. Which may take a few days, given I have limited access to a PC now.

That is a lot more, than TDM sends:

TDM has always sent only as much as it was needed to progress drops. If this is not enough now, then the payload should be expanded to include what's needed. Still, most of this information was never needed to keep progressing everything.

Regarding different payload formats, it's kinda been a while ever since I had to touch anything there, so my memory is hazy. I'll need to look into the code to determine if HTML form vs JSON makes any difference. You did the most tedious part though - figuring out the current payload contents. This should speed up designing a new payload that works (assuming it's still possible).

@DevilXD DevilXD added the Bug Something isn't working label May 12, 2024
This was referenced May 27, 2024
@BulletWilly
Copy link

Thanks @Windows200000, working with your latest build👍

@Maligmus
Copy link

I tried the latest build as, and it is still not working for me.

Last build date: 2024-05-27 11:14:14+00:00

@Windows200000
Copy link

I tried the latest build as, and it is still not working for me.

Last build date: 2024-05-27 11:14:14+00:00

@Maligmus Please make an issue on my repo with detailed information. It is working for a lot of people, but there could very well be more edge cases.

@DevilXD
Copy link
Owner

DevilXD commented May 30, 2024

Yes, I'd like to strongly note here that if one is using the fork from the other repo, any issues should be reported there, not here.

As a small update on my availability, I'm currently waiting for a new desk to be installed, so that I can have a place to sit down and work properly again, as my previous desk has unfortunately finished its lifetime. This should happen later this week, or next week. Hopefully I can sit down for some dev work next week, before going back to heavy work cycle 2 weeks from now.

@DevilXD DevilXD changed the title The software cannot be used normally No mining progress is being made Jun 2, 2024
@DevilXD DevilXD pinned this issue Jun 2, 2024
@Goofy-6
Copy link

Goofy-6 commented Jun 3, 2024

Reporting the same problem on XDefiant. App shows progress being made as usual but then gets stuck at 100% and after a reset goes back to 0%.

@Luckz
Copy link
Contributor

Luckz commented Jun 3, 2024

Reporting the same problem on XDefiant. App shows progress being made as usual but then gets stuck at 100% and after a reset goes back to 0%.

And you're using the functional fork or just spending your free time telling us what we knew a month ago?

@Luckz
Copy link
Contributor

Luckz commented Jun 3, 2024

If you run from git source, switch to the fork like this:

git remote add w2k https://github.com/Windows200000/TwitchDropsMiner-updated
git fetch w2k
git branch master -u w2k/master
git pull
«activate python environment here or earlier»
pip install validators
«start TDM the way you always start it, for example python main.py»


If you run precompiled builds, get those from https://github.com/Windows200000/TwitchDropsMiner-updated/releases

@Techwolf
Copy link

Techwolf commented Jun 6, 2024

Using Luckz comment to update my local copy:

git branch master -u w2k/master
branch 'master' set up to track 'w2k/master'.

git pull
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint:   git config pull.rebase false  # merge
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.

best way to fix this?

Update: Found a workaround.

git branch master -u origin/master
git checkout 27dcc9c280db77833aadb28a4cedbd1b81a934e1
git branch master -u w2k/master
git pull w2k master
<snip>
31 files changed, 2585 insertions(+), 1952 deletions(-)
 create mode 100644 .github/workflows/Check_patch_notes.yml
 create mode 100644 .github/workflows/release.yml
 create mode 100644 lang/English.json
 create mode 100644 patch_notes.txt

@Windows200000
Copy link

Windows200000 commented Jun 6, 2024

Using Luckz comment to update my local copy:

git branch master -u w2k/master
branch 'master' set up to track 'w2k/master'.

git pull
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint:   git config pull.rebase false  # merge
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.

best way to fix this?

Update: Found a workaround.

git branch master -u origin/master
git checkout 27dcc9c280db77833aadb28a4cedbd1b81a934e1
git branch master -u w2k/master
git pull w2k master
<snip>
31 files changed, 2585 insertions(+), 1952 deletions(-)
 create mode 100644 .github/workflows/Check_patch_notes.yml
 create mode 100644 .github/workflows/release.yml
 create mode 100644 lang/English.json
 create mode 100644 patch_notes.txt

You can rebase, DevilXD made a commit for the English translation, that I can't sync.

Edit: I did adopt the translation, but I moved it from translate.py to English.json for GitLocalize.

@DevilXD
Copy link
Owner

DevilXD commented Jun 23, 2024

This should now be fixed via b47b208 and the latest master build.

@DevilXD DevilXD closed this as completed Jun 23, 2024
@DevilXD DevilXD added Solved This issue has been resolved and removed Critical For critical issues that prevent the application from working labels Jun 23, 2024
@DevilXD DevilXD unpinned this issue Jun 23, 2024
@DevilXD
Copy link
Owner

DevilXD commented Jun 23, 2024

As an extra explanation / dev note to what I've noticed when I was studying the changes Twitch has made:

  • Drop progress is once again reported semi-regularly by the websocket, so I was able to hook that back up to progress tracking. This ensures the progress displayed is once again accurate (same as on the inventory page), assuming the websocket will keep reporting progress on a regular basis (it sometimes doesn't - see below).
  • If the websocket is sluggish, or you've just started mining, or a bunch of other weird conditions Twitch has, then the progress is forcibly queried via GQL. My observations show that GQL is used once every ~five progress updates from the websocket. The progress returned from GQL should be accurate as well, to what the inventory page shows.
  • If all of the above fails, and the timer has stopped counting down without any progress updates coming in the mean time, the next watch request will artificially advance the timer, just like before. This is done to keep the immersion of the miner still working, even if Twitch refuses to send back progress updates. The progress tends to advance quicker than what's reported, so you may see occasional setbacks in progress once either websocket or GQL wake up, but this should happen rarely.

The most important change was uncoupling the websocket updates from watch requests, as they were previously coupled together, with a 10s window to receive the update. This is how it worked before:

  • Watch request is sent, 10s timer starts.
  • If the websocket responds within that time, we use the response to update and display new progress.
  • If the 10s pass without any response, the standard GQL + "pretend mining" logic takes care of advancing the progress.
  • If a websocket responds outside of the 10s window that's open only after watch request was sent, then it's drop update is ignored.

Now, the websocket responses aren't as predictive as they were before, so nothing is ignored. Websocket will forcibly overwrite the current drop progress and timer, so you may see the timer's minutes jump forward or backwards by one (or a few) minutes, even if there's 40-50+ seconds left on the timer. The overwrite action will happen even on a drop update that is caused by you watching another stream in the browser on the same account, so keep that in mind. Watching any streams during mining will impact the miner's performance, giving you less progress and displaying wrong drops being mined, so I recommend not doing that.

@Windows200000
Copy link

Windows200000 commented Jun 24, 2024

@DevilXD do you want to take back over? I don't have much time for the next little while anyway. If so, feel free to ask any questions about the changes and look at existing issues in my fork. I should be back mid-July.

edit: There is a few other changes since we last talked. I mentioned this before, I could add a merge branch in the fork and give you write access, or you could clone in-dev to a branch in your repo and work on it there.

efit2: Another to-do is adding more translations. Some stuff is untranslated and some patched together from the translations, so users see something sensible in their language.

@DevilXD
Copy link
Owner

DevilXD commented Jun 24, 2024

do you want to take back over?

To not make it too long, the short answer is: "It's not for me to decide". If you want to keep up with your own fork, merging my changes into yours and adding your own, you're welcome to do so. If not, I'll "take over" by just continuing development whenever I can. What you want to do with your fork is your call, but PRs and general help are always welcome. I'm happy that you were able to figure out how to fix this thing before I did =) I could use some help maintaining this thing, but I've seen somewhere that you're not too familiar with Python, so I don't know if you'd be interested once you're back. This project uses typing and type-checking, so you'd need to read a bit about that too, but it's not too hard to figure it out if you have some knowledge from other strong-typed programming languages, like C/C++. I could show you the tools I use etc. Let me know if you'd be interested =)

There is a few other changes since we last talked. I mentioned this before, I could add a merge branch in the fork and give you write access, or you could clone in-dev to a branch in your repo and work on it there.

A bunch of scattered features is quite hard to work with. I can accept a PR with a single change included in it though. If you have something in particular you'd like to get included in the miner, you can either open an issue describing what's needed, or open a PR with a rough implementation, that I'd then need to run through some polishing before merging. Either way, it has to be a one-per-change deal. Even a detailed list of things to implement is better than a 600+ lines diff with little explanation >.>

Another to-do is adding more translations. Some stuff is untranslated and some patched together from the translations, so users see something sensible in their language.

Hmm, I thought that most things are already translated. Some strings aren't meant to be translated, like debug log calls or the "About" tab. Anything else that is printed in the Output window for a user to see, that doesn't have a translation string, has most likely been missed somehow, and has to be added (eventually). You're welcome to open an issue listing the things that were missed and need translations. Translations PRs are welcome as well.

PS: I'm busy with work again for this week, but should have much more time afterwards. The miner's code is in dire need of cleanup and rewrite. This is a good time to think about finally getting to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working Solved This issue has been resolved
Projects
None yet
Development

No branches or pull requests