element-hq / element-hq/element-web
Open matrix.to link in existing browser tab I already have open with Element
- Dominant language
- TypeScript
- Stars
- 13.5k
- Forks
- 2.8k
- PR merge metrics
- PR metrics pending
Description
*Issue originally opened at https://github.com/matrix-org/matrix.to/issues/198*
**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.
Or just use the desktop app which will always point to one instance.
**Dev notes**
There are multiple ways we can communicate but I was thinking of using [broadcast channels](https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API). 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
Contributor guide
Assessment
This issue has not been assessed yet.