{"action":"created","issue":{"url":"https://api.github.com/repos/nodeca/tabex/issues/2","labels_url":"https://api.github.com/repos/nodeca/tabex/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/nodeca/tabex/issues/2/comments","events_url":"https://api.github.com/repos/nodeca/tabex/issues/2/events","html_url":"https://github.com/nodeca/tabex/issues/2","id":85931956,"number":2,"title":"Shared workers support?","user":{"login":"puzrin","id":319465,"avatar_url":"https://avatars.githubusercontent.com/u/319465?v=3","gravatar_id":"","url":"https://api.github.com/users/puzrin","html_url":"https://github.com/puzrin","followers_url":"https://api.github.com/users/puzrin/followers","following_url":"https://api.github.com/users/puzrin/following{/other_user}","gists_url":"https://api.github.com/users/puzrin/gists{/gist_id}","starred_url":"https://api.github.com/users/puzrin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puzrin/subscriptions","organizations_url":"https://api.github.com/users/puzrin/orgs","repos_url":"https://api.github.com/users/puzrin/repos","events_url":"https://api.github.com/users/puzrin/events{/privacy}","received_events_url":"https://api.github.com/users/puzrin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/nodeca/tabex/labels/idea","name":"idea","color":"d4c5f9"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-06-07T19:31:28Z","updated_at":"2015-09-26T17:37:56Z","closed_at":null,"body":"This is technically interesting thing, but probably not so useful on practice\r\n\r\n__pros__\r\n\r\n- Zero downtime of shared realtime server connection when user closes mastered tab.\r\n\r\n__cons__\r\n\r\n- More complex setup\r\n- Need duplication of client code (server connector)\r\n- Still needs iframe for cross-domain comm\r\n\r\n__problems to solve__\r\n\r\n- No master tab. How should we deal with it, to make work both LS and SW modes?\r\n  - If we don't emulate legacy master events, then user MUST create SW client with server connector.\r\n    If we emulate legacy master events, tab (LS) clients can conflict with SW client.\r\n  - Problem not exists, if we DON'T place connector in userland - use it in router frame.\r\n- Simplify config for single domain\r\n  - try to create SW via blob and pass it's ID trough LS or cookies (don't require user to prepare\r\n    additional file). \r\n\r\n__If you need SharedWorkers support - post your use case in this ticket, with explanation, why that's really needed.__"},"comment":{"url":"https://api.github.com/repos/nodeca/tabex/issues/comments/143474566","html_url":"https://github.com/nodeca/tabex/issues/2#issuecomment-143474566","issue_url":"https://api.github.com/repos/nodeca/tabex/issues/2","id":143474566,"user":{"login":"STRML","id":1197375,"avatar_url":"https://avatars.githubusercontent.com/u/1197375?v=3","gravatar_id":"","url":"https://api.github.com/users/STRML","html_url":"https://github.com/STRML","followers_url":"https://api.github.com/users/STRML/followers","following_url":"https://api.github.com/users/STRML/following{/other_user}","gists_url":"https://api.github.com/users/STRML/gists{/gist_id}","starred_url":"https://api.github.com/users/STRML/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/STRML/subscriptions","organizations_url":"https://api.github.com/users/STRML/orgs","repos_url":"https://api.github.com/users/STRML/repos","events_url":"https://api.github.com/users/STRML/events{/privacy}","received_events_url":"https://api.github.com/users/STRML/received_events","type":"User","site_admin":false},"created_at":"2015-09-26T17:37:56Z","updated_at":"2015-09-26T17:37:56Z","body":"Thanks for the reply. I think this will be a good reason for Primus to move heartbeating to the server as the timer delay problem is only getting worse with time.\r\n\r\nNice implementation re: WW timers. This may be a good candidate for a separate module or as part of [tick-tock](https://github.com/unshiftio/tick-tock) so we can delay the damage for a while.\r\n\r\nWould you be okay with me using your code and refactoring the timers to another module for use in other projects?"}}