Progression to other links on server error or user cannot provide information
|Category:||Controlling||Estimated time:||6.00 hours|
|Target version:||040 - FarfarAway|
User not present: If a user is not available to answer a password request or Captcha challenge, this should be marked as "wait for user" and other links for that host should be locked out -- this means the same as "Download is not possible a this time", but the message might be "waiting for user". Currently, each link is tried and then marked as "Fatal error" (not a very descriptive error message).
Notify user: When a host is disabled because the user is not present and JDownloader is minimized, it would be a good idea to display an on-top message box that says "JDownloader is waiting for you" with a [Continue] button (no OK or Cancel or Abort). The message box can be moved back on-top at a specified interval (maybe 2 minutes with back-off).
Host unavailable: If the Host issues an error message or code that indicates a problem with the entire host, then the original link should wait the prescribed time and try again. An option is necessary to limit the number of retries. The time between retries should increase with each retry (a back-off) to avoid overloading the host. Since the host is not available, other links for the host should be locked out with a message of either "Host not available" or "Download is not possible at this time".
Currently, the behavior has been fixed in one or two hoster plugins (the wrong place). For most hosts, when a link is waiting, the next link attempts to connect, and on down the list. If the list for the host is long enough, JD could be attempting to connect every few seconds, causing a DOS condition.
When a link is not available for one of these reasons, the background color should change to indicate this. The background color for duplicate links, disabled links, links waiting for user, and links waiting for host should each be different. The foreground should always be clearly visible (for example, a disabled link should be Black on Gray, not Light Gray on Gray).