RocketChat / RocketChat/Rocket.Chat
Open electron app from links
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
The pain
Currently, whenever someone opens a link to Rocket.Chat, their browser tries to open the link as normal. But for people that only uses the Electron app, this is annoying since they might not have their account logged into the browser.
Proposal
We need to add a custom protocol (see resources) in order to be able to check if there is an electron app installed. If there is no installed electron app, we proceed as normal, opening the web page with the given link.
If there is an electron app, we ask the user in a modal if they want to open the Electron app. If they click no, we proceed as normal. If they click on yes. We send a message to the electron app via the custom protocol to open the app and navigate to the selected link.
Note: We already have deepLink support in the electron app
Subtasks
- Frontend (detect if there is an electron app, and if so, start the modal flow).
- Electron
Resources
Deep Links
Electron Repo
Registering custom protocols
Detect an Electron instance via JavaScript
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing Electron deep-link support and the Electron Deep Links resource, then inspect how frontend links are handled. Define the frontend modal flow and the Electron custom-protocol handling across the two listed subtasks. Done means installed Electron apps can be offered the link, while users without one or who decline still open the web page normally.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, typescript
- Domain
- desktop, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100