radical-native
radical-native copied to clipboard
Extending Element (Riot Web) with native capabilities
Radical Native
Extending Riot Web with native capabilities
Features
- [x] Search functionality in encrypted rooms using seshat
- [x] Secure OS key storage for pickle keys using keytar
- [ ] OS global keyboard shortcuts (e.g. push to talk)
- [ ] Tray icon
Supported Browsers
- [x] Firefox
- [ ] Chrome
Install
1. Radical Native
- 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.
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