html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,issue,performed_via_github_app https://github.com/simonw/datasette/issues/537#issuecomment-513317952,https://api.github.com/repos/simonw/datasette/issues/537,513317952,MDEyOklzc3VlQ29tbWVudDUxMzMxNzk1Mg==,9599,2019-07-19T17:49:06Z,2019-07-19T17:49:06Z,OWNER,It strikes me that if scope is indeed meant to stay immutable the alternative way of solving this would be to add an outbound custom request header with the endpoint - `X-Endpoint: datasette.views.table.TableView` for example - and teach the Sentry plugin to optionally read that.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",463544206, https://github.com/simonw/datasette/issues/537#issuecomment-513307487,https://api.github.com/repos/simonw/datasette/issues/537,513307487,MDEyOklzc3VlQ29tbWVudDUxMzMwNzQ4Nw==,9599,2019-07-19T17:17:43Z,2019-07-19T17:17:43Z,OWNER,"Huh, interesting. I'd got it into my head that scope should not be mutated under any circumstances - if that's not true and it's mutable there's all kinds of useful things we could do with it.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",463544206, https://github.com/simonw/datasette/issues/537#issuecomment-513279397,https://api.github.com/repos/simonw/datasette/issues/537,513279397,MDEyOklzc3VlQ29tbWVudDUxMzI3OTM5Nw==,647359,2019-07-19T15:47:57Z,2019-07-19T15:48:09Z,NONE,"The middleware implementation there works okay with a router nested inside if the scope is *mutated*. (Ie. ""endpoint"" doesn't need to exist at the point that the middleware starts running, but if it *has* been made available by the time an exception is thrown, then it can be used.) Starlette's usage of ""endpoint"" there is unilateral, rather than something I've discussed against the ASGI spec - certainly it's important for any monitoring ASGI middleware to be able to have some kind of visibility onto some limited subset of routing information, and `""endpoint""` in the scope referencing some routed-to callable seemed general enough to be useful. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",463544206, https://github.com/simonw/datasette/issues/537#issuecomment-513273003,https://api.github.com/repos/simonw/datasette/issues/537,513273003,MDEyOklzc3VlQ29tbWVudDUxMzI3MzAwMw==,9599,2019-07-19T15:28:42Z,2019-07-19T15:28:42Z,OWNER,Asked about this on Twitter: https://twitter.com/simonw/status/1152238730259791877,"{""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 1, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",463544206, https://github.com/simonw/datasette/issues/537#issuecomment-513272392,https://api.github.com/repos/simonw/datasette/issues/537,513272392,MDEyOklzc3VlQ29tbWVudDUxMzI3MjM5Mg==,9599,2019-07-19T15:27:03Z,2019-07-19T15:27:03Z,OWNER,"Yeah that's a good call: the Datasette plugin mechanism where middleware is wrapped around the outside doesn't appear to be compatible with the Sentry mechanism of expecting that `scope` has been populated before it gets to their error handler. @tomchristie is this something you've thought about?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",463544206,