Update Tauri readme

This commit is contained in:
Martin Kleinschrodt 2022-02-25 16:19:40 +01:00
parent 0061056398
commit b662832ebc
1 changed files with 44 additions and 40 deletions

View File

@ -1,52 +1,56 @@
# @padloc/tauri (experimental)
# @padloc/tauri
Cross-platform native app builder for Padloc, powered by
Native cross-platform app, powered by
[Tauri](https://github.com/tauri-apps/tauri).
## How To Use
## Setup
1. Follow the steps described in the
[Getting Started](https://github.com/padloc/padloc/blob/master/README.md#getting-started)
section of repo readme.
The `@padloc/tauri` package is meant to be used from within the
[Padloc monorepo](../../README.md).
2. Follow Tauri's
[setup guide](https://tauri.studio/docs/getting-started/intro/#setting-up-your-environment)
for your platform.
```sh
git clone git@github.com:padloc/padloc.git
cd padloc
npm ci
cd packages/tauri
```
3. Build the app:
You also need to follow
[Tauri's setup guide](https://tauri.studio/docs/getting-started/intro/#setting-up-your-environment)
```sh
cd packages/tauri
npm run build
```
## Building
Don't forget to set the server url
[configuration variable](https://github.com/padloc/padloc/blob/master/README.md#configuration).
For example, if you want the app to connect to the official Padloc server:
To build the app, run:
```sh
PL_SERVER_URL=https://api.padloc.app npm run build
```
```sh
npm run build
```
## TODOs
The resulting build can be fund in the `dist` folder.
Initial tests look very promising. Some things that still need figuring out.
You can also build a debug version of the app, useful for - well - debugging:
- [ ] **Persistent Storage**: Using IndexedDB doesn't work here for various
reasons. Best option is probably writing a simple storage backend using
Tauri's [file system api](https://tauri.studio/docs/api/js#file-system).
- [ ] **Copy & Paste**: Doesn't work out of the box. Figure out steps to make
it work.
- [ ] **Auto-updating**: Must-have feature for desktop apps at least those not
distributed through app stores or package managers. Not available in
Tauri yet, but apparently on the roadmap.
- [ ] **Code-signing**: Also on Tauri's roadmap, but not available yet
- [ ] **Run without the embedded web server**: Would be the safer choice
security-wise but doesn't seem to work as-is. Need to figure out what
changes are needed to make it work.
- [ ] **Mobile**: Waiting for Tauri to support Android and iOS builds, which
could potentially replace Cordova.
- [ ] **Biometric Authentication**: This is a must-have on mobile but it would
be nice to have it on desktop as well
- [ ] **Secure Enclave / Key Store**: Along with biometric authentication,
this is a requirement for biometric unlock.
```sh
npm run build:debug
```
### Build options
All build options are provided as environment variables:
| Variable Name | Description | Default |
| --------------- | -------------------------------------------------- | -------- |
| `PL_SERVER_URL` | URL to the [server component](../server/README.md) | `./dist` |
## Development
For rapid development, there is also dev mode:
```sh
npm run dev
```
## Contributing
For info on how to contribute to Padloc, please refer to the
[monorepo readme](../../README.md#contributing).