{"action":"created","issue":{"url":"https://api.github.com/repos/faye/permessage-deflate-node/issues/3","labels_url":"https://api.github.com/repos/faye/permessage-deflate-node/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/faye/permessage-deflate-node/issues/3/comments","events_url":"https://api.github.com/repos/faye/permessage-deflate-node/issues/3/events","html_url":"https://github.com/faye/permessage-deflate-node/pull/3","id":53810988,"number":3,"title":"Don't close active inflate/deflate objects","user":{"login":"glasser","id":16724,"avatar_url":"https://avatars.githubusercontent.com/u/16724?v=3","gravatar_id":"","url":"https://api.github.com/users/glasser","html_url":"https://github.com/glasser","followers_url":"https://api.github.com/users/glasser/followers","following_url":"https://api.github.com/users/glasser/following{/other_user}","gists_url":"https://api.github.com/users/glasser/gists{/gist_id}","starred_url":"https://api.github.com/users/glasser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/glasser/subscriptions","organizations_url":"https://api.github.com/users/glasser/orgs","repos_url":"https://api.github.com/users/glasser/repos","events_url":"https://api.github.com/users/glasser/events{/privacy}","received_events_url":"https://api.github.com/users/glasser/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-01-08T22:42:05Z","updated_at":"2015-01-09T01:15:02Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/faye/permessage-deflate-node/pulls/3","html_url":"https://github.com/faye/permessage-deflate-node/pull/3","diff_url":"https://github.com/faye/permessage-deflate-node/pull/3.diff","patch_url":"https://github.com/faye/permessage-deflate-node/pull/3.patch"},"body":"Previously, inflate/deflate objects that were shared between multiple\r\nmessages (due to context takeover) would be immediately closed on\r\nSession.close even if some data was currently being fed through\r\nzlib. With this change, Session.close only closes idle inflate/deflate\r\nobjects; it still drops them from this._inflate/_deflate so that\r\nprocess*Message will close them later.\r\n\r\nFixes #1.\r\n\r\n\r\n**TWO CAVEATS**\r\n\r\n(1) This has no tests. I'm going to try to write some now.  It does make some Meteor tests pass though!\r\n\r\n(2) This raises an API question to me: it appears that permessage-deflate can still call process*Message callbacks after session.close is called.  Is this the intended extension API? Does this lead to any issues at the websocket-driver level?"},"comment":{"url":"https://api.github.com/repos/faye/permessage-deflate-node/issues/comments/69279437","html_url":"https://github.com/faye/permessage-deflate-node/pull/3#issuecomment-69279437","issue_url":"https://api.github.com/repos/faye/permessage-deflate-node/issues/3","id":69279437,"user":{"login":"glasser","id":16724,"avatar_url":"https://avatars.githubusercontent.com/u/16724?v=3","gravatar_id":"","url":"https://api.github.com/users/glasser","html_url":"https://github.com/glasser","followers_url":"https://api.github.com/users/glasser/followers","following_url":"https://api.github.com/users/glasser/following{/other_user}","gists_url":"https://api.github.com/users/glasser/gists{/gist_id}","starred_url":"https://api.github.com/users/glasser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/glasser/subscriptions","organizations_url":"https://api.github.com/users/glasser/orgs","repos_url":"https://api.github.com/users/glasser/repos","events_url":"https://api.github.com/users/glasser/events{/privacy}","received_events_url":"https://api.github.com/users/glasser/received_events","type":"User","site_admin":false},"created_at":"2015-01-09T01:15:02Z","updated_at":"2015-01-09T01:15:02Z","body":"My second caveat is now separated into https://github.com/faye/websocket-driver-node/issues/11 and it can be reproduced without permessage-deflate.  I think this PR should be good for fixing the zlib-specific issue though."}}