Upgrade to Tauri 2.x for Ubuntu 24.04 webkit2gtk-4.1 support
All checks were successful
Build / build-linux (push) Successful in 7m45s
Build / build-windows (push) Successful in 8m22s

This commit is contained in:
2026-01-23 20:52:38 +11:00
parent cb93187c5b
commit 50ed3a471d
12 changed files with 7722 additions and 2427 deletions

4575
src-tauri/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,22 +9,22 @@ license = "AGPL-3.0-only"
repository = "https://github.com/cinnyapp/cinny-desktop"
default-run = "cinny"
edition = "2021"
rust-version = "1.61"
rust-version = "1.70"
[build-dependencies]
tauri-build = { version = "1.5.5", features = [] }
tauri-build = { version = "2", features = [] }
[dependencies]
serde_json = "1.0.109"
serde = { version = "1.0.193", features = ["derive"] }
tauri = { version = "1.8.0", features = ["api-all", "devtools"] }
tauri-plugin-localhost = "0.1.0"
tauri-plugin-window-state = "0.1.1"
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = { version = "2", features = ["devtools"] }
tauri-plugin-localhost = "2"
tauri-plugin-window-state = "2"
tauri-plugin-shell = "2"
[target."cfg(not(any(target_os = \"android\", target_os = \"ios\")))".dependencies]
tauri-plugin-single-instance = "2"
[features]
# by default Tauri runs in production mode
# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL
default = [ "custom-protocol" ]
# this feature is used used for production builds where `devPath` points to the filesystem
# DO NOT remove this
custom-protocol = [ "tauri/custom-protocol" ]
default = ["custom-protocol"]
custom-protocol = ["tauri/custom-protocol"]

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3,28 +3,13 @@
windows_subsystem = "windows"
)]
#[cfg(target_os = "macos")]
mod menu;
use tauri::{utils::config::AppUrl, WindowUrl};
fn main() {
let port = 44548;
let mut context = tauri::generate_context!();
let url = format!("http://localhost:{}", port).parse().unwrap();
let window_url = WindowUrl::External(url);
// rewrite the config so the IPC is enabled on this URL
context.config_mut().build.dist_dir = AppUrl::Url(window_url.clone());
context.config_mut().build.dev_path = AppUrl::Url(window_url.clone());
let builder = tauri::Builder::default();
#[cfg(target_os = "macos")]
let builder = builder.menu(menu::menu());
builder
tauri::Builder::default()
.plugin(tauri_plugin_localhost::Builder::new(port).build())
.plugin(tauri_plugin_window_state::Builder::default().build())
.run(context)
.expect("error while building tauri application")
.plugin(tauri_plugin_shell::init())
.run(tauri::generate_context!())
.expect("error while building tauri application");
}

View File

@@ -1,41 +0,0 @@
use tauri::{AboutMetadata, Menu, MenuItem, Submenu};
//for macOS
pub(crate) fn menu() -> Menu {
Menu::new()
.add_submenu(Submenu::new(
"Cinny",
Menu::new()
.add_native_item(MenuItem::About(
"Cinny".to_string(),
AboutMetadata::new(),
))
.add_native_item(MenuItem::Separator)
.add_native_item(MenuItem::Hide)
.add_native_item(MenuItem::HideOthers)
.add_native_item(MenuItem::ShowAll)
.add_native_item(MenuItem::Separator)
.add_native_item(MenuItem::Quit),
))
.add_submenu(Submenu::new(
"Edit",
Menu::new()
.add_native_item(MenuItem::Undo)
.add_native_item(MenuItem::Redo)
.add_native_item(MenuItem::Separator)
.add_native_item(MenuItem::Cut)
.add_native_item(MenuItem::Copy)
.add_native_item(MenuItem::Paste)
.add_native_item(MenuItem::SelectAll),
))
.add_submenu(Submenu::new(
"View",
Menu::new()
.add_native_item(MenuItem::EnterFullScreen),
))
.add_submenu(Submenu::new(
"Window",
Menu::new()
.add_native_item(MenuItem::Minimize)
.add_native_item(MenuItem::Zoom),
))
}

View File

@@ -1,60 +1,15 @@
{
"package": {
"productName": "Cinny",
"version": "4.10.2"
},
"$schema": "https://schema.tauri.app/config/2",
"productName": "Cinny",
"version": "4.10.2",
"identifier": "in.cinny.app",
"build": {
"distDir": "../cinny/dist",
"devPath": "http://localhost:8080",
"frontendDist": "../cinny/dist",
"devUrl": "http://localhost:8080",
"beforeDevCommand": "cd cinny && npm start",
"beforeBuildCommand": "cd cinny && npm run build"
},
"tauri": {
"bundle": {
"active": true,
"targets": ["msi", "appimage"],
"identifier": "in.cinny.app",
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
"resources": [],
"externalBin": [],
"copyright": "",
"category": "SocialNetworking",
"shortDescription": "Yet another matrix client",
"longDescription": "",
"deb": {
"depends": []
},
"macOS": {
"frameworks": [],
"minimumSystemVersion": "",
"exceptionDomain": "",
"signingIdentity": null,
"providerShortName": null,
"entitlements": null
},
"windows": {
"certificateThumbprint": null,
"digestAlgorithm": "sha256",
"timestampUrl": "",
"wix": {
"bannerPath": "wix/banner.bmp",
"dialogImagePath": "wix/dialogImage.bmp"
},
"nsis": null
}
},
"updater": {
"active": false
},
"allowlist": {
"all": true
},
"app": {
"windows": [
{
"title": "Cinny",
@@ -63,11 +18,51 @@
"center": true,
"resizable": true,
"fullscreen": false,
"fileDropEnabled": false
"dragDropEnabled": false
}
],
"security": {
"csp": "script-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'"
"csp": "script-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self'; img-src 'self' https: http: data: blob:"
}
},
"bundle": {
"active": true,
"targets": ["msi", "appimage"],
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
"resources": [],
"externalBin": [],
"copyright": "",
"category": "SocialNetworking",
"shortDescription": "Yet another matrix client",
"longDescription": "",
"linux": {
"deb": {
"depends": []
}
},
"macOS": {
"frameworks": [],
"minimumSystemVersion": "",
"exceptionDomain": "",
"signingIdentity": null,
"providerShortName": null,
"entitlements": null
},
"windows": {
"certificateThumbprint": null,
"digestAlgorithm": "sha256",
"timestampUrl": "",
"wix": {
"bannerPath": "wix/banner.bmp",
"dialogImagePath": "wix/dialogImage.bmp"
},
"nsis": null
}
}
}