{"action":"created","issue":{"url":"https://api.github.com/repos/Workiva/over_react/issues/58","repository_url":"https://api.github.com/repos/Workiva/over_react","labels_url":"https://api.github.com/repos/Workiva/over_react/issues/58/labels{/name}","comments_url":"https://api.github.com/repos/Workiva/over_react/issues/58/comments","events_url":"https://api.github.com/repos/Workiva/over_react/issues/58/events","html_url":"https://github.com/Workiva/over_react/pull/58","id":216839627,"number":58,"title":"UIP-2153: Transition warning sometimes fires when it shouldn't","user":{"login":"kaanaksoy-wk","id":25180432,"avatar_url":"https://avatars1.githubusercontent.com/u/25180432?v=3","gravatar_id":"","url":"https://api.github.com/users/kaanaksoy-wk","html_url":"https://github.com/kaanaksoy-wk","followers_url":"https://api.github.com/users/kaanaksoy-wk/followers","following_url":"https://api.github.com/users/kaanaksoy-wk/following{/other_user}","gists_url":"https://api.github.com/users/kaanaksoy-wk/gists{/gist_id}","starred_url":"https://api.github.com/users/kaanaksoy-wk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaanaksoy-wk/subscriptions","organizations_url":"https://api.github.com/users/kaanaksoy-wk/orgs","repos_url":"https://api.github.com/users/kaanaksoy-wk/repos","events_url":"https://api.github.com/users/kaanaksoy-wk/events{/privacy}","received_events_url":"https://api.github.com/users/kaanaksoy-wk/received_events","type":"User","site_admin":false},"labels":[{"id":494985497,"url":"https://api.github.com/repos/Workiva/over_react/labels/Merge%20Requirements%20Met","name":"Merge Requirements Met","color":"159818","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-03-24T16:33:41Z","updated_at":"2017-03-28T23:57:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Workiva/over_react/pulls/58","html_url":"https://github.com/Workiva/over_react/pull/58","diff_url":"https://github.com/Workiva/over_react/pull/58.diff","patch_url":"https://github.com/Workiva/over_react/pull/58.patch"},"body":"## Ultimate problem:\r\nThe newly-added transition warning ([UIP-1802](https://github.com/Workiva/over_react/pull/55)),\r\n`VALIDATION WARNING: The number of transitions expected to complete have not completed. Something is most likely wrong.` fires sometimes when it shouldn't.\r\n\r\nFor instance, sometimes `transitionend` events never fire on purpose, such as when the user cancels the transition (think hiding a popover while it's still showing). This results in a warning when it should not.\r\n\r\nI also noticed in the code that the timer does not unsubscribe the listener function, which it probably should.\r\n\r\n## How it was fixed:\r\n- Create an instance field, `_transitionEndTimer`, that keeps track of whether a transition timeout has occurred.\r\n- When a transition is canceled (ie, after hiding a popover while it's still showing), `_transitionEndTimer` is canceled as well.\r\n- Make the timer unsubscribe the listener function.\r\n\r\n## Testing suggestions:\r\n- Verify that the tests pass.\r\n- While in Dart checked mode, verify that rapidly clicking the \"Pick a date\" button twice (on [WSD Docs](https://docs.workiva.org/web_skin_dart/latest/components/#datepicker-custom-usage)) does not result in a validation warning.\r\n\r\n\r\n## Potential areas of regression:\r\n\r\n\r\n\r\n---\r\n\r\n> __FYA:__ @greglittlefield-wf @aaronlademann-wf @jacehensley-wf @clairesarsam-wf @joelleibow-wf\r\n"},"comment":{"url":"https://api.github.com/repos/Workiva/over_react/issues/comments/289940722","html_url":"https://github.com/Workiva/over_react/pull/58#issuecomment-289940722","issue_url":"https://api.github.com/repos/Workiva/over_react/issues/58","id":289940722,"user":{"login":"greglittlefield-wf","id":1713967,"avatar_url":"https://avatars3.githubusercontent.com/u/1713967?v=3","gravatar_id":"","url":"https://api.github.com/users/greglittlefield-wf","html_url":"https://github.com/greglittlefield-wf","followers_url":"https://api.github.com/users/greglittlefield-wf/followers","following_url":"https://api.github.com/users/greglittlefield-wf/following{/other_user}","gists_url":"https://api.github.com/users/greglittlefield-wf/gists{/gist_id}","starred_url":"https://api.github.com/users/greglittlefield-wf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/greglittlefield-wf/subscriptions","organizations_url":"https://api.github.com/users/greglittlefield-wf/orgs","repos_url":"https://api.github.com/users/greglittlefield-wf/repos","events_url":"https://api.github.com/users/greglittlefield-wf/events{/privacy}","received_events_url":"https://api.github.com/users/greglittlefield-wf/received_events","type":"User","site_admin":false},"created_at":"2017-03-28T23:57:19Z","updated_at":"2017-03-28T23:57:19Z","body":"I'm seeing warnings when I shouldn't when double-clicking the datepicker button rapidly when it's already open. 😢 "}}
{"actor":{"display_login":"greglittlefield-wf"}}