{"action":"created","issue":{"url":"https://api.github.com/repos/thelounge/lounge/issues/1307","repository_url":"https://api.github.com/repos/thelounge/lounge","labels_url":"https://api.github.com/repos/thelounge/lounge/issues/1307/labels{/name}","comments_url":"https://api.github.com/repos/thelounge/lounge/issues/1307/comments","events_url":"https://api.github.com/repos/thelounge/lounge/issues/1307/events","html_url":"https://github.com/thelounge/lounge/pull/1307","id":240997552,"number":1307,"title":"Store preview images on disk for privacy, security and caching","user":{"login":"xPaw","id":613331,"avatar_url":"https://avatars0.githubusercontent.com/u/613331?v=3","gravatar_id":"","url":"https://api.github.com/users/xPaw","html_url":"https://github.com/xPaw","followers_url":"https://api.github.com/users/xPaw/followers","following_url":"https://api.github.com/users/xPaw/following{/other_user}","gists_url":"https://api.github.com/users/xPaw/gists{/gist_id}","starred_url":"https://api.github.com/users/xPaw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xPaw/subscriptions","organizations_url":"https://api.github.com/users/xPaw/orgs","repos_url":"https://api.github.com/users/xPaw/repos","events_url":"https://api.github.com/users/xPaw/events{/privacy}","received_events_url":"https://api.github.com/users/xPaw/received_events","type":"User","site_admin":false},"labels":[{"id":323424562,"url":"https://api.github.com/repos/thelounge/lounge/labels/enhancement","name":"enhancement","color":"2196F3","default":true},{"id":325240355,"url":"https://api.github.com/repos/thelounge/lounge/labels/security","name":"security","color":"EE3F46","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/thelounge/lounge/milestones/25","html_url":"https://github.com/thelounge/lounge/milestone/25","labels_url":"https://api.github.com/repos/thelounge/lounge/milestones/25/labels","id":2597568,"number":25,"title":"2.4.0","description":"","creator":{"login":"astorije","id":113730,"avatar_url":"https://avatars2.githubusercontent.com/u/113730?v=3","gravatar_id":"","url":"https://api.github.com/users/astorije","html_url":"https://github.com/astorije","followers_url":"https://api.github.com/users/astorije/followers","following_url":"https://api.github.com/users/astorije/following{/other_user}","gists_url":"https://api.github.com/users/astorije/gists{/gist_id}","starred_url":"https://api.github.com/users/astorije/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/astorije/subscriptions","organizations_url":"https://api.github.com/users/astorije/orgs","repos_url":"https://api.github.com/users/astorije/repos","events_url":"https://api.github.com/users/astorije/events{/privacy}","received_events_url":"https://api.github.com/users/astorije/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":39,"state":"open","created_at":"2017-06-22T04:30:16Z","updated_at":"2017-07-07T04:21:39Z","due_on":null,"closed_at":null},"comments":12,"created_at":"2017-07-06T15:34:03Z","updated_at":"2017-07-07T05:33:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/thelounge/lounge/pulls/1307","html_url":"https://github.com/thelounge/lounge/pull/1307","diff_url":"https://github.com/thelounge/lounge/pull/1307.diff","patch_url":"https://github.com/thelounge/lounge/pull/1307.patch"},"body":"- [x] Add `block-all-mixed-content; img-src 'self'` to our CSP.\r\n- [x] Filenames are SHA256 of the file, split into 2 subfolders.\r\n- [x] `Storage` was designed to be used for file uploads in the future ;)\r\n- [ ] Add more tests\r\n- [ ] Allow disabling this in the config"},"comment":{"url":"https://api.github.com/repos/thelounge/lounge/issues/comments/313590969","html_url":"https://github.com/thelounge/lounge/pull/1307#issuecomment-313590969","issue_url":"https://api.github.com/repos/thelounge/lounge/issues/1307","id":313590969,"user":{"login":"astorije","id":113730,"avatar_url":"https://avatars2.githubusercontent.com/u/113730?v=3","gravatar_id":"","url":"https://api.github.com/users/astorije","html_url":"https://github.com/astorije","followers_url":"https://api.github.com/users/astorije/followers","following_url":"https://api.github.com/users/astorije/following{/other_user}","gists_url":"https://api.github.com/users/astorije/gists{/gist_id}","starred_url":"https://api.github.com/users/astorije/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/astorije/subscriptions","organizations_url":"https://api.github.com/users/astorije/orgs","repos_url":"https://api.github.com/users/astorije/repos","events_url":"https://api.github.com/users/astorije/events{/privacy}","received_events_url":"https://api.github.com/users/astorije/received_events","type":"User","site_admin":false},"created_at":"2017-07-07T05:33:33Z","updated_at":"2017-07-07T05:33:33Z","body":"@xPaw, I am probably waay wrong asking that, and I know that even if this is technically possible, there are lot of tradeoffs and drawbacks that the current solution hasn't (but also advantages), but just wondering: would there be a way that the proxied URLs would just be a redirect on the server?\r\n\r\nSure, no caching, and several other issues (I'm not saying this is _the right way_, just wondering if this is technically possible), but that would make for a solution that doesn't store anything on the server.\r\n\r\nWhenever we need file uploads, that won't be enough anymore, but I'm still curious, and also we probably won't want to purge file uploads automatically!"}}
{"actor":{"display_login":"astorije"}}