Extending Riot Web with native capabilities
- Search functionality in encrypted rooms using seshat
- Secure OS key storage for pickle keys using keytar
- OS global keyboard shortcuts (e.g. push to talk)
- Tray icon
- Firefox
- Chrome
- Ubuntu/Debian:
.deb
- Arch:
AUR
- MacOS:
.pkg
- Note: Requires Ctrl+Click on the
.pkg
since the installer isn't signed yet
- Note: Requires Ctrl+Click on the
- Windows:
.exe
Hint: The event store is saved into the radical-native
directory inside your local user data directory.
- Firefox:
.xpi
The Radical Native Firefox Add-on facilitates the communication between Riot Web and the Radical Native Binary.
- Open any Riot website in your browser
- Click the Radical Native icon in the toolbar (RAM icon)
- Riot website should reload and the toolbar icon should have an "on" badge
- Check Riot's "Settings > Security & Privacy > Message search > Manage", it should show ongoing work
- Try to execute the
radical-native
binary directly - it should respond with "ready: true" - Check the Radical Native Add-on console for error logs:
about:debugging#/runtime/this-firefox
> Radical Native Inspect - If indexing gets stuck you can safely disable and enable it in the "Manage" dialog
cargo install cargo-watch
- Ubuntu/Debian:
apt install libsqlcipher0 libsqlcipher-dev libsecret-1-dev
- MacOS:
brew install libsqlcipher
npm install
npm run dev
- Load the build located in
build/firefox
as Temporary Add-on viaabout:debugging#/runtime/this-firefox
- Load the build located in
build/chrome
as Unpacked extension viachrome://extensions/
# watcher
npm run test:watch
# once
npm run test
# once & coverage
npm run test:coverage
Icon made by Freepik from www.flaticon.com