cecobask / imdb-trakt-sync

Automatic sync from IMDb to Trakt (watchlist, lists, ratings and history) using GitHub actions.
MIT License
91 stars 216 forks source link

Issues in sync workflow #41

Closed CheraHamza closed 2 months ago

CheraHamza commented 2 months ago

Sync workflow kept failing after reaching the timeout. I set IMDB_TRACE to true, and it seems like some error is blocking the execution. I keep getting those couple of log messages repeatedly until the timeout is reached and the sync workflow fails.

Screenshot 2024-07-06 103502

cecobask commented 2 months ago

Hi @CheraHamza, your sync workflow is stuck at the stage after entering credentials and clicking the submit button. The reason is more than likely that the IMDb website has prompted you to enter a captcha. This usually happens after a couple of failed attempts to authenticate, or when you’ve logged in and out within a short time frame.

I recommend the following:

Let me know how it goes! I’m expecting some bugs might pop up here and there as I had to rewrite the IMDb implementation.

To prevent this issue from happening I will add a check for captchas after authentication has been attempted.

paviem commented 2 months ago

Hi @cecobask, with IMDB_TRACE set to false, I get the following error (set to true, I get the same authorization error as @CheraHamza):

Screenshot 2024-07-06 at 3 13 15 PM
CheraHamza commented 2 months ago
  • Manually authenticate on the IMDb website which can help clear the captcha prompt

Hi @cecobask, How can I manually authenticate though? If you mean the browser on my computer, then I am already signed in on IMDB

CheraHamza commented 2 months ago

I have been emailed this by IMDB. I think this is the reason the workflow is stuck at authentication. Now the issue is where can I put the verification code I receive by email to verify the authentication.

Screenshot 2024-07-06 133628

cecobask commented 2 months ago

When the IMDB_TRACE configuration value is set to true, the syncer outputs extra information about the activities happening in the headless browser. @paviem, you're experiencing the same issue in both cases, but when tracing is disabled you don't get the detailed logs output.

The syncer was initially set up to wait on two conditions after the submit button on the authentication page is pressed:

I did not consider that captcha prompts would show up after a couple of failed authentication attempts. To address this issue, in the latest commit I added a safeguard which would report if a captcha prompt had hindered the authentication flow and cancel the sync early. Without the latest changes, the sync can get stuck waiting for one of the above two conditions until the timeout kicks in.

I also added bot detection prevention, but that unfortunately will not eliminate the possibility of captcha prompts appearing.

In summary, if anybody is experiencing this issue they can do the following: