Coder Social home page Coder Social logo

Comments (13)

audiamus avatar audiamus commented on June 11, 2024

According to your log, the server request GetLibraryAsync () was cancelled after the timeout of 100s. Presumably a server issue, I suggest to try again later.

from booklibconnect.

Sailfish avatar Sailfish commented on June 11, 2024

I've run BookLibConnect several times, the last being a few minutes ago Each time stopping at the same title. I have 1449 titles in my Library. Could this be either an Audible timeout limitation or, possibly, a title download restriction?

Update: 17:26 PST:
looking closely at line 68 of the log file, it appears that there was some kind of timeout being set:
//
15:29:53.445 0001 [AudibleApi.sendForStringAsync] TaskCanceledException: "The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing."
//

Untitled - 1
BookLibConnect_2023-03-05_002.log

from booklibconnect.

audiamus avatar audiamus commented on June 11, 2024

it appears that there was some kind of timeout being set

Yes, that's what I said. It's a bit strange because that's very low level, as if the outgoing call is blocked, the server does not exist or not respond. And it is indeed a 100 secs later that the call expires. It also appears to be the first call to the server, as the refresh token call will be usually skipped. Are you using an internet proxy? Any recent changes to your network configuration?

You can try DNS resolution, from a console, command prompt or PowerShell:
nslookup api.audible.com

If that works, you can also try a full resynchronisation (the Resync button) but it will probably fail as well.

On second thoughts:

You are still running Windows 7. Then it could also be a security issue. All API calls are https, which means http over a secure channel. The protocol for that is TLS and there are different versions. It's possible that Amazon/Audible now requires a higher version than Win 7 supports. In that case, the client/server session cannot be established, although I would have expected a different error message.

Do you have access to a Win10/11 computer? You could try Book Lib Connect from that one.

from booklibconnect.

Sailfish avatar Sailfish commented on June 11, 2024

Below is the text from the response from the nslookup command:
//
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\Dad>nslookup api.audible.com
Server: 76-14-0-8.sf-cable.astound.net
Address: 76.14.0.8

Non-authoritative answer:
Name: d10x99kpkr7qkp.cloudfront.net
Addresses: 2600:9000:2146:8000:6:dc37:5251:70c1
2600:9000:2146:e000:6:dc37:5251:70c1
2600:9000:2146:dc00:6:dc37:5251:70c1
2600:9000:2146:b200:6:dc37:5251:70c1
2600:9000:2146:9c00:6:dc37:5251:70c1
2600:9000:2146:3c00:6:dc37:5251:70c1
2600:9000:2146:c400:6:dc37:5251:70c1
2600:9000:2146:4600:6:dc37:5251:70c1
65.8.162.92
Aliases: api.audible.com
tp.85cf8037a-frontier.audible.com
//

I had tried Resync and it fails as well

Regarding network changes, I recently moved from Spectrum/Charter (cable) to Astound (fiber). I'm hoping that it's not that since their call-in tech support is awful, strictly level 1 and if it requires any technical skills, they send out an unskilled technician and charges me $80 for the service, the service being that they confirm internet connection only.

I also got a new router eero to handle the increased bandwidth, 800Mbs over wire (ethernet). I will try using my old router as a last resort since switching routers always involves reconfigurations and complications.

I do have a Win10 laptop and will test BookLibConnect on it.

Update:

Woot! I noticed that my eero router was behind an update and afterward the complete library downloaded and much more quickly.

Router listed changes:

  • Client steering enhancement for 6-GHz capable connected devices
  • Channel scanning enhancements to improve automatic channel selection
  • Stability and performance improvement

If possible, I'd ask if you could keep this open for a couple of days as I continue to test BookLibConnect.

from booklibconnect.

Sailfish avatar Sailfish commented on June 11, 2024

I ran BookLibConnect a few times today on Win7 and it returned the full results so I was hopeful. However, After running it several minutes ago, it failed again with the timeout error. It took a significant amount of time to complete, much more than when it succeeded other time today which I suspect may be the cause of the timeout condition. Looking at the full posting of the timeout line in the log, I'd almost suspect this error was coming from Audible's API; although, considering that this run was done late in the evening, I wouldn't have thought their servers were being taxed then (assuming they are are on Amazon's USA cloud servers.

Anyway, I'll install BookLibConnect on my Win10 laptop tomorrow and see if that makes a difference. I've attached to failed log file for your inspection.

Regards,
Pat

BookLibConnect_2023-03-06_004.log

from booklibconnect.

audiamus avatar audiamus commented on June 11, 2024

Looking at the full posting of the timeout line in the log, I'd almost suspect this error was coming from Audible's API; although, considering that this run was done late in the evening, I wouldn't have thought their servers were being taxed then (assuming they are are on Amazon's USA cloud servers.

The nslookup response suggests the Amazon cloud. The timeout could also be caused by DoS attacks. Anyway, the Win 7 TLS version issue will arise eventually. The most recent standard for secure sockets, including https, is TLS 1.3, which is not supported by Win7 and never will be, according to what you find on that matter. When setting up a secure connection, the two socket peers negotiate a suitable protocol, but either side may insist on the highest possible level and won't accept TLS 1.2 any longer. I had this last year in my professional life in a totally different field, nothing to do with audio, and I remembered that yesterday.

from booklibconnect.

audiamus avatar audiamus commented on June 11, 2024

Anyway, I'll install BookLibConnect on my Win10 laptop tomorrow and see if that makes a difference.

You may not need to re-register with Amazon for this. On your Win 7 installation of Book Lib Connect, open the [Profiles] dialog and unselect "Encrypt configuration". Close the app.

Install Book Lib Connect on your Win 10 system. Open it, but don't register. Close the app.

Copy C:\Users\<your Win7 user name>\AppData\Local\audiamus\BookLibConnect\config\Configuration.json from the Win 7 system to C:\Users\<your Win10 user name>\AppData\Local\audiamus\BookLibConnect\config\Configuration.json on the Win 10 system. It should work, at least in theory. Enable encryption of the config file again aftwerwards, on both systems, since this is highly sensitive data, never to leave your systems.

from booklibconnect.

Sailfish avatar Sailfish commented on June 11, 2024

I plan to pursue the Win10 option but it may be a dead end. I just re-ran BookLibConnect a few minutes ago on my Win7 desktop and it completed the full download in about 35 secs as near as I can tell. I've attached the log=4 below.

On first blush, it seems related to outside influences rather than my Win7 system. When it timed out last night, I immediately ran a speedtest and was well over 400Mbps over-the-air (wifi) and over 900Mbs to the router.

Best guess? I suspect that the timeout limit is something on Audible/Amazon's end and under heavy load conditions along with my large number of titles may trip their timeout limit. If so, the only possible solution that comes to mind would be to break the download into multiple requests. However, just because I can type that in one sentence doesn't mean it is even feasible on your end.

I'll post again after running the Win10 experiment.

Regards,
Pat

BookLibConnect_2023-03-07_001.log

from booklibconnect.

audiamus avatar audiamus commented on June 11, 2024

The timeout issue is very low level. The client cannot reach the server or it cannot establish a secured session (while I'd expect a different err or for the latter, but remembering the problem I had last year, this may not be the case).

Anything else would give different errors, typically one of the 400s response codes.

Book Lib Connect will breakdown the library download request into bundles of 100 titles per request, which you will see in the log file running a full resync. The default library download takes your last purchase date from the local database and passes that as an argument to the server, see line 87 in your latest log:
[AudibleApi.sendForStringAsync] Before request, GET, https://api.audible.com/1.0/library?purchased_after=2023-03-07T00:35:49.996Z&num_results=100&page=1...

from booklibconnect.

Sailfish avatar Sailfish commented on June 11, 2024

I was able to bypass the Win10 registration using the replacement of the Configuration.json file but it ended up having to use a somewhat circuitous route (requiring multiple BookLibConnect restarts to get a fully-populated Profile.) Afterward, I was able to use BookLibConnect to download the complete library. Unfortunately, I was also able to do that using Win7 as well so it wasn't able to reveal much except, perhaps, that it's not a Win7 issue at this time? Note: I've re-enabled the "Encrypt configuration" option afterward.

Re: Resync: I'm a bit confused regarding this. When I first open BookLibConnect and select "Download" (Resync button not displayed), does it download all the titles at that time or does it just reformat the last downloaded titles for the display and selection? I'll need to try this again after I add another title, but I have been under the impression that it downloaded all titles since when BookLibConnect tripped the timeout, it was without me clicking the Resync button.

from booklibconnect.

audiamus avatar audiamus commented on June 11, 2024

Resync: I'm a bit confused regarding this. When I first open BookLibConnect and select "Download" (Resync button not displayed), does it download all the titles at that time or does it just reformat the last downloaded titles for the display and selection?

The standard behaviour is to download only those titles since your last purchase, that's the purchased_after= argument. With Resync, this argument will not be not set, yielding all your titles as the result, in bundles of 100 per request. Keep in mind that all the meta data of your personal library is stored in the local single file SQLite database on your machine. Therefore there is no need to download everything again in each session. The startup delay is caused by reading the local database and restructuring the data to fill the list in the download window.

So, only if you invoke the full resynchronization, all your library mete data will be downloaded again. Something similar happens with the cover images, which are always downloaded separately and only if not yet locally available.

You will see the difference in the log files between a standard update since last purchase and the full resync and also in the number of json response files.

from booklibconnect.

Sailfish avatar Sailfish commented on June 11, 2024

Thanks for explaining the Library display and Resync process. My uncertainty came about when experiencing the delay before displaying the title list which I now know is mostly caused by the rebuilding of the display and not having to re-download the library each time. I was able to further confirm this by purchasing another title today and then running BookLibConnect and seeing that the new title had not shown on the display list until I pressed the Resync button.

At this time I'm satisfied that Win7 is still a viable platform for BookLibConnect and will accept that the timeout issue is related to some external influences. Unless you wish me to provide further information, I am okay with you closing this issue.

from booklibconnect.

audiamus avatar audiamus commented on June 11, 2024

I was able to further confirm this by purchasing another title today and then running BookLibConnect and seeing that the new title had not shown on the display list until I pressed the Resync button.

It can take some time before a newly purchased title becomes available in your library.

from booklibconnect.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.