{"action":"created","issue":{"url":"https://api.github.com/repos/getsentry/sentry/issues/2430","labels_url":"https://api.github.com/repos/getsentry/sentry/issues/2430/labels{/name}","comments_url":"https://api.github.com/repos/getsentry/sentry/issues/2430/comments","events_url":"https://api.github.com/repos/getsentry/sentry/issues/2430/events","html_url":"https://github.com/getsentry/sentry/issues/2430","id":121233198,"number":2430,"title":"Errors happening in scripts created from blob URLs are not deduplicated","user":{"login":"pornel","id":72159,"avatar_url":"https://avatars.githubusercontent.com/u/72159?v=3","gravatar_id":"","url":"https://api.github.com/users/pornel","html_url":"https://github.com/pornel","followers_url":"https://api.github.com/users/pornel/followers","following_url":"https://api.github.com/users/pornel/following{/other_user}","gists_url":"https://api.github.com/users/pornel/gists{/gist_id}","starred_url":"https://api.github.com/users/pornel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pornel/subscriptions","organizations_url":"https://api.github.com/users/pornel/orgs","repos_url":"https://api.github.com/users/pornel/repos","events_url":"https://api.github.com/users/pornel/events{/privacy}","received_events_url":"https://api.github.com/users/pornel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-12-09T13:04:06Z","updated_at":"2015-12-09T19:44:40Z","closed_at":null,"body":"We load scripts from Blob URLs (`URL.createObjectURL(blob)`), because we need it as a work around AppCache bugs (and we're stuck with AppCache because of iOS). We're also moving to running code in WebWorkers soon, and Blob URLs are a good way to launch WebWorkers without additional requests.\r\n\r\nHowever, Blob URLs make our scripts appear to originate from a unique random URLs such as `blob:http://app.ft.com/7f7aaadf-a006-4217-9ed5-5fbf8585c6c0`, where the UUID is different every time for every user.\r\n\r\nThis seems to defeat error grouping Sentry, and since we've made this change we're drowning in duplicate errors:\r\n\r\n![screen shot 2015-12-09 at 12 57 47](https://cloud.githubusercontent.com/assets/72159/11685905/7d3a40b8-9e74-11e5-9471-e2143aa52739.png)\r\n\r\n\r\nCould you normalize Blob URLs and ignore the random portion?\r\n\r\nIs there an API in Raven that would allow us to provide you a mapping from Blob URL to an HTTP URL?\r\n"},"comment":{"url":"https://api.github.com/repos/getsentry/sentry/issues/comments/163369601","html_url":"https://github.com/getsentry/sentry/issues/2430#issuecomment-163369601","issue_url":"https://api.github.com/repos/getsentry/sentry/issues/2430","id":163369601,"user":{"login":"dcramer","id":23610,"avatar_url":"https://avatars.githubusercontent.com/u/23610?v=3","gravatar_id":"","url":"https://api.github.com/users/dcramer","html_url":"https://github.com/dcramer","followers_url":"https://api.github.com/users/dcramer/followers","following_url":"https://api.github.com/users/dcramer/following{/other_user}","gists_url":"https://api.github.com/users/dcramer/gists{/gist_id}","starred_url":"https://api.github.com/users/dcramer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dcramer/subscriptions","organizations_url":"https://api.github.com/users/dcramer/orgs","repos_url":"https://api.github.com/users/dcramer/repos","events_url":"https://api.github.com/users/dcramer/events{/privacy}","received_events_url":"https://api.github.com/users/dcramer/received_events","type":"User","site_admin":false},"created_at":"2015-12-09T19:44:40Z","updated_at":"2015-12-09T19:44:40Z","body":"I'm going to close this out as it's more a question and needs more information, but I will keep an eye out for updates.\r\n\r\nOf note here, the blob url you're showing in this list as not used for hashing. We use stacktrace/message components, and the blob here is the 'context' "}}