Radical Native
Extending Riot Web with native capabilities
Features
- 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
Supported Browsers
- Firefox
- Chrome
Install
1. Radical Native
- Ubuntu/Debian:
.deb
- 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.
2. Radical Native Add-on
- Firefox:
.xpi
The Radical Native Firefox Add-on facilitates the communication between Riot Web and the Radical Native Binary.
Usage
- 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
Troubleshooting
- 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
Development
cargo install cargo-watch
- Ubuntu/Debian:
apt install libsqlcipher0 libsqlcipher-dev libsecret-1-dev
- MacOS:
brew install libsqlcipher
npm install
npm run dev
Firefox
- Load the build located in
build/firefox
as Temporary Add-on viaabout:debugging#/runtime/this-firefox
Chrome
- Load the build located in
build/chrome
as Unpacked extension viachrome://extensions/
Tests
# watcher
npm run test:watch
# once
npm run test
# once & coverage
npm run test:coverage
Attribution
Icon made by Freepik from www.flaticon.com