{"action":"created","issue":{"url":"https://api.github.com/repos/edgi-govdata-archiving/web-monitoring/issues/92","repository_url":"https://api.github.com/repos/edgi-govdata-archiving/web-monitoring","labels_url":"https://api.github.com/repos/edgi-govdata-archiving/web-monitoring/issues/92/labels{/name}","comments_url":"https://api.github.com/repos/edgi-govdata-archiving/web-monitoring/issues/92/comments","events_url":"https://api.github.com/repos/edgi-govdata-archiving/web-monitoring/issues/92/events","html_url":"https://github.com/edgi-govdata-archiving/web-monitoring/issues/92","id":292082229,"number":92,"title":"Solve rendering problem when iframe loads content from https or touches storage/cookies","user":{"login":"weatherpattern","id":1836118,"avatar_url":"https://avatars1.githubusercontent.com/u/1836118?v=4","gravatar_id":"","url":"https://api.github.com/users/weatherpattern","html_url":"https://github.com/weatherpattern","followers_url":"https://api.github.com/users/weatherpattern/followers","following_url":"https://api.github.com/users/weatherpattern/following{/other_user}","gists_url":"https://api.github.com/users/weatherpattern/gists{/gist_id}","starred_url":"https://api.github.com/users/weatherpattern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/weatherpattern/subscriptions","organizations_url":"https://api.github.com/users/weatherpattern/orgs","repos_url":"https://api.github.com/users/weatherpattern/repos","events_url":"https://api.github.com/users/weatherpattern/events{/privacy}","received_events_url":"https://api.github.com/users/weatherpattern/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-01-27T02:28:07Z","updated_at":"2018-02-06T20:43:07Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Scanner has rendering problems because we render diffs by getting an HTML string back from the differ and shoving it into an iframe. Unfortunately, that means the frame runs with extremely restricted security, so if it tries to load scripts or styles or images from `https`, it will fail, and if it tries to touch storage or cookies, it will throw an exception. A lot of the sites aren’t well coded to account for that, so the JavaScript code in them starts running but never finishes.\r\n\r\nSolving this is kinda complicated and I’m not sure whether it is best done in the UI or DB layer\r\n\r\nSee Menu on Jan 18 scrape:\r\nhttps://monitoring.envirodatagov.org/page/f4409490-e8f0-455d-ad8d-7ae0cf6aab74/0ad4bcbc-d751-44b0-bc41-434755416868..f690d39f-7f71-4fc7-93a4-89e7f01dfce8\r\n\r\nAlso:\r\nhttps://monitoring.envirodatagov.org/page/dbd5f818-44a6-486c-a3ec-9b49cb6b72d0/9b7a5215-e2b9-42d1-857c-a2ef874c4f5b..d4cb9d0f-3042-4bfb-adde-e335f75a1ab0\r\n\r\nRelated to:\r\nhttps://github.com/edgi-govdata-archiving/web-monitoring-db/issues/91"},"comment":{"url":"https://api.github.com/repos/edgi-govdata-archiving/web-monitoring/issues/comments/363558785","html_url":"https://github.com/edgi-govdata-archiving/web-monitoring/issues/92#issuecomment-363558785","issue_url":"https://api.github.com/repos/edgi-govdata-archiving/web-monitoring/issues/92","id":363558785,"user":{"login":"Mr0grog","id":74178,"avatar_url":"https://avatars0.githubusercontent.com/u/74178?v=4","gravatar_id":"","url":"https://api.github.com/users/Mr0grog","html_url":"https://github.com/Mr0grog","followers_url":"https://api.github.com/users/Mr0grog/followers","following_url":"https://api.github.com/users/Mr0grog/following{/other_user}","gists_url":"https://api.github.com/users/Mr0grog/gists{/gist_id}","starred_url":"https://api.github.com/users/Mr0grog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mr0grog/subscriptions","organizations_url":"https://api.github.com/users/Mr0grog/orgs","repos_url":"https://api.github.com/users/Mr0grog/repos","events_url":"https://api.github.com/users/Mr0grog/events{/privacy}","received_events_url":"https://api.github.com/users/Mr0grog/received_events","type":"User","site_admin":false},"created_at":"2018-02-06T20:43:07Z","updated_at":"2018-02-06T20:43:07Z","author_association":"CONTRIBUTOR","body":"To be more clear on this one, we need a proxy service to load the pages and diffs from (and that manipulates the HTML as needed along the way). This way, we load the pages from that service instead of stuffing client-side manipulated source code directly into the `iframe`—so the `iframe` actually has an origin and is allowed to do more things.\r\n\r\nIt’s not clear to me whether that proxy should be part of the UI’s existing server layer (because it is addressing concerns specific to the UI) or if it should live in the DB project (because it could *probably* be done in a relatively display-agnostic way and other potential UIs might benefit from it, or even just because we don’t want to put quite so much server logic into the UI project)."}}
{"actor":{"display_login":"Mr0grog"}}