[INFO] cloning repository https://github.com/andyt-o/Fixture
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andyt-o/Fixture" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandyt-o%2FFixture", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandyt-o%2FFixture'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2ebe4991a6c25ad0b4b925e8c384f76c8e2112db
[INFO] checking andyt-o/Fixture against 8006091eb71ae7d9e9bccb66c6122c9d68af4466 for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandyt-o%2FFixture" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/andyt-o/Fixture
[INFO] finished tweaking git repo https://github.com/andyt-o/Fixture
[INFO] tweaked toml for git repo https://github.com/andyt-o/Fixture written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/andyt-o/Fixture on toolchain 8006091eb71ae7d9e9bccb66c6122c9d68af4466
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/andyt-o/Fixture already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tauri-winres v0.3.6
[INFO] [stderr]   Downloaded toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]   Downloaded tauri-build v2.7.0
[INFO] [stderr]   Downloaded toml v1.1.6+spec-1.1.0
[INFO] [stderr]   Downloaded ref-cast-impl v1.0.27
[INFO] [stderr]   Downloaded jiff-static v0.2.37
[INFO] [stderr]   Downloaded ref-cast v1.0.27
[INFO] [stderr]   Downloaded jiff-tzdb-platform v0.1.3
[INFO] [stderr]   Downloaded string_cache_codegen v0.6.1
[INFO] [stderr]   Downloaded phf_generator v0.13.1
[INFO] [stderr]   Downloaded phf_codegen v0.13.1
[INFO] [stderr]   Downloaded objc2-exception-helper v0.1.1
[INFO] [stderr]   Downloaded alloc-no-stdlib v3.0.0
[INFO] [stderr]   Downloaded siphasher v1.0.4
[INFO] [stderr]   Downloaded alloc-stdlib v0.3.0
[INFO] [stderr]   Downloaded typeid v1.0.3
[INFO] [stderr]   Downloaded windows-version v0.1.7
[INFO] [stderr]   Downloaded dtoa-short v0.3.5
[INFO] [stderr]   Downloaded cargo-platform v0.1.9
[INFO] [stderr]   Downloaded dirs v7.0.0
[INFO] [stderr]   Downloaded vswhom v0.1.0
[INFO] [stderr]   Downloaded darling_macro v0.24.1
[INFO] [stderr]   Downloaded phf_shared v0.13.1
[INFO] [stderr]   Downloaded precomputed-hash v0.1.1
[INFO] [stderr]   Downloaded cssparser-macros v0.7.1
[INFO] [stderr]   Downloaded libredox v0.1.25
[INFO] [stderr]   Downloaded webview2-com-macros v0.8.1
[INFO] [stderr]   Downloaded serde-untagged v0.1.9
[INFO] [stderr]   Downloaded schemars_derive v0.8.22
[INFO] [stderr]   Downloaded servo_arc v0.4.3
[INFO] [stderr]   Downloaded dtoa v1.0.11
[INFO] [stderr]   Downloaded tao-macros v0.1.4
[INFO] [stderr]   Downloaded embed-resource v3.0.11
[INFO] [stderr]   Downloaded winreg v0.55.0
[INFO] [stderr]   Downloaded thiserror v2.0.21
[INFO] [stderr]   Downloaded thiserror-impl v2.0.21
[INFO] [stderr]   Downloaded swift-rs v1.0.8
[INFO] [stderr]   Downloaded portable-atomic-util v0.2.8
[INFO] [stderr]   Downloaded jiff-tzdb v0.1.8
[INFO] [stderr]   Downloaded erased-serde v0.4.10
[INFO] [stderr]   Downloaded phf_macros v0.13.1
[INFO] [stderr]   Downloaded fastrand v2.5.0
[INFO] [stderr]   Downloaded json-patch v4.2.0
[INFO] [stderr]   Downloaded infer v0.22.0
[INFO] [stderr]   Downloaded glob v0.3.4
[INFO] [stderr]   Downloaded tendril v0.5.1
[INFO] [stderr]   Downloaded markup5ever v0.39.0
[INFO] [stderr]   Downloaded web_atoms v0.2.6
[INFO] [stderr]   Downloaded string_cache v0.9.0
[INFO] [stderr]   Downloaded ctor v1.0.13
[INFO] [stderr]   Downloaded cargo_metadata v0.19.2
[INFO] [stderr]   Downloaded camino v1.2.6
[INFO] [stderr]   Downloaded redox_users v0.5.3
[INFO] [stderr]   Downloaded cargo_toml v1.0.1
[INFO] [stderr]   Downloaded webview2-com v0.39.1
[INFO] [stderr]   Downloaded webkit2gtk-sys v2.0.2
[INFO] [stderr]   Downloaded soup3-sys v0.5.0
[INFO] [stderr]   Downloaded javascriptcore-rs-sys v1.1.1
[INFO] [stderr]   Downloaded javascriptcore-rs v1.1.2
[INFO] [stderr]   Downloaded toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]   Downloaded vswhom-sys v0.1.3
[INFO] [stderr]   Downloaded phf v0.13.1
[INFO] [stderr]   Downloaded urlpattern v0.6.0
[INFO] [stderr]   Downloaded schemars v0.8.22
[INFO] [stderr]   Downloaded plist v1.10.1
[INFO] [stderr]   Downloaded jsonptr v0.7.1
[INFO] [stderr]   Downloaded selectors v0.38.0
[INFO] [stderr]   Downloaded cssparser v0.37.0
[INFO] [stderr]   Downloaded tray-icon v0.25.1
[INFO] [stderr]   Downloaded gdkx11-sys v0.18.2
[INFO] [stderr]   Downloaded dlopen2_derive v0.4.3
[INFO] [stderr]   Downloaded winnow v1.0.4
[INFO] [stderr]   Downloaded serde_with_macros v3.24.0
[INFO] [stderr]   Downloaded darling v0.24.1
[INFO] [stderr]   Downloaded darling_core v0.24.1
[INFO] [stderr]   Downloaded base64 v0.23.1
[INFO] [stderr]   Downloaded cfb v0.14.0
[INFO] [stderr]   Downloaded dom_query v0.28.0
[INFO] [stderr]   Downloaded html5ever v0.39.0
[INFO] [stderr]   Downloaded webkit2gtk v2.0.2
[INFO] [stderr]   Downloaded soup3 v0.5.0
[INFO] [stderr]   Downloaded keyboard-types v0.8.3
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.17
[INFO] [stderr]   Downloaded tauri-runtime-wry v2.12.0
[INFO] [stderr]   Downloaded toml_edit v0.25.15+spec-1.1.0
[INFO] [stderr]   Downloaded gdkx11 v0.18.2
[INFO] [stderr]   Downloaded gdkwayland-sys v0.18.2
[INFO] [stderr]   Downloaded foreign-types-macros v0.2.4
[INFO] [stderr]   Downloaded schemars v1.2.2
[INFO] [stderr]   Downloaded jiff-core v0.1.1
[INFO] [stderr]   Downloaded cookie v0.18.2
[INFO] [stderr]   Downloaded core-graphics v0.25.0
[INFO] [stderr]   Downloaded serialize-to-javascript-impl v0.1.2
[INFO] [stderr]   Downloaded muda v0.20.0
[INFO] [stderr]   Downloaded combine v4.6.8
[INFO] [stderr]   Downloaded tauri-utils v2.10.0
[INFO] [stderr]   Downloaded bytemuck v1.25.2
[INFO] [stderr]   Downloaded x11 v2.21.0
[INFO] [stderr]   Downloaded tauri-runtime v2.12.0
[INFO] [stderr]   Downloaded dbus v0.9.12
[INFO] [stderr]   Downloaded tauri-macros v2.7.0
[INFO] [stderr]   Downloaded objc2-web-kit v0.3.2
[INFO] [stderr]   Downloaded tauri-codegen v2.7.0
[INFO] [stderr]   Downloaded serde_repr v0.1.21
[INFO] [stderr]   Downloaded portable-atomic v1.15.0
[INFO] [stderr]   Downloaded serde_with v3.24.0
[INFO] [stderr]   Downloaded wry v0.57.0
[INFO] [stderr]   Downloaded ico v0.5.0
[INFO] [stderr]   Downloaded serialize-to-javascript v0.1.2
[INFO] [stderr]   Downloaded brotli-decompressor v6.0.1
[INFO] [stderr]   Downloaded quick-xml v0.42.0
[INFO] [stderr]   Downloaded tauri v2.12.0
[INFO] [stderr]   Downloaded reqwest v0.13.5
[INFO] [stderr]   Downloaded tao v0.37.1
[INFO] [stderr]   Downloaded jiff v0.2.37
[INFO] [stderr]   Downloaded brotli v9.0.0
[INFO] [stderr]   Downloaded window-vibrancy v0.8.1
[INFO] [stderr]   Downloaded libdbus-sys v0.2.7
[INFO] [stderr]   Downloaded webpki-root-certs v1.0.9
[INFO] [stderr]   Downloaded simd_cesu8 v1.2.0
[INFO] [stderr]   Downloaded aws-lc-rs v1.18.1
[INFO] [stderr]   Downloaded rustls-platform-verifier v0.7.1
[INFO] [stderr]   Downloaded rustls-platform-verifier-android v0.2.0
[INFO] [stderr]   Downloaded hyper-rustls v0.27.10
[INFO] [stderr]   Downloaded embed_plist v1.2.2
[INFO] [stderr]   Downloaded zvariant_derive v5.15.0
[INFO] [stderr]   Downloaded zcheapstr v1.1.0
[INFO] [stderr]   Downloaded zbus_names v4.3.4
[INFO] [stderr]   Downloaded uds_windows v1.2.1
[INFO] [stderr]   Downloaded blocking v1.7.0
[INFO] [stderr]   Downloaded async-trait v0.1.92
[INFO] [stderr]   Downloaded async-signal v0.2.14
[INFO] [stderr]   Downloaded hyper-util v0.1.21
[INFO] [stderr]   Downloaded keyring v4.2.0
[INFO] [stderr]   Downloaded zbus-secret-service-keyring-store v1.0.1
[INFO] [stderr]   Downloaded zvariant_utils v4.2.0
[INFO] [stderr]   Downloaded zbus_macros v5.19.0
[INFO] [stderr]   Downloaded oauth2 v5.0.0
[INFO] [stderr]   Downloaded zvariant v5.15.0
[INFO] [stderr]   Downloaded secret-service v5.2.0
[INFO] [stderr]   Downloaded h2 v0.4.19
[INFO] [stderr]   Downloaded zbus v5.19.0
[INFO] [stderr]   Downloaded rustix v1.1.5
[INFO] [stderr]   Downloaded webview2-com-sys v0.39.1
[INFO] [stderr]   Downloaded pxfm v0.1.30
[INFO] [stderr]   Downloaded cipher v0.5.2
[INFO] [stderr]   Downloaded aes v0.9.3
[INFO] [stderr]   Downloaded cpubits v0.1.1
[INFO] [stderr]   Downloaded apple-native-keyring-store v1.0.2
[INFO] [stderr]   Downloaded inout v0.2.2
[INFO] [stderr]   Downloaded cbc v0.2.1
[INFO] [stderr]   Downloaded block-padding v0.4.2
[INFO] [stderr]   Downloaded keyring-core v1.0.0
[INFO] [stderr]   Downloaded num-bigint v0.4.8
[INFO] [stderr]   Downloaded windows-native-keyring-store v1.1.0
[INFO] [stderr]   Downloaded aws-lc-sys v0.45.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b9cc6cc442bb498fb61d405d8589ba37036b85e8e7ac527d13609388777facab
[INFO] running `Command { std: "docker" "start" "b9cc6cc442bb498fb61d405d8589ba37036b85e8e7ac527d13609388777facab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b9cc6cc442bb498fb61d405d8589ba37036b85e8e7ac527d13609388777facab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b9cc6cc442bb498fb61d405d8589ba37036b85e8e7ac527d13609388777facab" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b9cc6cc442bb498fb61d405d8589ba37036b85e8e7ac527d13609388777facab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b9cc6cc442bb498fb61d405d8589ba37036b85e8e7ac527d13609388777facab" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.26
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling pkg-config v0.3.34
[INFO] [stderr]    Compiling smallvec v1.16.2
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling version-compare v0.2.1
[INFO] [stderr]     Checking futures-core v0.3.34
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]     Checking cfg-if v1.0.5
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]     Checking futures-task v0.3.34
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling siphasher v1.0.4
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]     Checking futures-io v0.3.34
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.14
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling cfg-expr v0.15.8
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking bytes v1.12.1
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling crossbeam-utils v0.8.23
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling phf_codegen v0.13.1
[INFO] [stderr]    Compiling litemap v0.8.3
[INFO] [stderr]    Compiling writeable v0.6.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Compiling gio v0.18.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]     Checking http v1.5.0
[INFO] [stderr]    Compiling string_cache_codegen v0.6.1
[INFO] [stderr]    Compiling cc v1.5.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking hybrid-array v0.4.15
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling crc32fast v1.5.2
[INFO] [stderr]    Compiling web_atoms v0.2.6
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]     Checking log v0.4.34
[INFO] [stderr]     Checking mio v1.2.3
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling string_cache v0.9.0
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking bitflags v2.13.2
[INFO] [stderr]    Compiling dtoa v1.0.11
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling uuid v1.26.1
[INFO] [stderr]    Compiling dtoa-short v0.3.5
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling tendril v0.5.1
[INFO] [stderr]    Compiling toml v1.1.6+spec-1.1.0
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling selectors v0.38.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling camino v1.2.6
[INFO] [stderr]    Compiling alloc-no-stdlib v3.0.0
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling alloc-stdlib v0.3.0
[INFO] [stderr]    Compiling toml_edit v0.25.15+spec-1.1.0
[INFO] [stderr]    Compiling gtk v0.18.2
[INFO] [stderr]    Compiling servo_arc v0.4.3
[INFO] [stderr]    Compiling web-time v1.1.0
[INFO] [stderr]    Compiling aws-lc-rs v1.18.1
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling rustc-hash v2.1.3
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling cfb v0.14.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling brotli-decompressor v6.0.1
[INFO] [stderr]     Checking rustls-pki-types v1.15.1
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking event-listener v5.4.2
[INFO] [stderr]    Compiling aws-lc-sys v0.45.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling quick-xml v0.42.0
[INFO] [stderr]    Compiling base64 v0.23.1
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling rustix v1.1.5
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling infer v0.22.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling serde-untagged v0.1.9
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling time v0.3.55
[INFO] [stderr]    Compiling brotli v9.0.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling synstructure v0.14.0
[INFO] [stderr]    Compiling darling_core v0.24.1
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling ctor v1.0.13
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]     Checking http-body v1.1.0
[INFO] [stderr]    Compiling time-macros v0.2.32
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking futures-sink v0.3.34
[INFO] [stderr]    Compiling rustls v0.23.45
[INFO] [stderr]     Checking cmov v0.5.4
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]     Checking ctutils v0.4.2
[INFO] [stderr]    Compiling miniz_oxide v0.9.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling zerofrom-derive v0.1.8
[INFO] [stderr]    Compiling yoke-derive v0.8.3
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling cssparser-macros v0.7.1
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling cssparser v0.37.0
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling markup5ever v0.39.0
[INFO] [stderr]    Compiling embed-resource v3.0.11
[INFO] [stderr]     Checking num-integer v0.1.47
[INFO] [stderr]    Compiling html5ever v0.39.0
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]    Compiling darling_macro v0.24.1
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking block-padding v0.4.2
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]    Compiling darling v0.24.1
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]    Compiling serde_with_macros v3.24.0
[INFO] [stderr]    Compiling endi v1.1.1
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]    Compiling flate2 v1.1.10
[INFO] [stderr]     Checking inout v0.2.2
[INFO] [stderr]    Compiling tauri-winres v0.3.6
[INFO] [stderr]    Compiling dirs v7.0.0
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]    Compiling dom_query v0.28.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling serde_with v3.24.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling libdbus-sys v0.2.7
[INFO] [stderr]    Compiling cookie v0.18.2
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling zerocopy v0.8.59
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking cipher v0.5.2
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling jsonptr v0.7.1
[INFO] [stderr]    Compiling zvariant_utils v4.2.0
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling plist v1.10.1
[INFO] [stderr]    Compiling cargo_metadata v0.19.2
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling zcheapstr v1.1.0
[INFO] [stderr]    Compiling json-patch v4.2.0
[INFO] [stderr]    Compiling cargo_toml v1.0.1
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking num-bigint v0.4.8
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling serde_repr v0.1.21
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking async-signal v0.2.14
[INFO] [stderr]     Checking piper v0.2.5
[INFO] [stderr]    Compiling zvariant_derive v5.15.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.17
[INFO] [stderr]    Compiling zvariant v5.15.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking cpufeatures v0.3.1
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking ipnet v2.12.2
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]     Checking async-process v2.5.0
[INFO] [stderr]     Checking blocking v1.7.0
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]    Compiling toml v0.8.2
[INFO] [stderr]    Compiling proc-macro-crate v2.0.2
[INFO] [stderr]    Compiling urlpattern v0.6.0
[INFO] [stderr]     Checking h2 v0.4.19
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling system-deps v6.2.2
[INFO] [stderr]    Compiling gtk3-macros v0.18.2
[INFO] [stderr]    Compiling glib-macros v0.18.5
[INFO] [stderr]    Compiling glib-sys v0.18.1
[INFO] [stderr]    Compiling gobject-sys v0.18.0
[INFO] [stderr]    Compiling gio-sys v0.18.1
[INFO] [stderr]    Compiling gdk-sys v0.18.2
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.18.0
[INFO] [stderr]    Compiling pango-sys v0.18.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.18.2
[INFO] [stderr]    Compiling atk-sys v0.18.2
[INFO] [stderr]    Compiling gtk-sys v0.18.2
[INFO] [stderr]    Compiling soup3-sys v0.5.0
[INFO] [stderr]    Compiling javascriptcore-rs-sys v1.1.1
[INFO] [stderr]    Compiling tauri-utils v2.10.0
[INFO] [stderr]    Compiling webkit2gtk-sys v2.0.2
[INFO] [stderr]    Compiling gdkx11-sys v0.18.2
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking hmac v0.13.0
[INFO] [stderr]     Checking num-iter v0.1.46
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling dlopen2_derive v0.4.3
[INFO] [stderr]     Checking zbus_names v4.3.4
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking webpki-roots v1.0.9
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]    Compiling tauri-runtime v2.12.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling muda v0.20.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling wry v0.57.0
[INFO] [stderr]     Checking cpubits v0.1.1
[INFO] [stderr]     Checking aes v0.9.3
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]    Compiling ico v0.5.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling zbus_macros v5.19.0
[INFO] [stderr]     Checking gdkwayland-sys v0.18.2
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking dlopen2 v0.8.2
[INFO] [stderr]     Checking hkdf v0.13.0
[INFO] [stderr]     Checking hyper v1.11.1
[INFO] [stderr]    Compiling encoding_rs v0.8.42
[INFO] [stderr]     Checking dbus v0.9.12
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking cbc v0.2.1
[INFO] [stderr]     Checking keyboard-types v0.8.3
[INFO] [stderr]     Checking http-body-util v0.1.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling tauri-runtime-wry v2.12.0
[INFO] [stderr]     Checking pxfm v0.1.30
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]    Compiling tray-icon v0.25.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]     Checking rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling serialize-to-javascript-impl v0.1.2
[INFO] [stderr]     Checking keyring-core v1.0.0
[INFO] [stderr]    Compiling multiversion_no_op v1.0.0
[INFO] [stderr]     Checking libappindicator-sys v0.9.0
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking glib v0.18.5
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]     Checking bytemuck v1.25.2
[INFO] [stderr]     Checking core_detect v1.0.0
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking serialize-to-javascript v0.1.2
[INFO] [stderr]     Checking hyper-util v0.1.21
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking heck v0.5.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking zbus v5.19.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.8
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking secret-service v5.2.0
[INFO] [stderr]     Checking cairo-rs v0.18.5
[INFO] [stderr]     Checking atk v0.18.2
[INFO] [stderr]     Checking javascriptcore-rs v1.1.2
[INFO] [stderr]    Compiling tauri-build v2.7.0
[INFO] [stderr]    Compiling tauri-codegen v2.7.0
[INFO] [stderr]     Checking zbus-secret-service-keyring-store v1.0.1
[INFO] [stderr]     Checking keyring v4.2.0
[INFO] [stderr]    Compiling tauri v2.12.0
[INFO] [stderr]    Compiling fixture v0.1.0 (/opt/rustwide/workdir/src-tauri)
[INFO] [stderr]    Compiling tauri-macros v2.7.0
[INFO] [stderr]     Checking rustls-webpki v0.103.15
[INFO] [stderr]     Checking tokio-rustls v0.26.5
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.1
[INFO] [stderr]     Checking hyper-rustls v0.27.10
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking reqwest v0.13.5
[INFO] [stderr]     Checking oauth2 v5.0.0
[INFO] [stderr]     Checking gdk-pixbuf v0.18.5
[INFO] [stderr]     Checking pango v0.18.3
[INFO] [stderr]     Checking soup3 v0.5.0
[INFO] [stderr]     Checking gdk v0.18.2
[INFO] [stderr]     Checking gdkx11 v0.18.2
[INFO] [stderr]     Checking webkit2gtk v2.0.2
[INFO] [stderr]     Checking tao v0.37.1
[INFO] [stderr]     Checking libappindicator v0.9.0
[INFO] [stdout] warning: module `ProcessManager` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/lib.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod ProcessManager;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `process_manager`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `trayState` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/lib.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let trayState = Arc::new(TrayState {
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `tray_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appState` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/lib.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let appState = AppState {
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `app_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `OAuthService` should have a snake case name
[INFO] [stdout]  --> src-tauri/src/auth/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod OAuthService;
[INFO] [stdout]   |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `oauth_service`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `authUrl` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub authUrl: String,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `auth_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `accessToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub accessToken: String,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `refreshToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub refreshToken: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `refresh_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `expiresIn` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub expiresIn: Option<u64>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `expires_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pkceVerifier` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub pkceVerifier: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `pkce_verifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `createOAuthStateStore` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) fn createOAuthStateStore() -> OAuthStateStore {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `create_oauth_state_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generateAuthUrl` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) async fn generateAuthUrl(
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_auth_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientId` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     clientId: &str,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `redirectUri` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     redirectUri: Option<&str>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `redirect_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pkceChallenge` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let (pkceChallenge, pkceVerifier) = PkceCodeChallenge::new_random_sha256();
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `pkce_challenge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pkceVerifier` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let (pkceChallenge, pkceVerifier) = PkceCodeChallenge::new_random_sha256();
[INFO] [stdout]    |                         ^^^^^^^^^^^^ help: convert the identifier to snake case: `pkce_verifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `authUrl` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let authUrl = match provider {
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `auth_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exchangeAuthCode` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) async fn exchangeAuthCode(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `exchange_auth_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientId` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     clientId: &str,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientSecret` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     clientSecret: &str,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `client_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `redirectUri` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     redirectUri: Option<&str>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `redirect_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `accessToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |             let accessToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `accessToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:210:17
[INFO] [stdout]     |
[INFO] [stdout] 210 |             let accessToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `refreshToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:216:17
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let refreshToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `refresh_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expiresIn` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:221:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |             let expiresIn = json.get("expires_in").and_then(|v| v.as_u64());
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `expires_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `accessToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:252:17
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let accessToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `refreshToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:258:17
[INFO] [stdout]     |
[INFO] [stdout] 258 |             let refreshToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `refresh_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expiresIn` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:263:17
[INFO] [stdout]     |
[INFO] [stdout] 263 |             let expiresIn = json.get("expires_in").and_then(|v| v.as_u64());
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `expires_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `accessToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:294:17
[INFO] [stdout]     |
[INFO] [stdout] 294 |             let accessToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `refreshToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |             let refreshToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `refresh_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expiresIn` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:305:17
[INFO] [stdout]     |
[INFO] [stdout] 305 |             let expiresIn = json.get("expires_in").and_then(|v| v.as_u64());
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `expires_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Commands` should have a snake case name
[INFO] [stdout]  --> src-tauri/src/commands/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod Commands;
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `commands`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `oauthStore` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub(crate) oauthStore: OAuthStateStore,
[INFO] [stdout]    |                ^^^^^^^^^^ help: convert the identifier to snake case: `oauth_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `secretStore` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub secretStore: Arc<SecretStore>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `secret_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `trayState` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub trayState: Arc<TrayState>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `tray_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `processManager` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub processManager: Arc<ProcessManager>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `process_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `modelName` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub modelName: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `model_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `providerUsed` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub providerUsed: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `provider_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `fallbackTriggered` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fallbackTriggered: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fallback_triggered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `fallbackReason` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fallbackReason: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fallback_reason`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoHideWhenIdle` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub autoHideWhenIdle: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_hide_when_idle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoHideWhenEmpty` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub autoHideWhenEmpty: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_hide_when_empty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `alwaysShowToolbar` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub alwaysShowToolbar: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `always_show_toolbar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `soundEnabled` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub soundEnabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `sound_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `slackToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let slackToken = state.secretStore.getSecret("slack_access_token")?;
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `slack_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `discordToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let discordToken = state.secretStore.getSecret("discord_access_token")?;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `discord_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamsToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let teamsToken = state.secretStore.getSecret("teams_access_token")?;
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `teams_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jiraToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let jiraToken = state.secretStore.getSecret("jira_access_token")?;
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `jira_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `apiKey` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let apiKey = state.secretStore.getSecret("api_key")?;
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `api_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `envKey` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let envKey = match provider {
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `env_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientId` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let clientId = std::env::var(envKey).unwrap_or_else(|_| "default_client_id".to_string());
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientId` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     clientId: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oauthProvider` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let (oauthProvider, envKey) = match provider.as_str() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `oauth_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `envKey` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let (oauthProvider, envKey) = match provider.as_str() {
[INFO] [stdout]     |                         ^^^^^^ help: convert the identifier to snake case: `env_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `authState` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     authState: String,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `auth_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientSecret` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     clientSecret: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `client_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oauthProvider` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let (oauthProvider, idKey, secretKey) = match provider.as_str() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `oauth_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `idKey` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:130:25
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let (oauthProvider, idKey, secretKey) = match provider.as_str() {
[INFO] [stdout]     |                         ^^^^^ help: convert the identifier to snake case: `id_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `secretKey` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let (oauthProvider, idKey, secretKey) = match provider.as_str() {
[INFO] [stdout]     |                                ^^^^^^^^^ help: convert the identifier to snake case: `secret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientId` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let clientId = std::env::var(idKey).unwrap_or_else(|_| "default_client_id".to_string());
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `internalToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let internalToken = state.processManager.ensureRunning().await?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `internal_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fallbackEnabled` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let fallbackEnabled = state.secretStore.getSecret("llm_fallback_enabled")?
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fallback_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `responseJson` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:275:9
[INFO] [stdout]     |
[INFO] [stdout] 275 |     let responseJson: ChatResponsePayload = res
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `response_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sessionToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:290:9
[INFO] [stdout]     |
[INFO] [stdout] 290 |     let sessionToken = state.processManager.ensureRunning().await?;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `session_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `requestUrl` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let mut requestUrl = format!("http://127.0.0.1:{}/api/models?provider={}", crate::ProcessManager::DEFAULT_SERVER_PORT, provider);
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `request_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `apiKey` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |     let apiKey = match provider.to_lowercase().as_str() {
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `api_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jsonBody` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:331:9
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let jsonBody = response.json::<serde_json::Value>().await
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `json_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appHandle` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 435 |     appHandle: AppHandle,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `app_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appHandle` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:448:5
[INFO] [stdout]     |
[INFO] [stdout] 448 |     appHandle: AppHandle,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `app_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appHandle` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:462:5
[INFO] [stdout]     |
[INFO] [stdout] 462 |     appHandle: AppHandle,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `app_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appHandle` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:474:31
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub async fn minimize_to_tray(appHandle: AppHandle) -> Result<(), String> {
[INFO] [stdout]     |                               ^^^^^^^^^ help: convert the identifier to snake case: `app_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoHideWhenIdle` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:493:9
[INFO] [stdout]     |
[INFO] [stdout] 493 |     let autoHideWhenIdle = state.secretStore.getSecret("setting_auto_hide_idle")?
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_hide_when_idle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoHideWhenEmpty` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:496:9
[INFO] [stdout]     |
[INFO] [stdout] 496 |     let autoHideWhenEmpty = state.secretStore.getSecret("setting_auto_hide_empty")?
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_hide_when_empty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `alwaysShowToolbar` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:499:9
[INFO] [stdout]     |
[INFO] [stdout] 499 |     let alwaysShowToolbar = state.secretStore.getSecret("setting_always_show_toolbar")?
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `always_show_toolbar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `soundEnabled` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:502:9
[INFO] [stdout]     |
[INFO] [stdout] 502 |     let soundEnabled = state.secretStore.getSecret("setting_sound_enabled")?
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `sound_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `QuickLauncher` should have a snake case name
[INFO] [stdout]  --> src-tauri/src/launcher/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod QuickLauncher;
[INFO] [stdout]   |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `quick_launcher`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `iconDataUri` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub iconDataUri: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `icon_data_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isDefault` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub isDefault: bool,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `is_default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `openWithContext` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn openWithContext(payload: &ContextPayload) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `open_with_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queryInstalledApps` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn queryInstalledApps(category: &str) -> Vec<AppTargetInfo> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_installed_apps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `appFromPath` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn appFromPath(category: &str, path: &str) -> AppTargetInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `app_from_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `iconDataUri` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let iconDataUri = None;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `icon_data_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchUri` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn launchUri(uri: &str) -> Result<(), String> {
[INFO] [stdout]    |    ^^^^^^^^^ help: convert the identifier to snake case: `launch_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchVsCode` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn launchVsCode(path: Option<&str>) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `launch_vs_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchMailClient` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn launchMailClient(recipient: Option<&str>, subject: Option<&str>, body: Option<&str>) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `launch_mail_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchSlack` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn launchSlack(url: Option<&str>) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^ help: convert the identifier to snake case: `launch_slack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchDiscord` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:151:4
[INFO] [stdout]     |
[INFO] [stdout] 151 | fn launchDiscord(url: Option<&str>) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `launch_discord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchBrowser` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn launchBrowser(url: &str) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `launch_browser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queryInstalledEditors` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn queryInstalledEditors() -> Vec<AppTargetInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_installed_editors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queryInstalledMailClients` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn queryInstalledMailClients() -> Vec<AppTargetInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_installed_mail_clients`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queryInstalledBrowsers` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:211:4
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn queryInstalledBrowsers() -> Vec<AppTargetInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_installed_browsers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `SecretStore` should have a snake case name
[INFO] [stdout]  --> src-tauri/src/storage/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod SecretStore;
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `secret_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `serviceName` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/storage/SecretStore.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     serviceName: String,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `service_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setSecret` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/storage/SecretStore.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn setSecret(&self, account: &str, secret: &str) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `set_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getSecret` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/storage/SecretStore.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn getSecret(&self, account: &str) -> Result<Option<String>, String> {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `get_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `deleteSecret` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/storage/SecretStore.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn deleteSecret(&self, account: &str) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `delete_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clearAllSecrets` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/storage/SecretStore.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn clearAllSecrets(&self) -> Result<usize, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clear_all_secrets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `TrayManager` should have a snake case name
[INFO] [stdout]  --> src-tauri/src/tray/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod TrayManager;
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `tray_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `overlayMode` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub overlayMode: AtomicBool,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `overlay_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setupSystemTray` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn setupSystemTray(app: &AppHandle, trayState: Arc<TrayState>) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `setup_system_tray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `trayState` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:30:41
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn setupSystemTray(app: &AppHandle, trayState: Arc<TrayState>) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                                         ^^^^^^^^^ help: convert the identifier to snake case: `tray_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `showItem` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let showItem = MenuItemBuilder::with_id("show", "Show Fixture").build(app)?;
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `show_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `toggleOverlayItem` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let toggleOverlayItem = MenuItemBuilder::with_id("toggle_overlay", "Toggle Overlay Mode").build(app)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `toggle_overlay_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `quitItem` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let quitItem = MenuItemBuilder::with_id("quit", "Quit Fixture").build(app)?;
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `quit_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `iconBytes` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let iconBytes = include_bytes!("../../icons/128x128.png");
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `icon_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `trayIcon` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let trayIcon = tauri::image::Image::from_bytes(iconBytes)?;
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `tray_icon`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appHandle` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let appHandle = app.clone();
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `app_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `isVisible` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:76:25
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     let isVisible = window.is_visible().unwrap_or(false);
[INFO] [stdout]    |                         ^^^^^^^^^ help: convert the identifier to snake case: `is_visible`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `applyOverlayMode` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn applyOverlayMode(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `apply_overlay_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `monitorSize` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/tray/TrayManager.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let monitorSize = monitor.size();
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `monitor_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `targetWidth` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/tray/TrayManager.rs:104:18
[INFO] [stdout]     |
[INFO] [stdout] 104 |             let (targetWidth, targetHeight) = match v {
[INFO] [stdout]     |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `target_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `targetHeight` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/tray/TrayManager.rs:104:31
[INFO] [stdout]     |
[INFO] [stdout] 104 |             let (targetWidth, targetHeight) = match v {
[INFO] [stdout]     |                               ^^^^^^^^^^^^ help: convert the identifier to snake case: `target_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `posX` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/tray/TrayManager.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let posX = if v == "docked-sidebar" {
[INFO] [stdout]     |                 ^^^^ help: convert the identifier to snake case: `pos_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `posY` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/tray/TrayManager.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let posY = if v == "docked-sidebar" {
[INFO] [stdout]     |                 ^^^^ help: convert the identifier to snake case: `pos_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sessionToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     sessionToken: Arc<Mutex<Option<String>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `session_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ensureRunning` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub async fn ensureRunning(&self) -> Result<String, String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^ help: convert the identifier to snake case: `ensure_running`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `childLock` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut childLock = self.child.lock().await;
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `child_lock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenLock` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut tokenLock = self.sessionToken.lock().await;
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `token_lock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pythonBin` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let pythonBin = if cfg!(target_os = "windows") {
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `python_bin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `childLock` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut childLock = self.child.lock().await;
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `child_lock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenLock` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut tokenLock = self.sessionToken.lock().await;
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `token_lock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `ProcessManager` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/lib.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod ProcessManager;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `process_manager`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `trayState` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/lib.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let trayState = Arc::new(TrayState {
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `tray_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appState` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/lib.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let appState = AppState {
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `app_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `OAuthService` should have a snake case name
[INFO] [stdout]  --> src-tauri/src/auth/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod OAuthService;
[INFO] [stdout]   |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `oauth_service`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generateSessionToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn generateSessionToken() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_session_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `authUrl` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub authUrl: String,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `auth_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `accessToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub accessToken: String,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `refreshToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub refreshToken: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `refresh_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `expiresIn` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub expiresIn: Option<u64>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `expires_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pkceVerifier` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub pkceVerifier: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `pkce_verifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `createOAuthStateStore` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) fn createOAuthStateStore() -> OAuthStateStore {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `create_oauth_state_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generateAuthUrl` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) async fn generateAuthUrl(
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_auth_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientId` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     clientId: &str,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `redirectUri` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     redirectUri: Option<&str>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `redirect_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pkceChallenge` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let (pkceChallenge, pkceVerifier) = PkceCodeChallenge::new_random_sha256();
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `pkce_challenge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pkceVerifier` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let (pkceChallenge, pkceVerifier) = PkceCodeChallenge::new_random_sha256();
[INFO] [stdout]    |                         ^^^^^^^^^^^^ help: convert the identifier to snake case: `pkce_verifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `authUrl` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/auth/OAuthService.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let authUrl = match provider {
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `auth_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exchangeAuthCode` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) async fn exchangeAuthCode(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `exchange_auth_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientId` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     clientId: &str,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientSecret` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     clientSecret: &str,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `client_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `redirectUri` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     redirectUri: Option<&str>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `redirect_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `accessToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |             let accessToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `accessToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:210:17
[INFO] [stdout]     |
[INFO] [stdout] 210 |             let accessToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `refreshToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:216:17
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let refreshToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `refresh_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expiresIn` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:221:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |             let expiresIn = json.get("expires_in").and_then(|v| v.as_u64());
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `expires_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `accessToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:252:17
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let accessToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `refreshToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:258:17
[INFO] [stdout]     |
[INFO] [stdout] 258 |             let refreshToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `refresh_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expiresIn` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:263:17
[INFO] [stdout]     |
[INFO] [stdout] 263 |             let expiresIn = json.get("expires_in").and_then(|v| v.as_u64());
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `expires_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `accessToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:294:17
[INFO] [stdout]     |
[INFO] [stdout] 294 |             let accessToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `refreshToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |             let refreshToken = json
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `refresh_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expiresIn` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/auth/OAuthService.rs:305:17
[INFO] [stdout]     |
[INFO] [stdout] 305 |             let expiresIn = json.get("expires_in").and_then(|v| v.as_u64());
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `expires_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Commands` should have a snake case name
[INFO] [stdout]  --> src-tauri/src/commands/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod Commands;
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `commands`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `oauthStore` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub(crate) oauthStore: OAuthStateStore,
[INFO] [stdout]    |                ^^^^^^^^^^ help: convert the identifier to snake case: `oauth_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `secretStore` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub secretStore: Arc<SecretStore>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `secret_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `trayState` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub trayState: Arc<TrayState>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `tray_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `processManager` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub processManager: Arc<ProcessManager>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `process_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `modelName` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub modelName: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `model_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `providerUsed` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub providerUsed: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `provider_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `fallbackTriggered` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fallbackTriggered: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fallback_triggered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `fallbackReason` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fallbackReason: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fallback_reason`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoHideWhenIdle` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub autoHideWhenIdle: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_hide_when_idle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoHideWhenEmpty` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub autoHideWhenEmpty: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_hide_when_empty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `alwaysShowToolbar` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub alwaysShowToolbar: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `always_show_toolbar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `soundEnabled` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub soundEnabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `sound_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `slackToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let slackToken = state.secretStore.getSecret("slack_access_token")?;
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `slack_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `discordToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let discordToken = state.secretStore.getSecret("discord_access_token")?;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `discord_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamsToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let teamsToken = state.secretStore.getSecret("teams_access_token")?;
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `teams_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jiraToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let jiraToken = state.secretStore.getSecret("jira_access_token")?;
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `jira_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `apiKey` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let apiKey = state.secretStore.getSecret("api_key")?;
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `api_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `envKey` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let envKey = match provider {
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `env_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientId` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/commands/Commands.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let clientId = std::env::var(envKey).unwrap_or_else(|_| "default_client_id".to_string());
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientId` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     clientId: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oauthProvider` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let (oauthProvider, envKey) = match provider.as_str() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `oauth_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `envKey` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let (oauthProvider, envKey) = match provider.as_str() {
[INFO] [stdout]     |                         ^^^^^^ help: convert the identifier to snake case: `env_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `authState` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     authState: String,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `auth_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientSecret` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     clientSecret: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `client_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oauthProvider` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let (oauthProvider, idKey, secretKey) = match provider.as_str() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `oauth_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `idKey` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:130:25
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let (oauthProvider, idKey, secretKey) = match provider.as_str() {
[INFO] [stdout]     |                         ^^^^^ help: convert the identifier to snake case: `id_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `secretKey` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let (oauthProvider, idKey, secretKey) = match provider.as_str() {
[INFO] [stdout]     |                                ^^^^^^^^^ help: convert the identifier to snake case: `secret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `clientId` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let clientId = std::env::var(idKey).unwrap_or_else(|_| "default_client_id".to_string());
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `internalToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let internalToken = state.processManager.ensureRunning().await?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `internal_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fallbackEnabled` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let fallbackEnabled = state.secretStore.getSecret("llm_fallback_enabled")?
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fallback_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `responseJson` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:275:9
[INFO] [stdout]     |
[INFO] [stdout] 275 |     let responseJson: ChatResponsePayload = res
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `response_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sessionToken` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:290:9
[INFO] [stdout]     |
[INFO] [stdout] 290 |     let sessionToken = state.processManager.ensureRunning().await?;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `session_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `requestUrl` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let mut requestUrl = format!("http://127.0.0.1:{}/api/models?provider={}", crate::ProcessManager::DEFAULT_SERVER_PORT, provider);
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `request_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `apiKey` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |     let apiKey = match provider.to_lowercase().as_str() {
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `api_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jsonBody` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:331:9
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let jsonBody = response.json::<serde_json::Value>().await
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `json_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appHandle` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 435 |     appHandle: AppHandle,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `app_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appHandle` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:448:5
[INFO] [stdout]     |
[INFO] [stdout] 448 |     appHandle: AppHandle,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `app_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appHandle` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:462:5
[INFO] [stdout]     |
[INFO] [stdout] 462 |     appHandle: AppHandle,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `app_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appHandle` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:474:31
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub async fn minimize_to_tray(appHandle: AppHandle) -> Result<(), String> {
[INFO] [stdout]     |                               ^^^^^^^^^ help: convert the identifier to snake case: `app_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoHideWhenIdle` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:493:9
[INFO] [stdout]     |
[INFO] [stdout] 493 |     let autoHideWhenIdle = state.secretStore.getSecret("setting_auto_hide_idle")?
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_hide_when_idle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoHideWhenEmpty` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:496:9
[INFO] [stdout]     |
[INFO] [stdout] 496 |     let autoHideWhenEmpty = state.secretStore.getSecret("setting_auto_hide_empty")?
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_hide_when_empty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `alwaysShowToolbar` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:499:9
[INFO] [stdout]     |
[INFO] [stdout] 499 |     let alwaysShowToolbar = state.secretStore.getSecret("setting_always_show_toolbar")?
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `always_show_toolbar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `soundEnabled` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/commands/Commands.rs:502:9
[INFO] [stdout]     |
[INFO] [stdout] 502 |     let soundEnabled = state.secretStore.getSecret("setting_sound_enabled")?
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `sound_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `QuickLauncher` should have a snake case name
[INFO] [stdout]  --> src-tauri/src/launcher/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod QuickLauncher;
[INFO] [stdout]   |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `quick_launcher`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `iconDataUri` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub iconDataUri: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `icon_data_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isDefault` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub isDefault: bool,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `is_default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `openWithContext` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn openWithContext(payload: &ContextPayload) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `open_with_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queryInstalledApps` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn queryInstalledApps(category: &str) -> Vec<AppTargetInfo> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_installed_apps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `appFromPath` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn appFromPath(category: &str, path: &str) -> AppTargetInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `app_from_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `iconDataUri` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let iconDataUri = None;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `icon_data_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchUri` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/launcher/QuickLauncher.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn launchUri(uri: &str) -> Result<(), String> {
[INFO] [stdout]    |    ^^^^^^^^^ help: convert the identifier to snake case: `launch_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchVsCode` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn launchVsCode(path: Option<&str>) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `launch_vs_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchMailClient` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn launchMailClient(recipient: Option<&str>, subject: Option<&str>, body: Option<&str>) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `launch_mail_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchSlack` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn launchSlack(url: Option<&str>) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^ help: convert the identifier to snake case: `launch_slack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchDiscord` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:151:4
[INFO] [stdout]     |
[INFO] [stdout] 151 | fn launchDiscord(url: Option<&str>) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `launch_discord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launchBrowser` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn launchBrowser(url: &str) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `launch_browser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queryInstalledEditors` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn queryInstalledEditors() -> Vec<AppTargetInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_installed_editors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queryInstalledMailClients` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn queryInstalledMailClients() -> Vec<AppTargetInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_installed_mail_clients`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queryInstalledBrowsers` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/launcher/QuickLauncher.rs:211:4
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn queryInstalledBrowsers() -> Vec<AppTargetInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_installed_browsers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `SecretStore` should have a snake case name
[INFO] [stdout]  --> src-tauri/src/storage/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod SecretStore;
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `secret_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `serviceName` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/storage/SecretStore.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     serviceName: String,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `service_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setSecret` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/storage/SecretStore.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn setSecret(&self, account: &str, secret: &str) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `set_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getSecret` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/storage/SecretStore.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn getSecret(&self, account: &str) -> Result<Option<String>, String> {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `get_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `deleteSecret` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/storage/SecretStore.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn deleteSecret(&self, account: &str) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `delete_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clearAllSecrets` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/storage/SecretStore.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn clearAllSecrets(&self) -> Result<usize, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clear_all_secrets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `TrayManager` should have a snake case name
[INFO] [stdout]  --> src-tauri/src/tray/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod TrayManager;
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `tray_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `overlayMode` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub overlayMode: AtomicBool,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `overlay_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setupSystemTray` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn setupSystemTray(app: &AppHandle, trayState: Arc<TrayState>) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `setup_system_tray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `trayState` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:30:41
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn setupSystemTray(app: &AppHandle, trayState: Arc<TrayState>) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                                         ^^^^^^^^^ help: convert the identifier to snake case: `tray_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `showItem` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let showItem = MenuItemBuilder::with_id("show", "Show Fixture").build(app)?;
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `show_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `toggleOverlayItem` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let toggleOverlayItem = MenuItemBuilder::with_id("toggle_overlay", "Toggle Overlay Mode").build(app)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `toggle_overlay_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `quitItem` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let quitItem = MenuItemBuilder::with_id("quit", "Quit Fixture").build(app)?;
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `quit_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `iconBytes` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let iconBytes = include_bytes!("../../icons/128x128.png");
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `icon_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `trayIcon` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let trayIcon = tauri::image::Image::from_bytes(iconBytes)?;
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `tray_icon`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `appHandle` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let appHandle = app.clone();
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `app_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `isVisible` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:76:25
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     let isVisible = window.is_visible().unwrap_or(false);
[INFO] [stdout]    |                         ^^^^^^^^^ help: convert the identifier to snake case: `is_visible`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `applyOverlayMode` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/tray/TrayManager.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn applyOverlayMode(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `apply_overlay_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `monitorSize` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/tray/TrayManager.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let monitorSize = monitor.size();
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `monitor_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `targetWidth` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/tray/TrayManager.rs:104:18
[INFO] [stdout]     |
[INFO] [stdout] 104 |             let (targetWidth, targetHeight) = match v {
[INFO] [stdout]     |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `target_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `targetHeight` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/tray/TrayManager.rs:104:31
[INFO] [stdout]     |
[INFO] [stdout] 104 |             let (targetWidth, targetHeight) = match v {
[INFO] [stdout]     |                               ^^^^^^^^^^^^ help: convert the identifier to snake case: `target_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `posX` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/tray/TrayManager.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let posX = if v == "docked-sidebar" {
[INFO] [stdout]     |                 ^^^^ help: convert the identifier to snake case: `pos_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `posY` should have a snake case name
[INFO] [stdout]    --> src-tauri/src/tray/TrayManager.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let posY = if v == "docked-sidebar" {
[INFO] [stdout]     |                 ^^^^ help: convert the identifier to snake case: `pos_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sessionToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     sessionToken: Arc<Mutex<Option<String>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `session_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ensureRunning` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub async fn ensureRunning(&self) -> Result<String, String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^ help: convert the identifier to snake case: `ensure_running`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `childLock` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut childLock = self.child.lock().await;
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `child_lock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenLock` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut tokenLock = self.sessionToken.lock().await;
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `token_lock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pythonBin` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let pythonBin = if cfg!(target_os = "windows") {
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `python_bin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `childLock` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut childLock = self.child.lock().await;
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `child_lock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenLock` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut tokenLock = self.sessionToken.lock().await;
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `token_lock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generateSessionToken` should have a snake case name
[INFO] [stdout]   --> src-tauri/src/ProcessManager.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn generateSessionToken() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_session_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 36s
[INFO] running `Command { std: "docker" "inspect" "b9cc6cc442bb498fb61d405d8589ba37036b85e8e7ac527d13609388777facab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9cc6cc442bb498fb61d405d8589ba37036b85e8e7ac527d13609388777facab", kill_on_drop: false }`
[INFO] [stdout] b9cc6cc442bb498fb61d405d8589ba37036b85e8e7ac527d13609388777facab
