Closed MadLittleMods closed 3 years ago
Cross-origin cross-tab communication only works when one tab opens the other
@t3chguy I think there are multiple ways we can communicate but I was thinking of using broadcast channels. Here is a nice concise video where I was introduced to it: https://www.youtube.com/watch?v=kBut8LqVgYE. To be clear, I was thinking of doing the communication on the app.element.io
side. Matrix.to -> New app.element.io
page that posts to the broadcast channel (BC) right when it starts up(before the main app loads at all) of where we need to go and closes -> my existing Element tab picks up that information from the BC goes to the place.
Other ways from a quick Google: https://blog.bitsrc.io/4-ways-to-communicate-across-browser-tabs-in-realtime-e4f5f6cbedca
Interesting solution
@MadLittleMods this could work indeed, but the issue belongs more in the element repo, as this would need to be implemented there. I'll transfer the issue.
Hmm, for some reason I can't transfer it. Would you mind filing it again in https://github.com/vector-im/element-web ?
Created https://github.com/vector-im/element-web/issues/16899 :tada:
Is your feature request related to a problem? Please describe.
When I go through the matrix.to link flow for a permalink, it asks me whether I want to continue via browser or desktop app. I use Element in my browser and already have a tab open. When I press
Continue in browser
, it opens yet another tab of Element to show the message.Describe the solution you'd like
Open the permalink in my existing tab of Element instead of a new one which takes forever to load.
When Matrix.to sends you off to
app.element.io
, we could use some of the cross-tab communication in browsers and have a script run at the very beginning of page-load which would communicate the permalink location to the other tab instance and close itself.Describe alternatives you've considered
Copy paste the permalink and use the
/goto https://matrix.to/#/!xxx:matrix.org/$oIfQnLVKFwRE_Rme0Z5AvqzaYvHTuTtxqBYnnbR1yN8
slash command in your Element instance.You can also just give in and use the desktop app which will always point to one instance.