wayBetter for X

This commit is contained in:
CRTkafa 2026-10-01 06:01:13 +07:00
commit 2f1e35ba20
720 changed files with 147465 additions and 0 deletions

View file

@ -0,0 +1,62 @@
[package]
name = "better-twttr"
version = "1.0.0"
description = "X, extended: themes, plugins and recoverable drafts"
license = "GPL-3.0-or-later"
edition = "2021"
rust-version = "1.88"
[lib]
name = "better_twttr"
path = "src/lib.rs"
[[bin]]
name = "better-twttr"
path = "src/main.rs"
required-features = ["desktop"]
[features]
default = ["desktop"]
desktop = [
"dep:tauri",
"dep:tauri-build",
"dep:tauri-plugin-deep-link",
"dep:tauri-plugin-dialog",
"waybetter-host/app",
"waybetter-host/net",
"waybetter-host/macos-private-api",
]
[build-dependencies]
tauri-build = { version = "2", features = [], optional = true }
# The host's command list for the app-command manifest (`waybetter_host::commands::manifest`).
waybetter-host = { path = "../../../waybetter/crates/waybetter-host" }
[dependencies]
# The wayBetter framework (git submodule at the repository root): host policy, profiles, plugins,
# hotfix/update logic and, with the desktop feature, the app itself (`app::run_app`).
waybetter-host = { path = "../../../waybetter/crates/waybetter-host" }
# `macos-private-api`: a transparent shell webview (drawsBackground off) that can rise above the
# tab webviews for its overlays (host::raise_shell). Not for the Mac App Store, which we skip.
tauri = { version = "2", features = ["unstable", "macos-private-api"], optional = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
rusqlite = { version = "0.38", features = ["bundled"] }
chrono = { version = "0.4", default-features = false, features = ["clock"] }
uuid = { version = "1", features = ["v4"] }
url = "2"
# The single-instance, window-state, opener, updater, process and notification plugins come with
# the wayBetter host (`waybetter-host/app`, registered by `run_app`).
# waybetter://install links (install screen only; no capability grants the plugin's JS API).
tauri-plugin-deep-link = { version = "2", optional = true }
# Gallery folder picker, driven from Rust only (no JS capability grants the dialog plugin).
tauri-plugin-dialog = { version = "2", optional = true }
sha2 = "0.10"
base64 = "0.22"
# Encrypted settings sync (a folder the owner picks): Argon2id key from the passphrase,
# XChaCha20-Poly1305 per snapshot. Pure Rust (RustCrypto), no server, no account.
argon2 = { version = "0.5", default-features = false, features = ["alloc"] }
chacha20poly1305 = { version = "0.10", default-features = false, features = ["alloc"] }
[dev-dependencies]
tempfile = "3"