{"action":"created","issue":{"url":"https://api.github.com/repos/plotly/dash-renderer/issues/57","repository_url":"https://api.github.com/repos/plotly/dash-renderer","labels_url":"https://api.github.com/repos/plotly/dash-renderer/issues/57/labels{/name}","comments_url":"https://api.github.com/repos/plotly/dash-renderer/issues/57/comments","events_url":"https://api.github.com/repos/plotly/dash-renderer/issues/57/events","html_url":"https://github.com/plotly/dash-renderer/issues/57","id":334619158,"node_id":"MDU6SXNzdWUzMzQ2MTkxNTg=","number":57,"title":"When callback exceptions are supressed, if an `Input` or `State` references an ID that doesn't exist at callback trigger, then an front-end exception is thrown","user":{"login":"chriddyp","id":1280389,"node_id":"MDQ6VXNlcjEyODAzODk=","avatar_url":"https://avatars3.githubusercontent.com/u/1280389?v=4","gravatar_id":"","url":"https://api.github.com/users/chriddyp","html_url":"https://github.com/chriddyp","followers_url":"https://api.github.com/users/chriddyp/followers","following_url":"https://api.github.com/users/chriddyp/following{/other_user}","gists_url":"https://api.github.com/users/chriddyp/gists{/gist_id}","starred_url":"https://api.github.com/users/chriddyp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriddyp/subscriptions","organizations_url":"https://api.github.com/users/chriddyp/orgs","repos_url":"https://api.github.com/users/chriddyp/repos","events_url":"https://api.github.com/users/chriddyp/events{/privacy}","received_events_url":"https://api.github.com/users/chriddyp/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"rmarren1","id":10272301,"node_id":"MDQ6VXNlcjEwMjcyMzAx","avatar_url":"https://avatars3.githubusercontent.com/u/10272301?v=4","gravatar_id":"","url":"https://api.github.com/users/rmarren1","html_url":"https://github.com/rmarren1","followers_url":"https://api.github.com/users/rmarren1/followers","following_url":"https://api.github.com/users/rmarren1/following{/other_user}","gists_url":"https://api.github.com/users/rmarren1/gists{/gist_id}","starred_url":"https://api.github.com/users/rmarren1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmarren1/subscriptions","organizations_url":"https://api.github.com/users/rmarren1/orgs","repos_url":"https://api.github.com/users/rmarren1/repos","events_url":"https://api.github.com/users/rmarren1/events{/privacy}","received_events_url":"https://api.github.com/users/rmarren1/received_events","type":"User","site_admin":false},"assignees":[{"login":"rmarren1","id":10272301,"node_id":"MDQ6VXNlcjEwMjcyMzAx","avatar_url":"https://avatars3.githubusercontent.com/u/10272301?v=4","gravatar_id":"","url":"https://api.github.com/users/rmarren1","html_url":"https://github.com/rmarren1","followers_url":"https://api.github.com/users/rmarren1/followers","following_url":"https://api.github.com/users/rmarren1/following{/other_user}","gists_url":"https://api.github.com/users/rmarren1/gists{/gist_id}","starred_url":"https://api.github.com/users/rmarren1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmarren1/subscriptions","organizations_url":"https://api.github.com/users/rmarren1/orgs","repos_url":"https://api.github.com/users/rmarren1/repos","events_url":"https://api.github.com/users/rmarren1/events{/privacy}","received_events_url":"https://api.github.com/users/rmarren1/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2018-06-21T19:05:17Z","updated_at":"2018-07-13T14:40:43Z","closed_at":null,"author_association":"MEMBER","body":""},"comment":{"url":"https://api.github.com/repos/plotly/dash-renderer/issues/comments/404853485","html_url":"https://github.com/plotly/dash-renderer/issues/57#issuecomment-404853485","issue_url":"https://api.github.com/repos/plotly/dash-renderer/issues/57","id":404853485,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNDg1MzQ4NQ==","user":{"login":"rmarren1","id":10272301,"node_id":"MDQ6VXNlcjEwMjcyMzAx","avatar_url":"https://avatars3.githubusercontent.com/u/10272301?v=4","gravatar_id":"","url":"https://api.github.com/users/rmarren1","html_url":"https://github.com/rmarren1","followers_url":"https://api.github.com/users/rmarren1/followers","following_url":"https://api.github.com/users/rmarren1/following{/other_user}","gists_url":"https://api.github.com/users/rmarren1/gists{/gist_id}","starred_url":"https://api.github.com/users/rmarren1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmarren1/subscriptions","organizations_url":"https://api.github.com/users/rmarren1/orgs","repos_url":"https://api.github.com/users/rmarren1/repos","events_url":"https://api.github.com/users/rmarren1/events{/privacy}","received_events_url":"https://api.github.com/users/rmarren1/received_events","type":"User","site_admin":false},"created_at":"2018-07-13T14:40:43Z","updated_at":"2018-07-13T14:40:43Z","author_association":"NONE","body":"It does not look like `app.layout` updates in sync with the application front-end, which means it is unlikely we can dynamically check this before each callback and throw a back-end exception.\r\n\r\nIt appears that the exception is thrown from [here](https://github.com/plotly/dash-renderer/blob/70bb93e8f0151ddc7d0810f3df271036a069360a/src/actions/index.js#L75). I think the quickest patch right now is just to throw a 'nice' exception there telling the user the bad id and the set of currently available ids."}}
{"actor":{"display_login":"rmarren1"}}