RocketChat / RocketChat/Rocket.Chat

Open electron app from links

Open
#35,111 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature: Request
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.