element-hq / element-hq/element-web

Browser WebExtension with Native Messaging as alternative to Electron

Open
#14,523 7 comments 5 reactions 0 assignees View on GitHub
T-Enhancement X-Needs-Product
Dominant language
TypeScript
Stars
13.5k
Forks
2.8k
PR merge metrics
PR metrics pending

Description

**Is your suggestion related to a problem? Please describe.**

Personally I prefer running web apps in my browser of choice, which is not possible with apps that are powered by Electron. Running in the browser also has several benefits like
- let apps share the system resources of one active browser
- allows grouping apps into pinned tabs or windows
- easily use other WebExtensions in combination, like e.g. Stylus to modify CSS

Using Element Web as is however comes with a set of limitations, namely it doesn't provide search in encrypted rooms (seshat) or storing of pickle keys into OS secure storage (keytar).

**Describe the solution you'd like**

To get those features that rely on native code into the browser world, something that can be done is using a [WebExtension](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions) that talks via [Native messaging](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_messaging) with a executable on the host through stdio.

When trying to use a functionality that normally is restricted to Element Desktop, like when searching in an encrypted room, Element Web could offer instructions to install the WebExtension along with the native messaging host binary.

**Describe alternatives you've considered**

Not aware of alternatives yet.

**Notes**

This might also be interesting in combination with the PWA or even bundling Element Web itself as WebExtension.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.