The unstable flag was causing arrow keys to display ANSI escape sequences as literal text instead of performing cursor navigation. For example the arrow keys in URL input fields display escape sequences (`^[[C, ^[[D, ^[[A, ^[[B`) as literal text. Closes HFE-880 Closes #5102 The unstable feature flag was originally added to support experimental features that were required for functionality that is no longer needed in the current implementation. See: - [Tauri Issue #9257] - Keyboard shortcuts broken with unstable flag - [Tauri Issue #10194] - Arrow keys printing invalid characters - [Wry Issue #1177] - Related macOS input handling issues |
||
|---|---|---|
| .. | ||
| dist-js | ||
| examples/tauri-app | ||
| guest-js | ||
| permissions | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| devenv.lock | ||
| devenv.nix | ||
| devenv.yaml | ||
| LICENSE.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| rollup.config.js | ||
| tsconfig.json | ||
Tauri Plugin: AppLoad
A Tauri plugin for downloading and loading web app bundles into WebView.
Features
- 🦀 Blazingly fast!
- Download and load web app bundles from remote servers
- Secure verification using
ed25519+blake3 - Caching with hot/cold storage strategy
- Custom URI scheme for isolated app loading
Installation
Important
This plugin requires Tauri 2.0 or later.
Add the plugin to your project by installing directly from GitHub:
[dependencies]
tauri-plugin-appload = { git = "https://github.com/CuriousCorrelation/tauri-plugin-appload" }
"dependencies": {
"@CuriousCorrelation/plugin-appload": "github:CuriousCorrelation/tauri-plugin-appload"
}
Quick Start
Rust
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_appload::init())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
JavaScript/TypeScript
import { download, load } from '@CuriousCorrelation/plugin-appload'
// Download a bundle
const { bundleName } = await download({
serverUrl: "https://example.com"
})
// Load the bundle in a new window
await load({
bundleName,
window: {
title: "My App",
width: 800,
height: 600
}
})
Configuration
Note
The plugin uses sensible defaults but can be customized via configuration.
| Option | Description | Default |
|---|---|---|
api.serverUrl |
Bundle server URL | http://localhost:3200 |
cache.maxSize |
Maximum cache size | 100MB |
cache.filesTtl |
File time-to-live | 1 hour |
storage.maxBundleSize |
Maximum bundle size | 50MB |
Permissions
The plugin defines the following permissions:
allow-download: Enable bundle downloadsallow-load: Enable bundle loadingdeny-download: Disable bundle downloadsdeny-load: Disable bundle loading
Development
Requirements:
- Rust 1.77.2 or later
- Node.js 18 or later
- pnpm
License
Code: (c) 2024 - CuriousCorrelation
MIT or MIT/Apache 2.0 where applicable.