api-client/packages/hoppscotch-desktop/plugin-workspace/tauri-plugin-appload
Shreyas 26cb342969
fix(desktop): arrow inserting escape sequences (#5108)
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
2025-06-06 14:17:30 +05:30
..
dist-js feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
examples/tauri-app feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
guest-js feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
permissions feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
src fix(desktop): verbatim path handling in disk resolution (#5049) 2025-05-21 18:16:48 +05:30
.envrc feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
.gitignore feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
build.rs feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
Cargo.lock fix(desktop): verbatim path handling in disk resolution (#5049) 2025-05-21 18:16:48 +05:30
Cargo.toml fix(desktop): arrow inserting escape sequences (#5108) 2025-06-06 14:17:30 +05:30
devenv.lock feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
devenv.nix feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
devenv.yaml feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
LICENSE.md feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
package.json feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
pnpm-lock.yaml feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
README.md feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
rollup.config.js feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30
tsconfig.json feat: platform independent core and the new desktop app (#4684) 2025-02-28 00:01:25 +05:30

Tauri Plugin: AppLoad

A Tauri plugin for downloading and loading web app bundles into WebView.

GitHub License MIT Tauri 2.0 Rust

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 downloads
  • allow-load: Enable bundle loading
  • deny-download: Disable bundle downloads
  • deny-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.