{"action":"created","issue":{"url":"https://api.github.com/repos/clauderic/react-tiny-virtual-list/issues/47","repository_url":"https://api.github.com/repos/clauderic/react-tiny-virtual-list","labels_url":"https://api.github.com/repos/clauderic/react-tiny-virtual-list/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/clauderic/react-tiny-virtual-list/issues/47/comments","events_url":"https://api.github.com/repos/clauderic/react-tiny-virtual-list/issues/47/events","html_url":"https://github.com/clauderic/react-tiny-virtual-list/pull/47","id":305657095,"number":47,"title":"Use passive event listener and add support for debouncing onScroll","user":{"login":"bjoerge","id":876086,"avatar_url":"https://avatars0.githubusercontent.com/u/876086?v=4","gravatar_id":"","url":"https://api.github.com/users/bjoerge","html_url":"https://github.com/bjoerge","followers_url":"https://api.github.com/users/bjoerge/followers","following_url":"https://api.github.com/users/bjoerge/following{/other_user}","gists_url":"https://api.github.com/users/bjoerge/gists{/gist_id}","starred_url":"https://api.github.com/users/bjoerge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bjoerge/subscriptions","organizations_url":"https://api.github.com/users/bjoerge/orgs","repos_url":"https://api.github.com/users/bjoerge/repos","events_url":"https://api.github.com/users/bjoerge/events{/privacy}","received_events_url":"https://api.github.com/users/bjoerge/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-03-15T17:51:25Z","updated_at":"2018-03-17T00:56:35Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/clauderic/react-tiny-virtual-list/pulls/47","html_url":"https://github.com/clauderic/react-tiny-virtual-list/pull/47","diff_url":"https://github.com/clauderic/react-tiny-virtual-list/pull/47.diff","patch_url":"https://github.com/clauderic/react-tiny-virtual-list/pull/47.patch"},"body":"This adds a couple of workarounds for the performance drops described in #45 by using passive event listeners and adding support for (optionally) debouncing the scroll event handler.\r\n\r\n*Note*: This is strictly speaking a breaking change, since onScroll is now called with a native event instead of `React.UIEvent<HTMLDivElement>` as second parameter.\r\n\r\n*Note 2*: Had to upgrade TypeScript to get typings for third parameter to `addEventListener`\r\n\r\n*Note 3*: This adds the `debounce` package as dependency, so it's technically not _zero_ dependency anymore (debounce is ~500b minified & gzipped, btw.)"},"comment":{"url":"https://api.github.com/repos/clauderic/react-tiny-virtual-list/issues/comments/373881371","html_url":"https://github.com/clauderic/react-tiny-virtual-list/pull/47#issuecomment-373881371","issue_url":"https://api.github.com/repos/clauderic/react-tiny-virtual-list/issues/47","id":373881371,"user":{"login":"clauderic","id":1416436,"avatar_url":"https://avatars0.githubusercontent.com/u/1416436?v=4","gravatar_id":"","url":"https://api.github.com/users/clauderic","html_url":"https://github.com/clauderic","followers_url":"https://api.github.com/users/clauderic/followers","following_url":"https://api.github.com/users/clauderic/following{/other_user}","gists_url":"https://api.github.com/users/clauderic/gists{/gist_id}","starred_url":"https://api.github.com/users/clauderic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clauderic/subscriptions","organizations_url":"https://api.github.com/users/clauderic/orgs","repos_url":"https://api.github.com/users/clauderic/repos","events_url":"https://api.github.com/users/clauderic/events{/privacy}","received_events_url":"https://api.github.com/users/clauderic/received_events","type":"User","site_admin":false},"created_at":"2018-03-17T00:56:35Z","updated_at":"2018-03-17T00:56:35Z","author_association":"OWNER","body":"Hey @bjoerge,\r\n\r\nThanks for submitting this PR. \r\n\r\nI like the idea of using passive event listeners, but in my experience I haven't really seen any performance benefits from using them in the context of virtualization. Have you documented some performance improvements from using them with `react-tiny-virtual-list` (without debouncing)?"}}
{"actor":{"display_login":"clauderic"}}