{"action":"created","issue":{"url":"https://api.github.com/repos/devtools-html/debugger.html/issues/7276","repository_url":"https://api.github.com/repos/devtools-html/debugger.html","labels_url":"https://api.github.com/repos/devtools-html/debugger.html/issues/7276/labels{/name}","comments_url":"https://api.github.com/repos/devtools-html/debugger.html/issues/7276/comments","events_url":"https://api.github.com/repos/devtools-html/debugger.html/issues/7276/events","html_url":"https://github.com/devtools-html/debugger.html/pull/7276","id":381007475,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMxMDc0MDA2","number":7276,"title":"Bug 1505701 - Propagate all errors from promiseMiddleware.","user":{"login":"arai-a","id":6299746,"node_id":"MDQ6VXNlcjYyOTk3NDY=","avatar_url":"https://avatars1.githubusercontent.com/u/6299746?v=4","gravatar_id":"","url":"https://api.github.com/users/arai-a","html_url":"https://github.com/arai-a","followers_url":"https://api.github.com/users/arai-a/followers","following_url":"https://api.github.com/users/arai-a/following{/other_user}","gists_url":"https://api.github.com/users/arai-a/gists{/gist_id}","starred_url":"https://api.github.com/users/arai-a/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arai-a/subscriptions","organizations_url":"https://api.github.com/users/arai-a/orgs","repos_url":"https://api.github.com/users/arai-a/repos","events_url":"https://api.github.com/users/arai-a/events{/privacy}","received_events_url":"https://api.github.com/users/arai-a/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2018-11-15T05:36:07Z","updated_at":"2018-11-22T03:34:53Z","closed_at":"2018-11-16T15:22:31Z","author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/devtools-html/debugger.html/pulls/7276","html_url":"https://github.com/devtools-html/debugger.html/pull/7276","diff_url":"https://github.com/devtools-html/debugger.html/pull/7276.diff","patch_url":"https://github.com/devtools-html/debugger.html/pull/7276.patch"},"body":"Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1505701\r\n\r\n### Summary of Changes\r\n\r\nChanged `promiseMiddleware` to propagate error which is thrown from `executeSoon`\r\nthis can happen if the window that executes `setTimeout` (`executeSoon`'s impl) is closed\r\nbefore the timeout happens.\r\n\r\nThe file that needs fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1505701 is only  src/actions/utils/middleware/promise.js , but I've applied the same fix to packages/devtools-reps/src/launchpad/utils/redux/middleware/promise.js given it looks like another copy of the same file which has the same issue.\r\n\r\n### Test Plan\r\n\r\nThis has no testcase, given the case this patch handles is already inside existing testcase in m-c:\r\n    * devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-01.js\r\n    * devtools/client/inspector/markup/test/browser_markup_links_06.js\r\n\r\nThe detail of the issue is described in https://bugzilla.mozilla.org/show_bug.cgi?id=1505701\r\nand they hit error if I fix https://bugzilla.mozilla.org/show_bug.cgi?id=1498775\r\n"},"comment":{"url":"https://api.github.com/repos/devtools-html/debugger.html/issues/comments/440902898","html_url":"https://github.com/devtools-html/debugger.html/pull/7276#issuecomment-440902898","issue_url":"https://api.github.com/repos/devtools-html/debugger.html/issues/7276","id":440902898,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MDkwMjg5OA==","user":{"login":"arai-a","id":6299746,"node_id":"MDQ6VXNlcjYyOTk3NDY=","avatar_url":"https://avatars1.githubusercontent.com/u/6299746?v=4","gravatar_id":"","url":"https://api.github.com/users/arai-a","html_url":"https://github.com/arai-a","followers_url":"https://api.github.com/users/arai-a/followers","following_url":"https://api.github.com/users/arai-a/following{/other_user}","gists_url":"https://api.github.com/users/arai-a/gists{/gist_id}","starred_url":"https://api.github.com/users/arai-a/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arai-a/subscriptions","organizations_url":"https://api.github.com/users/arai-a/orgs","repos_url":"https://api.github.com/users/arai-a/repos","events_url":"https://api.github.com/users/arai-a/events{/privacy}","received_events_url":"https://api.github.com/users/arai-a/received_events","type":"User","site_admin":false},"created_at":"2018-11-22T03:34:53Z","updated_at":"2018-11-22T03:34:53Z","author_association":"CONTRIBUTOR","body":"if I ignore the failure from executeSoon and continue to fulfillment case,\r\nit fails with the following error:\r\n\r\n```\r\n  FAIL A promise chain failed to handle a rejection: No such actor for ID: server1.conn1.child1/source24 - stack: (No stack available.)\r\nRejection date: Thu Nov 22 2018 12:29:37 GMT+0900 (Japan Standard Time) - false == true - JS frame :: resource://testing-common/PromiseTestUtils.jsm :: assertNoUncaughtRejections :: line 257\r\nStack trace:\r\nresource://testing-common/PromiseTestUtils.jsm:assertNoUncaughtRejections:257\r\nchrome://mochikit/content/browser-test.js:nextTest:736\r\nchrome://mochikit/content/browser-test.js:testScope/test_finish/<:1395\r\nchrome://mochikit/content/browser-test.js:run:1332\r\n```\r\n\r\nthe remaining part also depends on the lifetime of the tab and the debugging session.\r\nso I think waiting for completion is the simplest fix.\r\n"}}
{"actor":{"display_login":"arai-a"}}