{"action":"created","issue":{"url":"https://api.github.com/repos/nwjs/nw.js/issues/3058","labels_url":"https://api.github.com/repos/nwjs/nw.js/issues/3058/labels{/name}","comments_url":"https://api.github.com/repos/nwjs/nw.js/issues/3058/comments","events_url":"https://api.github.com/repos/nwjs/nw.js/issues/3058/events","html_url":"https://github.com/nwjs/nw.js/issues/3058","id":56704962,"number":3058,"title":"Feature/Guidance Request(s): Handling unreliable connections and circumventing auto-updating","user":{"login":"Korijn","id":1882046,"avatar_url":"https://avatars.githubusercontent.com/u/1882046?v=3","gravatar_id":"","url":"https://api.github.com/users/Korijn","html_url":"https://github.com/Korijn","followers_url":"https://api.github.com/users/Korijn/followers","following_url":"https://api.github.com/users/Korijn/following{/other_user}","gists_url":"https://api.github.com/users/Korijn/gists{/gist_id}","starred_url":"https://api.github.com/users/Korijn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Korijn/subscriptions","organizations_url":"https://api.github.com/users/Korijn/orgs","repos_url":"https://api.github.com/users/Korijn/repos","events_url":"https://api.github.com/users/Korijn/events{/privacy}","received_events_url":"https://api.github.com/users/Korijn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2015-02-05T17:54:20Z","updated_at":"2015-02-20T00:55:26Z","closed_at":null,"body":"I'll just get straight to the feature requests and explain afterwards:\r\n\r\n* Configurable error handling for network errors (HTTP errors, timeouts, proxy errors, etc.) *when using node-remote and having the entire app remotely, e.g. https://appnw.example.com/*\r\n  * Possibly infinite retry schemes to support going offline or unreliable connections\r\n  * Custom error pages for user friendly messages\r\n* Load npm modules through webkit to partially circumvent need for auto-updating\r\n* Restrict external hostnames that can be loaded (independently of the node-remote setting) to keep users in external app\r\n\r\nThe end-users of my application are often behind corporate network security systems such as firewalls and proxies, which often block and/or drop connections or even kill streams half-way through.\r\n\r\nAccess to temporary directories for auto updating is unreliable because of corporate security policies.\r\n\r\n**tl;dr:**\r\n* Have to handle broken connections (timeouts, packets dropped/corrupted)\r\n* Have to handle corporate security measures (file system writing or temporary directories prohibited)\r\n\r\nI've done a lot of research on node-webkit but I believe that handling the broken connections and security mechanisms is still hard to solve. For example, if the tool can't reach the startup page (which is external), it should display a user friendly message, explaining to them that there is likely a firewall issue or other connectivity problem. In the background, the tool should continue to try to connect and just load the page when it can.\r\n\r\nBeing able to load npm modules through webkit would be a great way to (partially) circumvent the need for auto updates.\r\n\r\n\r\n\r\nNow, I'm unsure if any of the above can already be handled. I would love to hear your thoughts. :)"},"comment":{"url":"https://api.github.com/repos/nwjs/nw.js/issues/comments/75171132","html_url":"https://github.com/nwjs/nw.js/issues/3058#issuecomment-75171132","issue_url":"https://api.github.com/repos/nwjs/nw.js/issues/3058","id":75171132,"user":{"login":"RIAEvangelist","id":369041,"avatar_url":"https://avatars.githubusercontent.com/u/369041?v=3","gravatar_id":"","url":"https://api.github.com/users/RIAEvangelist","html_url":"https://github.com/RIAEvangelist","followers_url":"https://api.github.com/users/RIAEvangelist/followers","following_url":"https://api.github.com/users/RIAEvangelist/following{/other_user}","gists_url":"https://api.github.com/users/RIAEvangelist/gists{/gist_id}","starred_url":"https://api.github.com/users/RIAEvangelist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RIAEvangelist/subscriptions","organizations_url":"https://api.github.com/users/RIAEvangelist/orgs","repos_url":"https://api.github.com/users/RIAEvangelist/repos","events_url":"https://api.github.com/users/RIAEvangelist/events{/privacy}","received_events_url":"https://api.github.com/users/RIAEvangelist/received_events","type":"User","site_admin":false},"created_at":"2015-02-20T00:55:26Z","updated_at":"2015-02-20T00:55:26Z","body":"My first suggestion would be to have a link capture function to prevent links from leaving the page and instead use XHR to update the content."}}