diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 684b8bb..5b9014e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,6 +25,7 @@ concurrency: env: CARGO_INCREMENTAL: 0 + GIT_HASH: ${{ github.sha }} jobs: build: diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index a4231d6..032c4db 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -581,22 +581,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "cocoa" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" -dependencies = [ - "bitflags 1.3.2", - "block", - "cocoa-foundation 0.1.2", - "core-foundation 0.9.4", - "core-graphics 0.23.2", - "foreign-types 0.5.0", - "libc", - "objc", -] - [[package]] name = "cocoa" version = "0.26.0" @@ -605,7 +589,7 @@ checksum = "f79398230a6e2c08f5c9760610eb6924b52aa9e7950a619602baba59dcbbdbb2" dependencies = [ "bitflags 2.6.0", "block", - "cocoa-foundation 0.2.0", + "cocoa-foundation", "core-foundation 0.10.0", "core-graphics 0.24.0", "foreign-types 0.5.0", @@ -613,20 +597,6 @@ dependencies = [ "objc", ] -[[package]] -name = "cocoa-foundation" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" -dependencies = [ - "bitflags 1.3.2", - "block", - "core-foundation 0.9.4", - "core-graphics-types 0.1.3", - "libc", - "objc", -] - [[package]] name = "cocoa-foundation" version = "0.2.0" @@ -1137,7 +1107,7 @@ dependencies = [ "base64 0.22.1", "block", "chrono", - "cocoa 0.25.0", + "cocoa", "device_query", "dirs 5.0.1", "embed_plist", @@ -2699,7 +2669,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba8ac4080fb1e097c2c22acae467e46e4da72d941f02e82b67a87a2a89fa38b1" dependencies = [ - "cocoa 0.26.0", + "cocoa", "crossbeam-channel", "dpi", "gtk", @@ -4595,7 +4565,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a93f2c6b8fdaeb7f417bda89b5bc767999745c3052969664ae1fa65892deb7e" dependencies = [ "bitflags 2.6.0", - "cocoa 0.26.0", + "cocoa", "core-foundation 0.10.0", "core-graphics 0.24.0", "crossbeam-channel", @@ -4652,7 +4622,7 @@ checksum = "a6327f79726c508efbbc3826b343fd7d39ebce786bdeff5881077b35d335d9e0" dependencies = [ "anyhow", "bytes", - "cocoa 0.26.0", + "cocoa", "dirs 5.0.1", "dunce", "embed_plist", @@ -4938,7 +4908,7 @@ version = "2.0.0-rc.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1eb325cca17496ccbb469e7e2fef7f3e31a1005ab0c658dc3331c7781a573401" dependencies = [ - "cocoa 0.26.0", + "cocoa", "gtk", "http 1.1.0", "jni", @@ -5945,7 +5915,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8cdd6999298d969289d8078dae02ce798ad23452075985cccba8b6326711ecf" dependencies = [ - "cocoa 0.26.0", + "cocoa", "objc", "raw-window-handle", "windows-sys 0.59.0", @@ -6376,7 +6346,7 @@ checksum = "f4d715cf5fe88e9647f3d17b207b6d060d4a88e7171d4ccb2d2c657dd1d44728" dependencies = [ "base64 0.22.1", "block", - "cocoa 0.26.0", + "cocoa", "core-graphics 0.24.0", "crossbeam-channel", "dpi", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 0728e82..221a9ba 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -6,7 +6,7 @@ authors = ["SpikeHD"] license = "" repository = "" edition = "2021" -rust-version = "1.77.2" +rust-version = "1.80" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -53,7 +53,7 @@ wgpu = { version = "22", default-features = false } [target.'cfg(target_os = "macos")'.dependencies] objc = "0.2" objc-foundation = "0.1.1" -cocoa = "0.25.0" +cocoa = "0.26.0" block = "0.1.6" embed_plist = "1.2.2" diff --git a/src-tauri/src/functionality/rpc.rs b/src-tauri/src/functionality/rpc.rs index 44f1442..af30baf 100644 --- a/src-tauri/src/functionality/rpc.rs +++ b/src-tauri/src/functionality/rpc.rs @@ -3,7 +3,7 @@ use rsrpc::{ RPCServer, }; use std::sync::{Arc, Mutex}; -use sysinfo::System; +use sysinfo::{ProcessRefreshKind, RefreshKind, System}; use tauri::Listener; use window_titles::ConnectionTrait; diff --git a/src-tauri/src/functionality/streamer_mode.rs b/src-tauri/src/functionality/streamer_mode.rs index c63f27b..befa6ff 100644 --- a/src-tauri/src/functionality/streamer_mode.rs +++ b/src-tauri/src/functionality/streamer_mode.rs @@ -29,8 +29,8 @@ pub fn start_streamer_mode_watcher(win: tauri::WebviewWindow) { for process in system.processes().values() { std::thread::sleep(std::time::Duration::from_millis(5)); - if process.name().to_lowercase().contains("obs64") - || process.name().to_lowercase().contains("streamlabs") + if process.name().to_ascii_lowercase().contains("obs64") + || process.name().to_ascii_lowercase().contains("streamlabs") { // If OBS is running, we can break out of the loop and emit the event obs_running = true; diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 1c78586..42305ff 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -3,7 +3,7 @@ windows_subsystem = "windows" )] -use std::time::Duration; +use std::{sync::LazyLock, env, time::Duration}; use tauri::{Manager, WebviewWindowBuilder}; use tauri_plugin_window_state::{AppHandleExt, StateFlags, WindowExt}; @@ -38,6 +38,13 @@ mod release; mod util; mod window; +static GIT_HASH: LazyLock<&str> = LazyLock::new(|| option_env!("GIT_HASH").unwrap_or("Unknown")); + +#[tauri::command] +fn git_hash() -> String { + GIT_HASH.to_string() +} + #[tauri::command] fn should_disable_plugins() -> bool { std::env::args().any(|arg| arg == "--disable-plugins") @@ -116,6 +123,7 @@ fn main() { .plugin(tauri_plugin_window_state::Builder::new().build()) .invoke_handler(tauri::generate_handler![ should_disable_plugins, + git_hash, functionality::window::minimize, functionality::window::toggle_maximize, functionality::window::set_decorations,