Private chat for Android and Desktop environments.
Built with Holochain + Tauri + SvelteKit + TailWind + Skeleton
Volla Messages is a Holochain application deployed using p2pShipyard for Mobile and Desktop.
nix develop
npm install
npm run start:desktopTo run locally using the production happ that is included in CI release builds, run:
nix develop
npm install
npm run start:desktop:happ-release- Generate a signing keystore and key. See https://developer.android.com/studio/publish/app-signing
- Copy
src-tauri/gen/android/keystore.properties.exampletosrc-tauri/gen/android/keystore.propertiesand fill in with your signing keystore and key info.
nix develop .#androidDev
npm install
npm run network:androidnix develop .#androidDev
npm install
npm run tauri android build
adb -s device install /path/to/relay.apkTo test with the released version of the .happ, run:
nix develop
npm run setup:happ-release
AGENTS=2 npm run networkThe .happ release that is downloaded with this script can be changed in the setup:happ-release script in the package.json.
- Use search-and-replace to bump the version number in
src-tauri/tauri.*.conf.json,src-tauri/Cargo.toml, and allpackage.jsonfiles. Note that the release process chooses the version insrc-tauri/tauri.desktop.conf.json - Create a git tag with the format
happ-vX.Y.Z, whereX.Y.Zis your happ version. This will trigger CI to create a draft github release, containing the built.happfile. - Publish the draft github release.
- Copy the url of the
.happfile in the github release, then paste it into the npm commandsetup:happ-releaseinpackage.json.
- Ensure the github repository has all required secrets defined (see Github Secrets)
- Use search-and-replace to bump the version number in
src-tauri/tauri.conf.json,src-tauri/Cargo.toml, and allpackage.jsonfiles. - Create a git tag with the format
vX.Y.Z, whereX.Y.Zis your app version. This will trigger CI to create a draft github release, containing the built applications for all supported platforms. - Publish the draft github release.
The following github secrets are required to building and publishing Volla Messages app releases in CI:
- ANDROID_KEY_ALIAS
- ANDROID_KEY_BASE64: A base64-encoding your
.jkskeystore file. The base64-encoded value can be generated with the commandbase64 /path/to/your/keystore.jks. - ANDROID_KEY_PASSWORD: The key password and keystore password, which are expected to have the same value.
CI is currently setup to use an EV Certificate for windows code signing, based on this guide: https://melatonin.dev/blog/how-to-code-sign-windows-installers-with-an-ev-cert-on-github-actions/
- AZURE_KEY_VAULT_URI
- AZURE_CLIENT_ID
- AZURE_TENANT_ID
- AZURE_CLIENT_SECRET
- AZURE_CERT_NAME
- APPLE_CERTIFICATE
- APPLE_CERTIFICATE_PASSWORD
- APPLE_SIGNING_IDENTITY
- APPLE_ID
- APPLE_TEAM_ID
- APPLE_PASSWORD
Copyright (C) 2023, Holochain Foundation
This program is free software: you can redistribute it and/or modify it under the terms of the license provided in the LICENSE file (Volla License 1.0). This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.