{"action":"created","issue":{"url":"https://api.github.com/repos/owncloud/core/issues/13641","labels_url":"https://api.github.com/repos/owncloud/core/issues/13641/labels{/name}","comments_url":"https://api.github.com/repos/owncloud/core/issues/13641/comments","events_url":"https://api.github.com/repos/owncloud/core/issues/13641/events","html_url":"https://github.com/owncloud/core/pull/13641","id":55338919,"number":13641,"title":"Store storage availability in database","user":{"login":"Xenopathic","id":2016878,"avatar_url":"https://avatars.githubusercontent.com/u/2016878?v=3","gravatar_id":"","url":"https://api.github.com/users/Xenopathic","html_url":"https://github.com/Xenopathic","followers_url":"https://api.github.com/users/Xenopathic/followers","following_url":"https://api.github.com/users/Xenopathic/following{/other_user}","gists_url":"https://api.github.com/users/Xenopathic/gists{/gist_id}","starred_url":"https://api.github.com/users/Xenopathic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Xenopathic/subscriptions","organizations_url":"https://api.github.com/users/Xenopathic/orgs","repos_url":"https://api.github.com/users/Xenopathic/repos","events_url":"https://api.github.com/users/Xenopathic/events{/privacy}","received_events_url":"https://api.github.com/users/Xenopathic/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/owncloud/core/labels/3%20-%20To%20Review","name":"3 - To Review","color":"ededed"},{"url":"https://api.github.com/repos/owncloud/core/labels/app:files_external","name":"app:files_external","color":"02d7e1"},{"url":"https://api.github.com/repos/owncloud/core/labels/performance","name":"performance","color":"fbca04"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/owncloud/core/milestones/37","html_url":"https://github.com/owncloud/core/milestones/8.2-current","labels_url":"https://api.github.com/repos/owncloud/core/milestones/37/labels","id":993629,"number":37,"title":"8.2-current","description":"","creator":{"login":"craigpg","id":160667,"avatar_url":"https://avatars.githubusercontent.com/u/160667?v=3","gravatar_id":"","url":"https://api.github.com/users/craigpg","html_url":"https://github.com/craigpg","followers_url":"https://api.github.com/users/craigpg/followers","following_url":"https://api.github.com/users/craigpg/following{/other_user}","gists_url":"https://api.github.com/users/craigpg/gists{/gist_id}","starred_url":"https://api.github.com/users/craigpg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/craigpg/subscriptions","organizations_url":"https://api.github.com/users/craigpg/orgs","repos_url":"https://api.github.com/users/craigpg/repos","events_url":"https://api.github.com/users/craigpg/events{/privacy}","received_events_url":"https://api.github.com/users/craigpg/received_events","type":"User","site_admin":false},"open_issues":633,"closed_issues":296,"state":"open","created_at":"2015-02-24T16:19:37Z","updated_at":"2015-08-07T15:33:30Z","due_on":"2015-10-20T04:00:00Z","closed_at":null},"comments":22,"created_at":"2015-01-23T22:02:51Z","updated_at":"2015-08-07T15:53:56Z","closed_at":"2015-08-07T15:31:03Z","pull_request":{"url":"https://api.github.com/repos/owncloud/core/pulls/13641","html_url":"https://github.com/owncloud/core/pull/13641","diff_url":"https://github.com/owncloud/core/pull/13641.diff","patch_url":"https://github.com/owncloud/core/pull/13641.patch"},"body":"Storage status is saved in the database. Failed storages are rechecked every 10 minutes, while working storages are rechecked every request. Using the files_external app will recheck all external storages when the settings page is viewed, or whenever an external storage is saved.\r\n\r\nThe advantage of this is that failed external storages will not impede page loading, apart from every 10 minutes when a recheck is performed. To test, simply create several external storages will valid details other than the credentials (SFTP is nice and slow for this), then load the files page. On master, it will load slowly as timeouts occur. With this PR, it will load slowly once, then be fast for 10 minutes.\r\n\r\nThe counterpart to this is #13515, which eliminates the slowdown on the settings pages.\r\n\r\nFixes #13531\r\n\r\ncc @PVince81 @icewind1991 @DeepDiver1975 \r\n\r\nP.S. This is my first work involving database stuff. It's likely that I got something wrong, so review those bits in particular! The unit tests should help though :smile:"},"comment":{"url":"https://api.github.com/repos/owncloud/core/issues/comments/128745560","html_url":"https://github.com/owncloud/core/pull/13641#issuecomment-128745560","issue_url":"https://api.github.com/repos/owncloud/core/issues/13641","id":128745560,"user":{"login":"PVince81","id":277525,"avatar_url":"https://avatars.githubusercontent.com/u/277525?v=3","gravatar_id":"","url":"https://api.github.com/users/PVince81","html_url":"https://github.com/PVince81","followers_url":"https://api.github.com/users/PVince81/followers","following_url":"https://api.github.com/users/PVince81/following{/other_user}","gists_url":"https://api.github.com/users/PVince81/gists{/gist_id}","starred_url":"https://api.github.com/users/PVince81/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PVince81/subscriptions","organizations_url":"https://api.github.com/users/PVince81/orgs","repos_url":"https://api.github.com/users/PVince81/repos","events_url":"https://api.github.com/users/PVince81/events{/privacy}","received_events_url":"https://api.github.com/users/PVince81/received_events","type":"User","site_admin":false},"created_at":"2015-08-07T15:53:55Z","updated_at":"2015-08-07T15:53:55Z","body":"Regression, cannot create user: https://github.com/owncloud/core/issues/18129"}}