{"action":"created","issue":{"url":"https://api.github.com/repos/atom-haskell/ide-haskell/issues/63","labels_url":"https://api.github.com/repos/atom-haskell/ide-haskell/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/atom-haskell/ide-haskell/issues/63/comments","events_url":"https://api.github.com/repos/atom-haskell/ide-haskell/issues/63/events","html_url":"https://github.com/atom-haskell/ide-haskell/issues/63","id":82119299,"number":63,"title":"[Type popup] when moving mouse fast, popup lags with increasing delay","user":{"login":"rvion","id":2150990,"avatar_url":"https://avatars.githubusercontent.com/u/2150990?v=3","gravatar_id":"","url":"https://api.github.com/users/rvion","html_url":"https://github.com/rvion","followers_url":"https://api.github.com/users/rvion/followers","following_url":"https://api.github.com/users/rvion/following{/other_user}","gists_url":"https://api.github.com/users/rvion/gists{/gist_id}","starred_url":"https://api.github.com/users/rvion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rvion/subscriptions","organizations_url":"https://api.github.com/users/rvion/orgs","repos_url":"https://api.github.com/users/rvion/repos","events_url":"https://api.github.com/users/rvion/events{/privacy}","received_events_url":"https://api.github.com/users/rvion/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/atom-haskell/ide-haskell/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-05-28T20:51:46Z","updated_at":"2015-05-29T20:56:00Z","closed_at":null,"body":"### Currently:\r\n\r\nAtom send type queries to ide-backend for each char hovered, without waiting for the previous one to finish.\r\nif mouse move faster than type query, requests queue up.\r\n\r\nproblem: popups successfully appears on useless places, following mouse with increasing delay (easilly ~2+ sec on my mac when moving normally my mouse over large code)\r\nNot only it's not efficient, but it's also weird :)\r\n\r\n\r\n### normal behaviour\r\n\r\nThere is 2 things to fix:\r\n\r\n  1. Send only one query max, and keep one ready to be sent next, after the previous have returned. Instead of queuing requests, if mouse keep moving while previous request is pending, only the next query to run should be updated.\r\n\r\n  2. When the ide-backend finally return type information, atom should check if the mouse is still hovering the requested char (or word, see #62 ) and only display the popup if so.\r\n\r\nAny opinion on above sentences ? :)\r\n"},"comment":{"url":"https://api.github.com/repos/atom-haskell/ide-haskell/issues/comments/106933827","html_url":"https://github.com/atom-haskell/ide-haskell/issues/63#issuecomment-106933827","issue_url":"https://api.github.com/repos/atom-haskell/ide-haskell/issues/63","id":106933827,"user":{"login":"lierdakil","id":7275622,"avatar_url":"https://avatars.githubusercontent.com/u/7275622?v=3","gravatar_id":"","url":"https://api.github.com/users/lierdakil","html_url":"https://github.com/lierdakil","followers_url":"https://api.github.com/users/lierdakil/followers","following_url":"https://api.github.com/users/lierdakil/following{/other_user}","gists_url":"https://api.github.com/users/lierdakil/gists{/gist_id}","starred_url":"https://api.github.com/users/lierdakil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lierdakil/subscriptions","organizations_url":"https://api.github.com/users/lierdakil/orgs","repos_url":"https://api.github.com/users/lierdakil/repos","events_url":"https://api.github.com/users/lierdakil/events{/privacy}","received_events_url":"https://api.github.com/users/lierdakil/received_events","type":"User","site_admin":false},"created_at":"2015-05-29T20:56:00Z","updated_at":"2015-05-29T20:56:00Z","body":"I just published v0.5.7 with your suggestions implemented to some degree (see changelog for more information). If you could verify, that'd be great. Thanks."}}