Is your feature request related to a problem? Please describe.
I would like to be able to have the same session open in multiple Hydrogen windows/tabs/iframes. Currently opening one tab with a session that is already open in another tab, results in the session being closed in the first tab. I would like for that not to happen, and to have Hydrogen fully functional with the same session in multiple simultaneous windows/tabs/iframes.
Describe the solution you'd like
I've written a proposal to address this issue in #1041. Please see proposal for details (in short, sync would run in a worker).
Describe alternatives you've considered
Please see #1041 for details on this.
PRs
TODO
Maybe later
Is your feature request related to a problem? Please describe.
I would like to be able to have the same session open in multiple Hydrogen windows/tabs/iframes. Currently opening one tab with a session that is already open in another tab, results in the session being closed in the first tab. I would like for that not to happen, and to have Hydrogen fully functional with the same session in multiple simultaneous windows/tabs/iframes.
Describe the solution you'd like
I've written a proposal to address this issue in #1041. Please see proposal for details (in short, sync would run in a worker).
Describe alternatives you've considered
Please see #1041 for details on this.
PRs
TODO
SyncProxyISyncinterface fromSyncso there can be multiple implementations ofSync. This interface should define the public API ofSync.SyncProxywhich implementsISync(its methods won't be implemented yet)SyncProxyinstead ofSyncISyncinSyncProxysync-worker.tsnameof theSharedWorkerSyncWorker+SyncProxyWorkerabstractions that would facilitate creating workers, communication between workers and main thread, etc.Maybe later
Olmworker frommain.jstoolm-worker.js. Since we'll now have more than one worker in the codebase, having theOlmworker namedmain.jswould be confusing. So we'll have anolm-worker.js, async-worker.js, etc.