new·The score now tells you which way it movedA brain's exam only ever grows: its own material writes questions, and so does every question a real caller asked and did not get answered. The score is a percentage over that growing set, so a brain that learned more could post a smaller number — and this week three did. One of them answered two MORE questions than the week before and showed eighteen points less. Printed as a single percentage, that reads as decline to a reader and as punishment to anyone who contributes material.all news →
mozg.beta
Sign in

Tauri · Plugins and security · all subjects

plugin apis & core functionality

30 notes, read out of this brain and free to use. Each one was extracted from a source and is re-checked against its exam.

Env.args field removed

In Tauri 2.0, Env.args field was removed. Use Env.args_os field instead.

Rust api module removal

In Tauri 2.0, the api module was removed from the core crate. Each API module has been migrated to individual Tauri plugins. See migration guide for specific plugin mappings.

IPC API moved to tauri::ipc

The tauri::api::ip module was rewritten and moved to tauri::ipc. Review the new API, especially tauri::ipc::Channel.

Path resolution moved to Manager API

In Tauri 2.0, tauri::api::path module functionality and tauri::PathResolver moved to tauri::Manager::path. Use app.path() or handle.path() to access path operations.

Process utilities moved

tauri::api::process::current_binary and tauri::api::process::restart were moved to tauri::process.

Plugin API signature change

In Tauri 2.0, Plugin::PluginApi now receives plugin configuration as the second argument.

Plugin setup_with_config removed

Plugin::setup_with_config was removed in Tauri 2.0. Use the updated tauri::Plugin::PluginApi instead.

Menu API moved and restructured

In Tauri 2.0, Menu, MenuEvent, CustomMenuItem, Submenu, WindowMenuEvent, MenuItem, and Builder::on_menu_event APIs were removed. Menu functionality is now in tauri::menu module using MenuBuilder, PredefinedMenuItem, MenuItemBuilder, and SubmenuBuilder with the muda crate.

System tray API renamed to tray icon

In Tauri 2.0, SystemTray, SystemTrayHandle, SystemTrayMenu, SystemTrayMenuItemHandle, SystemTraySubmenu, MenuEntry, and SystemTrayMenuItem APIs were removed. Use tauri::tray::TrayIconBuilder instead.

Event system redesign in Tauri 2.0

The event system was redesigned to be target-based rather than source-based. The emit function now sends events to all listeners. A new emit_to function sends events to specific targets. emit_filter now filters by EventTarget instead of windows. listen_global was renamed to listen_any for listening to all events regardless of filter or target.

Multi-webview support in Tauri v2

Tauri 2.0 introduced multi-webview support under the unstable feature flag. As part of this, the Rust Window type was renamed to WebviewWindow, Manager::get_window was renamed to get_webview_window, and the JavaScript WebviewWindow type is re-exported from @tauri-apps/api/webviewWindow.

MenuBuilder requires manager instance

In Tauri 2.0, tauri::menu::MenuBuilder takes a Manager instance (App, AppHandle, or WebviewWindow) as a constructor argument, unlike the old tauri::Menu.

PredefinedMenuItem replaces MenuItem

In Tauri 2.0, tauri::menu::PredefinedMenuItem is used instead of tauri::MenuItem.

MenuItemBuilder replaces CustomMenuItem

In Tauri 2.0, tauri::menu::MenuItemBuilder is used instead of tauri::CustomMenuItem.

SubmenuBuilder replaces Submenu

In Tauri 2.0, tauri::menu::SubmenuBuilder is used instead of tauri::Submenu.

Builder::menu now takes closure

In Tauri 2.0, tauri::Builder::menu takes a closure instead of a Menu directly because menu construction requires a Manager instance.

Menu event handling in Tauri 2.0

In Tauri 2.0, tauri::Builder::on_menu_event was removed. Use tauri::App::on_menu_event or tauri::AppHandle::on_menu_event instead.

Menu items can be shared across menus

In Tauri 2.0, menu items can be shared across multiple menus and menu events are bound to menu items rather than menus or windows.

TrayIconBuilder replaces SystemTray

In Tauri 2.0, tauri::tray::TrayIconBuilder is used instead of tauri::SystemTray.

Tray menu types updated

In Tauri 2.0, tauri::menu::Menu replaces tauri::SystemTrayMenu, tauri::menu::Submenu replaces tauri::SystemTraySubmenu, and tauri::menu::PredefinedMenuItem replaces tauri::SystemTrayMenuItem.

Tray event handling split in Tauri 2.0

In Tauri 2.0, tauri::SystemTray::on_event was split into tauri::tray::TrayIconBuilder::on_menu_event and tauri::tray::TrayIconBuilder::on_tray_icon_event.

Updater plugin usage example in Rust

To check for updates in Rust using tauri-plugin-updater, use: let response = handle.updater().check().await; To set a custom target, use Builder::target() method with platform identifiers like "darwin-universal" for macOS.

Updater plugin usage example in JavaScript

To check for updates and install in JavaScript: import { check } from '@tauri-apps/plugin-updater'; const update = await check(); if (update?.available) { await update.downloadAndInstall(); }

Shell plugin command execution examples

The tauri-plugin-shell provides multiple ways to execute commands: (1) status() - get exit code; (2) output() - capture stdout/stderr; (3) spawn() - spawn and read events asynchronously.

Window type renamed to WebviewWindow

In Tauri 2.0, the Rust Window type was renamed to WebviewWindow, WindowBuilder was renamed to WebviewWindowBuilder, and WindowUrl was renamed to WebviewUrl.

Manager window methods renamed

In Tauri 2.0, Manager::get_window was renamed to get_webview_window, and the parent_window API was renamed to parent_raw.

onMenuClicked function removed in Tauri v2

The JavaScript onMenuClicked function was removed in Tauri 2.0. Create menus in JavaScript and capture menu events using the new menu event system.

Tauri 2.0 main features

Tauri 2.0 includes support for iOS and Android mobile platforms, powerful plugins system with many Tauri APIs shifted to use plugins, and Swift and Kotlin bindings for platform-specific plugin code.

Tauri 2.0 plugin system architecture

Tauri 2.0 shifts many APIs to use the Tauri plugin system to make code more modular and maintainable. Plugin developers can write code in Swift and Kotlin to integrate more closely with target platforms, building on the existing bridge between Rust and JavaScript that has existed since Tauri 1.0.

Tauri core components and features

Tauri is an app construction toolkit that lets you build software for all major desktop operating systems using web technologies. The core libraries are written in Rust and the user interface can be written using virtually any frontend framework. Tauri includes an optional and tree-shakeable JavaScript API for low-level system access, a desktop binary bundler with code signing and artifact verification, a secure updater, an extensive plugin system, and support for OS-level integrations such as notifications and app trays.

Give your agent this brain