[INFO] cloning repository https://github.com/tenex-chat/tui [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tenex-chat/tui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftenex-chat%2Ftui", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftenex-chat%2Ftui'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f98fe0e7cf43c7383a278113de59446209eb5be6 [INFO] checking tenex-chat/tui against master#36e2b8a3a7aad93f8a92db6d254b746aa94ed6da for pr-151822 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftenex-chat%2Ftui" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tenex-chat/tui [INFO] finished tweaking git repo https://github.com/tenex-chat/tui [INFO] tweaked toml for git repo https://github.com/tenex-chat/tui written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tenex-chat/tui on toolchain 36e2b8a3a7aad93f8a92db6d254b746aa94ed6da [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36e2b8a3a7aad93f8a92db6d254b746aa94ed6da" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tenex-chat/tui 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" "+36e2b8a3a7aad93f8a92db6d254b746aa94ed6da" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/pablof7z/nostrdb-rs` [INFO] [stderr] Updating git submodule `https://github.com/damus-io/nostrdb` [INFO] [stderr] Updating git submodule `https://github.com/bitcoin-core/secp256k1` [INFO] [stderr] Updating git repository `https://github.com/rust-nostr/nostr` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded minisign-verify v0.2.4 [INFO] [stderr] Downloaded async-utility v0.3.1 [INFO] [stderr] Downloaded atomic-destructor v0.3.0 [INFO] [stderr] Downloaded btreecap v0.1.0 [INFO] [stderr] Downloaded flatbuffers v23.5.26 [INFO] [stderr] Downloaded negentropy v0.5.0 [INFO] [stderr] Downloaded async-wsocket v0.13.1 [INFO] [stderr] Downloaded instability v0.3.10 [INFO] [stderr] Downloaded bip39 v2.2.2 [INFO] [stderr] Downloaded libsodium-sys-stable v1.23.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+36e2b8a3a7aad93f8a92db6d254b746aa94ed6da" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1112c35e147de3b5515e4d09a75493f147f75764d64f43363dba116b39b80e21 [INFO] running `Command { std: "docker" "start" "-a" "1112c35e147de3b5515e4d09a75493f147f75764d64f43363dba116b39b80e21", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1112c35e147de3b5515e4d09a75493f147f75764d64f43363dba116b39b80e21", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1112c35e147de3b5515e4d09a75493f147f75764d64f43363dba116b39b80e21", kill_on_drop: false }` [INFO] [stdout] 1112c35e147de3b5515e4d09a75493f147f75764d64f43363dba116b39b80e21 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+36e2b8a3a7aad93f8a92db6d254b746aa94ed6da" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] da72c14c0f84eb0c5c50b55e3f592b7ee5cc7a5c0fc9598eb74c9899d4aaa3d7 [INFO] running `Command { std: "docker" "start" "-a" "da72c14c0f84eb0c5c50b55e3f592b7ee5cc7a5c0fc9598eb74c9899d4aaa3d7", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.2.49 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Compiling zlib-rs v0.5.5 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Checking tokio v1.48.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling core2 v0.4.0 [INFO] [stderr] Compiling bitcoin-io v0.1.4 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling rle-decode-fast v1.0.3 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling bumpalo v3.19.1 [INFO] [stderr] Compiling libflate_lz77 v2.2.0 [INFO] [stderr] Compiling zopfli v0.8.3 [INFO] [stderr] Compiling ureq-proto v0.5.3 [INFO] [stderr] Compiling uniffi_internal_macros v0.29.5 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Compiling secp256k1-sys v0.10.1 [INFO] [stderr] Compiling xattr v1.6.1 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling dary_heap v0.3.8 [INFO] [stderr] Checking base64ct v1.8.1 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling typed-path v0.12.2 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Compiling ureq v3.1.4 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Checking hex-conservative v0.2.2 [INFO] [stderr] Compiling tar v0.4.44 [INFO] [stderr] Compiling libflate v2.2.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Checking pbkdf2 v0.12.2 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking salsa20 v0.10.2 [INFO] [stderr] Compiling fs-err v2.11.0 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Compiling libloading v0.8.9 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling bindgen v0.69.5 [INFO] [stderr] Compiling minisign-verify v0.2.4 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Checking url v2.5.7 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Checking bitcoin_hashes v0.14.1 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking scrypt v0.11.0 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Checking unicode-normalization v0.1.25 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling libz-rs-sys v0.5.5 [INFO] [stderr] Compiling flate2 v1.1.5 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking heck v0.5.0 [INFO] [stderr] Checking bech32 v0.11.1 [INFO] [stderr] Compiling camino v1.2.2 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Checking tempfile v3.23.0 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling zip v7.2.0 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Compiling flatbuffers v23.5.26 [INFO] [stderr] Checking rustls-webpki v0.103.8 [INFO] [stderr] Checking uniffi_pipeline v0.29.5 [INFO] [stderr] Checking secp256k1 v0.29.1 [INFO] [stderr] Compiling basic-toml v0.1.10 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Compiling scroll_derive v0.12.1 [INFO] [stderr] Checking tokio-util v0.7.17 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking smawk v0.3.2 [INFO] [stderr] Checking uniffi_meta v0.29.5 [INFO] [stderr] Checking textwrap v0.16.2 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Checking nostr v0.44.1 (https://github.com/rust-nostr/nostr#2f20fc06) [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking h2 v0.4.12 [INFO] [stderr] Checking webpki-roots v0.26.11 [INFO] [stderr] Checking scroll v0.12.0 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Checking weedle2 v5.0.0 [INFO] [stderr] Checking cargo-platform v0.1.9 [INFO] [stderr] Checking semver v1.0.27 [INFO] [stderr] Checking plain v0.2.3 [INFO] [stderr] Checking lru v0.16.3 [INFO] [stderr] Compiling libsodium-sys-stable v1.23.1 [INFO] [stderr] Checking btreecap v0.1.0 [INFO] [stderr] Checking clap_builder v4.5.53 [INFO] [stderr] Checking goblin v0.8.2 [INFO] [stderr] Checking cargo_metadata v0.19.2 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tokio-socks v0.5.2 [INFO] [stderr] Compiling askama_parser v0.13.0 [INFO] [stderr] Checking toml v0.5.11 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking tungstenite v0.26.2 [INFO] [stderr] Checking tower-http v0.6.7 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking uniffi_core v0.29.5 [INFO] [stderr] Checking uniffi_udl v0.29.5 [INFO] [stderr] Checking async-utility v0.3.1 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking negentropy v0.5.0 [INFO] [stderr] Checking atomic-destructor v0.3.0 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking uuid v1.19.0 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Checking signal-hook v0.3.18 [INFO] [stderr] Checking pxfm v0.1.27 [INFO] [stderr] Checking nostr-database v0.44.0 (https://github.com/rust-nostr/nostr#2f20fc06) [INFO] [stderr] Checking tokio-tungstenite v0.26.2 [INFO] [stderr] Checking nostr-gossip v0.44.0 (https://github.com/rust-nostr/nostr#2f20fc06) [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Compiling instability v0.3.10 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking signal-hook-mio v0.2.5 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling uniffi_macros v0.29.5 [INFO] [stderr] Checking gethostname v1.1.0 [INFO] [stderr] Checking png v0.18.0 [INFO] [stderr] Checking async-wsocket v0.13.1 [INFO] [stderr] Checking x11rb-protocol v0.13.2 [INFO] [stderr] Compiling pulldown-cmark v0.12.2 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Checking compact_str v0.8.1 [INFO] [stderr] Checking getopts v0.2.24 [INFO] [stderr] Checking pulldown-cmark-escape v0.11.0 [INFO] [stderr] Checking hyper-util v0.1.19 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking nostr-sdk v0.44.1 (https://github.com/rust-nostr/nostr#2f20fc06) [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking clap v4.5.53 [INFO] [stderr] Compiling askama_derive v0.13.1 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Checking moxcms v0.7.11 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling nostrdb v0.8.0 (https://github.com/pablof7z/nostrdb-rs?branch=master#70b00bb5) [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.24 [INFO] [stderr] Checking ratatui v0.29.0 [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stderr] Checking askama v0.13.1 [INFO] [stderr] Checking uniffi_bindgen v0.29.5 [INFO] [stderr] Checking image v0.25.9 [INFO] [stderr] Checking arboard v3.6.1 [INFO] [stderr] Checking uniffi v0.29.5 [INFO] [stderr] Checking nostr-ndb v0.44.0 (https://github.com/rust-nostr/nostr#2f20fc06) [INFO] [stderr] Checking tenex-core v0.1.0 (/opt/rustwide/workdir/crates/tenex-core) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/tenex-core/src/ffi.rs:3235:13 [INFO] [stdout] | [INFO] [stdout] 3235 | let mut ok = true; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/tenex-core/src/ffi.rs:3235:13 [INFO] [stdout] | [INFO] [stdout] 3235 | let mut ok = true; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bak2` [INFO] [stdout] --> crates/tenex-core/src/models/draft.rs:1479:13 [INFO] [stdout] | [INFO] [stdout] 1479 | let bak2 = temp_dir.path().join("drafts.json.bak2"); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bak2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tenex-cli v0.1.0 (/opt/rustwide/workdir/crates/tenex-cli) [INFO] [stderr] Checking tenex-tui v0.1.0 (/opt/rustwide/workdir/crates/tenex-tui) [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> crates/tenex-core/src/ffi.rs:3828:9 [INFO] [stdout] | [INFO] [stdout] 3828 | core.logout(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 3828 | let _ = core.logout(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_time` [INFO] [stdout] --> crates/tenex-cli/src/cli/daemon.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 312 | start_time: Instant, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> crates/tenex-tui/src/input/modal_handlers/view.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ui::{self, App, ModalState}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layout` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/content.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ui::{layout, theme, App, HomeTab}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block`, `Borders`, and `Padding` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/content.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | widgets::{Block, Borders, Cell, List, ListItem, ListState, Padding, Paragraph, Row, Table}, [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Constraint`, `Layout`, `Line`, `ListItem`, `ListState`, `List`, `Modifier`, and `Span` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/modals.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | layout::{Constraint, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] 9 | style::{Modifier, Style}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | text::{Line, Span}, [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] 11 | widgets::{Block, Borders, List, ListItem, ListState, Paragraph}, [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::models::Thread` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::models::Thread; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `format_relative_time` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ui::format::{format_relative_time, truncate_with_ellipsis}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ui::views::home_helpers::HierarchicalThread` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ui::views::home_helpers::HierarchicalThread; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layout` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::ui::{layout, theme, App, HomeTab}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cell`, `ListState`, `Row`, and `Table` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | widgets::{Block, Borders, Cell, List, ListItem, ListState, Padding, Paragraph, Row, Table}, [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ui::views::home_helpers::HierarchicalThread` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use crate::ui::views::home_helpers::HierarchicalThread; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_project_at_index` and `selectable_project_count` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/mod.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 8 | pub use sidebar::{get_project_at_index, selectable_project_count}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> crates/tenex-tui/src/input/modal_handlers/view.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ui::{self, App, ModalState}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layout` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/content.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ui::{layout, theme, App, HomeTab}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block`, `Borders`, and `Padding` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/content.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | widgets::{Block, Borders, Cell, List, ListItem, ListState, Padding, Paragraph, Row, Table}, [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Constraint`, `Layout`, `Line`, `ListItem`, `ListState`, `List`, `Modifier`, and `Span` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/modals.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | layout::{Constraint, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] 9 | style::{Modifier, Style}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | text::{Line, Span}, [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] 11 | widgets::{Block, Borders, List, ListItem, ListState, Paragraph}, [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::models::Thread` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::models::Thread; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `format_relative_time` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ui::format::{format_relative_time, truncate_with_ellipsis}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ui::views::home_helpers::HierarchicalThread` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ui::views::home_helpers::HierarchicalThread; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layout` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::ui::{layout, theme, App, HomeTab}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cell`, `ListState`, `Row`, and `Table` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | widgets::{Block, Borders, Cell, List, ListItem, ListState, Padding, Paragraph, Row, Table}, [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ui::views::home_helpers::HierarchicalThread` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use crate::ui::views::home_helpers::HierarchicalThread; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_project_at_index` and `selectable_project_count` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/mod.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 8 | pub use sidebar::{get_project_at_index, selectable_project_count}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_time` [INFO] [stdout] --> crates/tenex-cli/src/cli/daemon.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 312 | start_time: Instant, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unicode_width::UnicodeWidthStr` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use unicode_width::UnicodeWidthStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unicode_width::UnicodeWidthStr` [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use unicode_width::UnicodeWidthStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `id_counter` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/todo.rs:87:26 [INFO] [stdout] | [INFO] [stdout] 87 | let mut id_counter = 0usize; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/app.rs:411:12 [INFO] [stdout] | [INFO] [stdout] 317 | impl App { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 411 | pub fn open_tabs_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 429 | pub fn set_showing_tab_modal(&mut self, showing: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 503 | pub fn activity_indicator(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 508 | pub fn activity_pulse(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 542 | pub fn has_notifications(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn set_show_llm_metadata(&mut self, show: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 614 | pub fn local_stream_buffers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 620 | pub fn local_stream_buffers_mut(&mut self) -> &mut HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1167 | pub fn get_all_named_drafts(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1405 | pub fn open_projects_modal(&mut self, for_new_thread: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1419 | pub fn open_project_selector(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1763 | pub fn close_agent_selector(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1828 | pub fn close_branch_selector(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1835 | pub fn select_branch_by_index(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1844 | pub fn select_filtered_agent_by_index(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1852 | fn copy_to_clipboard(&self, text: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1860 | fn open_url(&self, url: &str) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1933 | pub fn find_draft_tab(&self, project_a_tag: &str) -> Option<(usize, &str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2121 | pub fn cycle_tab_history_forward(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2128 | pub fn cycle_tab_history_backward(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2134 | pub fn open_tab_modal(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2232 | pub fn clear_tab_waiting_for_user(&mut self, thread_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2254 | pub fn toggle_thread_multi_select(&mut self, thread_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2637 | pub fn start_new_thread_for_project(&mut self, project_a_tag: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2842 | pub fn current_conversation_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2932 | pub fn add_visible_project(&mut self, a_tag: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2949 | pub fn toggle_llm_metadata(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3013 | pub fn get_mcp_tools(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3022 | pub fn get_mcp_tool(&self, id: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3202 | pub fn chat_search_mut(&mut self) -> Option<&mut ChatSearchState> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3338 | pub fn get_message_search_matches(&self, message_id: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3351 | pub fn is_current_search_match(&self, message_id: &str, start_offset: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3377 | pub fn close_nudge_selector(&mut self, apply: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3392 | pub fn toggle_nudge_selection(&mut self, nudge_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3420 | pub fn nudge_selector_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3428 | pub fn nudge_selector_filter(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3545 | pub fn is_nudge_selected(&self, nudge_id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message_id` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/app.rs:4007:15 [INFO] [stdout] | [INFO] [stdout] 4007 | Message { message_id: String }, [INFO] [stdout] | ------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SearchMatchType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACTIVITY_GLYPH` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/card.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const ACTIVITY_GLYPH: &str = "\u{27f3} "; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `title` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/components/chat_sidebar.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct SidebarDelegation { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub title: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SidebarDelegation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `slug` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/components/chat_sidebar.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct SidebarReport { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 32 | pub slug: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SidebarReport` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind` and `pubkey` are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/components/chat_sidebar.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct ReportCoordinate { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 39 | pub kind: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | pub pubkey: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ReportCoordinate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_BRIGHTNESS_AMPLITUDE` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/components/statusbar.rs:57:7 [INFO] [stdout] | [INFO] [stdout] 57 | const WAVE_BRIGHTNESS_AMPLITUDE: f32 = 0.3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `truncate_plain` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/format.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn truncate_plain(s: &str, max_len: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NextTab`, `PrevTab`, `TabModal`, `ModalCancel`, `CopyReportRaw`, and `CopyReportMarkdown` are never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum HotkeyId { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 44 | NextTab, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 45 | PrevTab, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 46 | CloseTab, [INFO] [stdout] 47 | TabModal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | ModalCancel, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | CopyReportRaw, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 111 | CopyReportMarkdown, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HotkeyId` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `TabModal` and `SearchModal` are never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub enum HotkeyContext { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 141 | TabModal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 142 | SearchModal, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HotkeyContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `label` and `section` are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 249 | pub struct HotkeyBinding { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 257 | pub label: &'static str, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 258 | /// Section/category for grouping in help [INFO] [stdout] 259 | pub section: &'static str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HotkeyBinding` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `key_display` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:356:12 [INFO] [stdout] | [INFO] [stdout] 266 | impl HotkeyBinding { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 356 | pub fn key_display(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `hotkeys_for_context`, `hotkeys_by_section`, `generate_help`, and `find_conflicts` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:914:12 [INFO] [stdout] | [INFO] [stdout] 893 | impl HotkeyResolver { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 914 | pub fn hotkeys_for_context(&self, context: HotkeyContext) -> Vec<&'static HotkeyBinding> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 923 | pub fn hotkeys_by_section(&self, context: HotkeyContext) -> HashMap<&'static str, Vec<&'static HotkeyBinding>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | pub fn generate_help(&self, context: HotkeyContext) -> Vec<(String, String)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 946 | pub fn find_conflicts(&self) -> Vec<(HotkeyId, HotkeyId)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_binding` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:983:8 [INFO] [stdout] | [INFO] [stdout] 983 | pub fn get_binding(id: HotkeyId) -> Option<&'static HotkeyBinding> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bindings_for_context` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:988:8 [INFO] [stdout] | [INFO] [stdout] 988 | pub fn get_bindings_for_context(context: HotkeyContext) -> Vec<&'static HotkeyBinding> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_HEIGHT_HOME` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/layout.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | pub const HEADER_HEIGHT_HOME: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `remove_mcp_tool` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:473:12 [INFO] [stdout] | [INFO] [stdout] 423 | impl ProjectSettingsState { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 473 | pub fn remove_mcp_tool(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:528:12 [INFO] [stdout] | [INFO] [stdout] 527 | impl ConversationActionsState { [INFO] [stdout] | ----------------------------- associated function in this implementation [INFO] [stdout] 528 | pub fn new(thread_id: String, thread_title: String, project_a_tag: String, is_archived: bool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:593:12 [INFO] [stdout] | [INFO] [stdout] 592 | impl ChatActionsState { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 593 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `threads_scroll` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:711:9 [INFO] [stdout] | [INFO] [stdout] 706 | pub struct ReportViewerState { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 711 | pub threads_scroll: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ReportViewerState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tools_scroll` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:782:9 [INFO] [stdout] | [INFO] [stdout] 766 | pub struct AgentSettingsState { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 782 | pub tools_scroll: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AgentSettingsState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `event_id` and `project_a_tag` are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:998:9 [INFO] [stdout] | [INFO] [stdout] 996 | pub struct HistorySearchEntry { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 997 | /// Event ID of the message [INFO] [stdout] 998 | pub event_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1004 | pub project_a_tag: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HistorySearchEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `filter` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1149:9 [INFO] [stdout] | [INFO] [stdout] 1146 | pub struct WorkspaceManagerState { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1149 | pub filter: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WorkspaceManagerState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `description` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1266:12 [INFO] [stdout] | [INFO] [stdout] 1251 | impl BackendApprovalAction { [INFO] [stdout] | -------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1266 | pub fn description(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `project_a_tag` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1287:9 [INFO] [stdout] | [INFO] [stdout] 1285 | pub struct BackendApprovalState { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 1286 | pub backend_pubkey: String, [INFO] [stdout] 1287 | pub project_a_tag: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BackendApprovalState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `selected_project_filter` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1484:12 [INFO] [stdout] | [INFO] [stdout] 1431 | impl DebugStatsState { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1484 | pub fn selected_project_filter(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message_id` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1531:9 [INFO] [stdout] | [INFO] [stdout] 1530 | ViewRawEvent { [INFO] [stdout] | ------------ field in this variant [INFO] [stdout] 1531 | message_id: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ModalState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `AttachmentEditor`, `ConversationActions`, and `ChatActions` are never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1505:5 [INFO] [stdout] | [INFO] [stdout] 1501 | pub enum ModalState { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 1505 | AttachmentEditor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1526 | ConversationActions(ConversationActionsState), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 1527 | /// Chat action menu in Chat view - shows actions for current conversation (via Ctrl+T) [INFO] [stdout] 1528 | ChatActions(ChatActionsState), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ModalState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `close` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1582:12 [INFO] [stdout] | [INFO] [stdout] 1577 | impl ModalState { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1582 | pub fn close(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Success` is never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/notifications.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NotificationLevel { [INFO] [stdout] | ----------------- variant in this enum [INFO] [stdout] 10 | Info, [INFO] [stdout] 11 | Success, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NotificationLevel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `success` and `duration` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/notifications.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Notification { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn success(message: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn duration(mut self, duration: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_empty` and `clear` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/notifications.rs:211:12 [INFO] [stdout] | [INFO] [stdout] 128 | impl NotificationQueue { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `remove_last_hashtag` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/form_state.rs:330:12 [INFO] [stdout] | [INFO] [stdout] 148 | impl NudgeFormState { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn remove_last_hashtag(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/tool_permissions.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl ToolPermissions { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn toggle_allow_tool(&mut self, tool: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn toggle_deny_tool(&mut self, tool: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn toggle_only_tool(&mut self, tool: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn has_conflicts(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn permission_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn clear_all(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn to_tags(&self) -> Vec<(String, String)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn from_tags(tags: &[(String, String)]) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `resolution` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/tool_permissions.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 276 | pub struct ToolPermissionConflict { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 277 | pub tool_name: String, [INFO] [stdout] 278 | pub resolution: ConflictResolution, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ToolPermissionConflict` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ToolRegistry` is never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/tool_permissions.rs:299:12 [INFO] [stdout] | [INFO] [stdout] 299 | pub struct ToolRegistry { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/tool_permissions.rs:305:12 [INFO] [stdout] | [INFO] [stdout] 304 | impl ToolRegistry { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 305 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn update_from_statuses(&mut self, statuses: &std::collections::HashMap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | pub fn all_tools(&self) -> &[String] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn filter_tools(&self, prefix: &str) -> Vec<&str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | pub fn contains(&self, tool: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 350 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NudgeValidationError` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/validation.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum NudgeValidationError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NudgeValidation` is never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/validation.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct NudgeValidation { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `validate_title`, `validate_content`, `validate_hashtag`, `validate_permissions`, and `validate_all` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/validation.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl NudgeValidation { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 86 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn validate_title(&self, title: &str) -> Result<(), NudgeValidationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn validate_content(&self, content: &str) -> Result<(), NudgeValidationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn validate_hashtag(&self, tag: &str) -> Result<(), NudgeValidationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn validate_permissions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn validate_all( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `selected_result` and `clamp_selection` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl SidebarSearchState { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn selected_result(&self) -> Option<&SearchResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn clamp_selection(&mut self, for_reports: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct SearchResult { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 201 | /// The thread containing the match [INFO] [stdout] 202 | pub thread: Thread, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 203 | /// Thread ID [INFO] [stdout] 204 | pub thread_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 205 | /// Thread title [INFO] [stdout] 206 | pub thread_title: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 207 | /// Project a_tag [INFO] [stdout] 208 | pub project_a_tag: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 209 | /// Project name for display [INFO] [stdout] 210 | pub project_name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 211 | /// The matching reply content (if match was in a reply) [INFO] [stdout] 212 | pub matching_reply: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 213 | /// Match type [INFO] [stdout] 214 | pub match_type: SearchMatchType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 215 | /// When the match was created (for sorting) [INFO] [stdout] 216 | pub created_at: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `content` and `author_pubkey` are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub struct MatchingReply { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 222 | /// Reply content [INFO] [stdout] 223 | pub content: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 224 | /// Author pubkey [INFO] [stdout] 225 | pub author_pubkey: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MatchingReply` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `created_at` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 230 | pub struct MatchingMessage { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 236 | pub created_at: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MatchingMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `thread_id` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 244 | ContextAncestor { [INFO] [stdout] | --------------- field in this variant [INFO] [stdout] 245 | thread: Thread, [INFO] [stdout] 246 | thread_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HierarchicalSearchItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `thread_id` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 252 | MatchedConversation { [INFO] [stdout] | ------------------- field in this variant [INFO] [stdout] 253 | thread: Thread, [INFO] [stdout] 254 | thread_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HierarchicalSearchItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ThreadTitle`, `ThreadContent`, `Reply`, and `ConversationId` are never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 275 | pub enum SearchMatchType { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 276 | /// Match in thread title [INFO] [stdout] 277 | ThreadTitle, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 278 | /// Match in thread content [INFO] [stdout] 279 | ThreadContent, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 280 | /// Match in a reply message [INFO] [stdout] 281 | Reply, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 282 | /// Match in conversation ID [INFO] [stdout] 283 | ConversationId, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchMatchType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `search_conversations` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | pub fn search_conversations( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `terms_in_messages` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:469:9 [INFO] [stdout] | [INFO] [stdout] 461 | pub struct TermMatchResult { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 469 | pub terms_in_messages: HashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TermMatchResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `thread_id`, `title`, `project_a_tag`, and `matched_terms` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:835:12 [INFO] [stdout] | [INFO] [stdout] 833 | impl HierarchicalSearchItem { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] 834 | /// Get the thread ID for this item [INFO] [stdout] 835 | pub fn thread_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 856 | pub fn title(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 864 | pub fn project_a_tag(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 872 | pub fn matched_terms(&self) -> &[String] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clamp_index` and `filter_lowercase` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/selector.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl SelectorState { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn clamp_index(&mut self, item_count: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn filter_lowercase(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `activity_pulse` and `activity_indicator` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/services/animation_clock.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl AnimationClock { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn activity_pulse(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn activity_indicator(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/services/drafts.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl DraftService { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn clear_draft_content(&self, conversation_id: &str) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn get_all_named_drafts(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn update_named_draft(&self, id: &str, text: String) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn was_recovered_from_backup(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn flush(&self) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn save_versioned_draft(&self, draft: ChatDraft) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn load_versioned_draft(&self, conversation_id: &str, message_sequence: u32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn get_versioned_drafts_for_conversation(&self, conversation_id: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn get_all_versioned_drafts(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn get_current_sequence(&self, conversation_id: &str) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn mark_draft_pending_send(&self, conversation_id: &str) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn mark_draft_sent_awaiting(&self, conversation_id: &str) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn mark_draft_confirmed(&self, conversation_id: &str, event_id: Option) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn archive_old_confirmed_drafts(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn get_archived_drafts(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn get_or_create_project_draft(&self, project_a_tag: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn migrate_draft_to_conversation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn get_drafts_for_project(&self, project_a_tag: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn get_pre_conversation_drafts(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | pub fn get_all_searchable_drafts(&self) -> AllDrafts { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AllDrafts` is never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/services/drafts.rs:336:12 [INFO] [stdout] | [INFO] [stdout] 336 | pub struct AllDrafts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_empty`, `total_count`, and `search` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/services/drafts.rs:346:12 [INFO] [stdout] | [INFO] [stdout] 344 | impl AllDrafts { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 345 | /// Check if there are any drafts at all [INFO] [stdout] 346 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub fn total_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn search(&self, query: &str) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SearchableDraft` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/services/drafts.rs:405:10 [INFO] [stdout] | [INFO] [stdout] 405 | pub enum SearchableDraft { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `text`, `last_modified`, `context_id`, `draft_type`, and `send_state` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/services/drafts.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 412 | impl SearchableDraft { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] 413 | /// Get the text content of this draft [INFO] [stdout] 414 | pub fn text(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn last_modified(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn context_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 444 | pub fn draft_type(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub fn send_state(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_notifications` and `is_empty` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/services/notification_manager.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl NotificationManager { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn has_notifications(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `has_matches`, `next_match`, `prev_match`, `current_location`, and `set_matches` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/state.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl ChatSearchState { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 28 | /// Create a new inactive search state [INFO] [stdout] 29 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn has_matches(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn next_match(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn prev_match(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn current_location(&self) -> Option<&ChatSearchMatch> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn set_matches(&mut self, matches: Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start_offset` and `length` are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/state.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct ChatSearchMatch { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 96 | pub start_offset: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 97 | /// Length of the match [INFO] [stdout] 98 | pub length: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChatSearchMatch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/state.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl ChatSearchMatch { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 102 | pub fn new(message_id: String, start_offset: usize, length: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `next`, `prev`, `cycle_history_forward`, `clear_waiting_for_user`, and `open_modal` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/state.rs:551:12 [INFO] [stdout] | [INFO] [stdout] 308 | impl TabManager { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 551 | pub fn next(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 560 | pub fn prev(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn cycle_history_forward(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 609 | pub fn clear_waiting_for_user(&mut self, thread_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 618 | pub fn open_modal(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `toggle_llm_metadata` and `reset_message_selection` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/state.rs:1006:12 [INFO] [stdout] | [INFO] [stdout] 940 | impl ConversationState { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1006 | pub fn toggle_llm_metadata(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1011 | pub fn reset_message_selection(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `cycle_time_filter` and `set_agent_filter` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/state.rs:1187:12 [INFO] [stdout] | [INFO] [stdout] 1181 | impl HomeViewState { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1187 | pub fn cycle_time_filter(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1214 | pub fn set_agent_filter(&mut self, filter: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_selection`, `kill_to_line_start`, and `visual_cursor_position` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/text_editor.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 70 | impl TextEditor { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn has_selection(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn kill_to_line_start(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 688 | pub fn visual_cursor_position(&self, wrap_width: usize) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `text_dim` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn text_dim() -> Style { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `text_bold` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn text_bold() -> Style { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `border_active` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn border_active() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `border_inactive` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn border_inactive() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `border_focused` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:167:8 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn border_focused() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interactive_normal` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn interactive_normal() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interactive_selected` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn interactive_selected() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interactive_hover` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn interactive_hover() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `status_info` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:203:8 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn status_info() -> Style { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `input_active` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn input_active() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `input_inactive` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn input_inactive() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `input_placeholder` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn input_placeholder() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `card_bg` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:227:8 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn card_bg() -> Style { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `card_bg_selected` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub fn card_bg_selected() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_heading` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn markdown_heading() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_code` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn markdown_code() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_quote` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn markdown_quote() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_link` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:251:8 [INFO] [stdout] | [INFO] [stdout] 251 | pub fn markdown_link() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_list_bullet` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:255:8 [INFO] [stdout] | [INFO] [stdout] 255 | pub fn markdown_list_bullet() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_image` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:259:8 [INFO] [stdout] | [INFO] [stdout] 259 | pub fn markdown_image() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tool_name` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:291:8 [INFO] [stdout] | [INFO] [stdout] 291 | pub fn tool_name() -> Style { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tool_target` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | pub fn tool_target() -> Style { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `project_online` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:323:8 [INFO] [stdout] | [INFO] [stdout] 323 | pub fn project_online() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `project_offline` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:327:8 [INFO] [stdout] | [INFO] [stdout] 327 | pub fn project_offline() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `agent_name` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:331:8 [INFO] [stdout] | [INFO] [stdout] 331 | pub fn agent_name() -> Style { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `streaming_indicator` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:339:8 [INFO] [stdout] | [INFO] [stdout] 339 | pub fn streaming_indicator() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `typing_indicator` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:343:8 [INFO] [stdout] | [INFO] [stdout] 343 | pub fn typing_indicator() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_light_color` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:413:8 [INFO] [stdout] | [INFO] [stdout] 413 | pub fn is_light_color(color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `skip_reason` are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/todo.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct TodoItem { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 15 | pub id: String, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub skip_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TodoItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/todo.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl TodoState { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 28 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tool_icon` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/tool_calls.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn tool_icon(name: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `branch` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/views/chat/grouping.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 46 | DelegationPreview { [INFO] [stdout] | ----------------- field in this variant [INFO] [stdout] ... [INFO] [stdout] 56 | branch: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_project_at_index` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:973:8 [INFO] [stdout] | [INFO] [stdout] 973 | pub fn get_project_at_index(app: &App, index: usize) -> Option<(crate::models::Project, bool)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `selectable_project_count` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:985:8 [INFO] [stdout] | [INFO] [stdout] 985 | pub fn selectable_project_count(app: &App) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_inline_ask_ui` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn render_inline_ask_ui(f: &mut Frame, modal_state: &AskModalState, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_tab_bar` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:264:4 [INFO] [stdout] | [INFO] [stdout] 264 | fn render_tab_bar(f: &mut Frame, input_state: &crate::ui::ask_input::AskInputState, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_question` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:308:4 [INFO] [stdout] | [INFO] [stdout] 308 | fn render_question( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_single_select` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:325:4 [INFO] [stdout] | [INFO] [stdout] 325 | fn render_single_select( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_multi_select` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:395:4 [INFO] [stdout] | [INFO] [stdout] 395 | fn render_multi_select( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_help_bar` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:470:4 [INFO] [stdout] | [INFO] [stdout] 470 | fn render_help_bar(f: &mut Frame, input_state: &crate::ui::ask_input::AskInputState, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Month` is never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/views/stats.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum ActivityViewMode { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] 69 | Week, // 7 days × 24 hours = 168 hours [INFO] [stdout] 70 | Month, // 30 days × 24 hours = 720 hours [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ActivityViewMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Messages` is never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/views/stats.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub enum ActivityVisualization { [INFO] [stdout] | --------------------- variant in this enum [INFO] [stdout] 92 | Tokens, // Total tokens used per hour [INFO] [stdout] 93 | Messages, // Number of messages generated per hour [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ActivityVisualization` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `id_counter` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/todo.rs:87:26 [INFO] [stdout] | [INFO] [stdout] 87 | let mut id_counter = 0usize; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/app.rs:411:12 [INFO] [stdout] | [INFO] [stdout] 317 | impl App { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 411 | pub fn open_tabs_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 429 | pub fn set_showing_tab_modal(&mut self, showing: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 503 | pub fn activity_indicator(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 508 | pub fn activity_pulse(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 542 | pub fn has_notifications(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn set_show_llm_metadata(&mut self, show: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 614 | pub fn local_stream_buffers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 620 | pub fn local_stream_buffers_mut(&mut self) -> &mut HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1167 | pub fn get_all_named_drafts(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1405 | pub fn open_projects_modal(&mut self, for_new_thread: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1419 | pub fn open_project_selector(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1763 | pub fn close_agent_selector(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1828 | pub fn close_branch_selector(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1835 | pub fn select_branch_by_index(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1844 | pub fn select_filtered_agent_by_index(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1852 | fn copy_to_clipboard(&self, text: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1860 | fn open_url(&self, url: &str) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1933 | pub fn find_draft_tab(&self, project_a_tag: &str) -> Option<(usize, &str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2121 | pub fn cycle_tab_history_forward(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2128 | pub fn cycle_tab_history_backward(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2134 | pub fn open_tab_modal(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2232 | pub fn clear_tab_waiting_for_user(&mut self, thread_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2254 | pub fn toggle_thread_multi_select(&mut self, thread_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2637 | pub fn start_new_thread_for_project(&mut self, project_a_tag: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2842 | pub fn current_conversation_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2932 | pub fn add_visible_project(&mut self, a_tag: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2949 | pub fn toggle_llm_metadata(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3013 | pub fn get_mcp_tools(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3022 | pub fn get_mcp_tool(&self, id: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3202 | pub fn chat_search_mut(&mut self) -> Option<&mut ChatSearchState> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3338 | pub fn get_message_search_matches(&self, message_id: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3351 | pub fn is_current_search_match(&self, message_id: &str, start_offset: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3377 | pub fn close_nudge_selector(&mut self, apply: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3392 | pub fn toggle_nudge_selection(&mut self, nudge_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3420 | pub fn nudge_selector_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3428 | pub fn nudge_selector_filter(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3545 | pub fn is_nudge_selected(&self, nudge_id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message_id` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/app.rs:4007:15 [INFO] [stdout] | [INFO] [stdout] 4007 | Message { message_id: String }, [INFO] [stdout] | ------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SearchMatchType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACTIVITY_GLYPH` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/card.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const ACTIVITY_GLYPH: &str = "\u{27f3} "; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `title` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/components/chat_sidebar.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct SidebarDelegation { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub title: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SidebarDelegation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `slug` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/components/chat_sidebar.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct SidebarReport { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 32 | pub slug: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SidebarReport` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind` and `pubkey` are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/components/chat_sidebar.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct ReportCoordinate { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 39 | pub kind: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | pub pubkey: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ReportCoordinate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_BRIGHTNESS_AMPLITUDE` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/components/statusbar.rs:57:7 [INFO] [stdout] | [INFO] [stdout] 57 | const WAVE_BRIGHTNESS_AMPLITUDE: f32 = 0.3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `truncate_plain` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/format.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn truncate_plain(s: &str, max_len: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NextTab`, `PrevTab`, `TabModal`, `ModalCancel`, `CopyReportRaw`, and `CopyReportMarkdown` are never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum HotkeyId { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 44 | NextTab, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 45 | PrevTab, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 46 | CloseTab, [INFO] [stdout] 47 | TabModal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | ModalCancel, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | CopyReportRaw, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 111 | CopyReportMarkdown, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HotkeyId` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `TabModal` and `SearchModal` are never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub enum HotkeyContext { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 141 | TabModal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 142 | SearchModal, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HotkeyContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `label` and `section` are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 249 | pub struct HotkeyBinding { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 257 | pub label: &'static str, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 258 | /// Section/category for grouping in help [INFO] [stdout] 259 | pub section: &'static str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HotkeyBinding` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `hotkeys_for_context`, `hotkeys_by_section`, `generate_help`, and `find_conflicts` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:914:12 [INFO] [stdout] | [INFO] [stdout] 893 | impl HotkeyResolver { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 914 | pub fn hotkeys_for_context(&self, context: HotkeyContext) -> Vec<&'static HotkeyBinding> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 923 | pub fn hotkeys_by_section(&self, context: HotkeyContext) -> HashMap<&'static str, Vec<&'static HotkeyBinding>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | pub fn generate_help(&self, context: HotkeyContext) -> Vec<(String, String)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 946 | pub fn find_conflicts(&self) -> Vec<(HotkeyId, HotkeyId)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_binding` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:983:8 [INFO] [stdout] | [INFO] [stdout] 983 | pub fn get_binding(id: HotkeyId) -> Option<&'static HotkeyBinding> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bindings_for_context` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/hotkeys.rs:988:8 [INFO] [stdout] | [INFO] [stdout] 988 | pub fn get_bindings_for_context(context: HotkeyContext) -> Vec<&'static HotkeyBinding> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_HEIGHT_HOME` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/layout.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | pub const HEADER_HEIGHT_HOME: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `remove_mcp_tool` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:473:12 [INFO] [stdout] | [INFO] [stdout] 423 | impl ProjectSettingsState { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 473 | pub fn remove_mcp_tool(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:528:12 [INFO] [stdout] | [INFO] [stdout] 527 | impl ConversationActionsState { [INFO] [stdout] | ----------------------------- associated function in this implementation [INFO] [stdout] 528 | pub fn new(thread_id: String, thread_title: String, project_a_tag: String, is_archived: bool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:593:12 [INFO] [stdout] | [INFO] [stdout] 592 | impl ChatActionsState { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 593 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `threads_scroll` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:711:9 [INFO] [stdout] | [INFO] [stdout] 706 | pub struct ReportViewerState { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 711 | pub threads_scroll: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ReportViewerState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tools_scroll` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:782:9 [INFO] [stdout] | [INFO] [stdout] 766 | pub struct AgentSettingsState { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 782 | pub tools_scroll: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AgentSettingsState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `event_id` and `project_a_tag` are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:998:9 [INFO] [stdout] | [INFO] [stdout] 996 | pub struct HistorySearchEntry { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 997 | /// Event ID of the message [INFO] [stdout] 998 | pub event_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1004 | pub project_a_tag: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HistorySearchEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `filter` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1149:9 [INFO] [stdout] | [INFO] [stdout] 1146 | pub struct WorkspaceManagerState { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1149 | pub filter: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WorkspaceManagerState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `description` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1266:12 [INFO] [stdout] | [INFO] [stdout] 1251 | impl BackendApprovalAction { [INFO] [stdout] | -------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1266 | pub fn description(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `project_a_tag` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1287:9 [INFO] [stdout] | [INFO] [stdout] 1285 | pub struct BackendApprovalState { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 1286 | pub backend_pubkey: String, [INFO] [stdout] 1287 | pub project_a_tag: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BackendApprovalState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `selected_project_filter` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1484:12 [INFO] [stdout] | [INFO] [stdout] 1431 | impl DebugStatsState { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1484 | pub fn selected_project_filter(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message_id` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1531:9 [INFO] [stdout] | [INFO] [stdout] 1530 | ViewRawEvent { [INFO] [stdout] | ------------ field in this variant [INFO] [stdout] 1531 | message_id: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ModalState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `AttachmentEditor`, `ConversationActions`, and `ChatActions` are never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1505:5 [INFO] [stdout] | [INFO] [stdout] 1501 | pub enum ModalState { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 1505 | AttachmentEditor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1526 | ConversationActions(ConversationActionsState), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 1527 | /// Chat action menu in Chat view - shows actions for current conversation (via Ctrl+T) [INFO] [stdout] 1528 | ChatActions(ChatActionsState), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ModalState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `close` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/modal.rs:1582:12 [INFO] [stdout] | [INFO] [stdout] 1577 | impl ModalState { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1582 | pub fn close(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `success` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/notifications.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Notification { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn success(message: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/notifications.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 128 | impl NotificationQueue { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `remove_last_hashtag` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/form_state.rs:330:12 [INFO] [stdout] | [INFO] [stdout] 148 | impl NudgeFormState { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn remove_last_hashtag(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_conflicts`, `clear`, and `clear_all` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/tool_permissions.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl ToolPermissions { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn has_conflicts(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn clear_all(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `resolution` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/tool_permissions.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 276 | pub struct ToolPermissionConflict { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 277 | pub tool_name: String, [INFO] [stdout] 278 | pub resolution: ConflictResolution, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ToolPermissionConflict` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ToolRegistry` is never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/tool_permissions.rs:299:12 [INFO] [stdout] | [INFO] [stdout] 299 | pub struct ToolRegistry { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/tool_permissions.rs:305:12 [INFO] [stdout] | [INFO] [stdout] 304 | impl ToolRegistry { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 305 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn update_from_statuses(&mut self, statuses: &std::collections::HashMap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | pub fn all_tools(&self) -> &[String] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn filter_tools(&self, prefix: &str) -> Vec<&str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | pub fn contains(&self, tool: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 350 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EmptyContent` and `ContentTooLong` are never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/validation.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum NudgeValidationError { [INFO] [stdout] | -------------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 20 | EmptyContent, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 21 | /// Content exceeds maximum length [INFO] [stdout] 22 | ContentTooLong { max: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NudgeValidationError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `max_content_length` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/validation.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct NudgeValidation { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 70 | pub max_content_length: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `validate_content` and `validate_all` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/nudge/validation.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl NudgeValidation { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn validate_content(&self, content: &str) -> Result<(), NudgeValidationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn validate_all( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `selected_result` and `clamp_selection` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl SidebarSearchState { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn selected_result(&self) -> Option<&SearchResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn clamp_selection(&mut self, for_reports: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct SearchResult { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 201 | /// The thread containing the match [INFO] [stdout] 202 | pub thread: Thread, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 203 | /// Thread ID [INFO] [stdout] 204 | pub thread_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 205 | /// Thread title [INFO] [stdout] 206 | pub thread_title: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 207 | /// Project a_tag [INFO] [stdout] 208 | pub project_a_tag: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 209 | /// Project name for display [INFO] [stdout] 210 | pub project_name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 211 | /// The matching reply content (if match was in a reply) [INFO] [stdout] 212 | pub matching_reply: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 213 | /// Match type [INFO] [stdout] 214 | pub match_type: SearchMatchType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 215 | /// When the match was created (for sorting) [INFO] [stdout] 216 | pub created_at: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `content` and `author_pubkey` are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub struct MatchingReply { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 222 | /// Reply content [INFO] [stdout] 223 | pub content: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 224 | /// Author pubkey [INFO] [stdout] 225 | pub author_pubkey: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MatchingReply` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `created_at` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 230 | pub struct MatchingMessage { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 236 | pub created_at: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MatchingMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `thread_id` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 244 | ContextAncestor { [INFO] [stdout] | --------------- field in this variant [INFO] [stdout] 245 | thread: Thread, [INFO] [stdout] 246 | thread_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HierarchicalSearchItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `thread_id` is never read [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 252 | MatchedConversation { [INFO] [stdout] | ------------------- field in this variant [INFO] [stdout] 253 | thread: Thread, [INFO] [stdout] 254 | thread_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HierarchicalSearchItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ThreadTitle`, `ThreadContent`, `Reply`, and `ConversationId` are never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 275 | pub enum SearchMatchType { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 276 | /// Match in thread title [INFO] [stdout] 277 | ThreadTitle, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 278 | /// Match in thread content [INFO] [stdout] 279 | ThreadContent, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 280 | /// Match in a reply message [INFO] [stdout] 281 | Reply, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 282 | /// Match in conversation ID [INFO] [stdout] 283 | ConversationId, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchMatchType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `search_conversations` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | pub fn search_conversations( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `thread_id`, `title`, `project_a_tag`, and `matched_terms` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/search.rs:835:12 [INFO] [stdout] | [INFO] [stdout] 833 | impl HierarchicalSearchItem { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] 834 | /// Get the thread ID for this item [INFO] [stdout] 835 | pub fn thread_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 856 | pub fn title(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 864 | pub fn project_a_tag(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 872 | pub fn matched_terms(&self) -> &[String] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clamp_index` and `filter_lowercase` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/selector.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl SelectorState { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn clamp_index(&mut self, item_count: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn filter_lowercase(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/services/drafts.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl DraftService { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn was_recovered_from_backup(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn flush(&self) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn save_versioned_draft(&self, draft: ChatDraft) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn load_versioned_draft(&self, conversation_id: &str, message_sequence: u32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn get_versioned_drafts_for_conversation(&self, conversation_id: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn get_all_versioned_drafts(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn get_current_sequence(&self, conversation_id: &str) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn mark_draft_pending_send(&self, conversation_id: &str) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn mark_draft_sent_awaiting(&self, conversation_id: &str) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn mark_draft_confirmed(&self, conversation_id: &str, event_id: Option) -> Result<(), DraftStorageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn archive_old_confirmed_drafts(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn get_archived_drafts(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn get_or_create_project_draft(&self, project_a_tag: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn migrate_draft_to_conversation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn get_drafts_for_project(&self, project_a_tag: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn get_pre_conversation_drafts(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | pub fn get_all_searchable_drafts(&self) -> AllDrafts { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AllDrafts` is never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/services/drafts.rs:336:12 [INFO] [stdout] | [INFO] [stdout] 336 | pub struct AllDrafts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_empty`, `total_count`, and `search` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/services/drafts.rs:346:12 [INFO] [stdout] | [INFO] [stdout] 344 | impl AllDrafts { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 345 | /// Check if there are any drafts at all [INFO] [stdout] 346 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub fn total_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn search(&self, query: &str) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SearchableDraft` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/services/drafts.rs:405:10 [INFO] [stdout] | [INFO] [stdout] 405 | pub enum SearchableDraft { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `text`, `last_modified`, `context_id`, `draft_type`, and `send_state` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/services/drafts.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 412 | impl SearchableDraft { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] 413 | /// Get the text content of this draft [INFO] [stdout] 414 | pub fn text(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn last_modified(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn context_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 444 | pub fn draft_type(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub fn send_state(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `current_location` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/state.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl ChatSearchState { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn current_location(&self) -> Option<&ChatSearchMatch> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start_offset` and `length` are never read [INFO] [stdout] --> crates/tenex-tui/src/ui/state.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct ChatSearchMatch { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 96 | pub start_offset: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 97 | /// Length of the match [INFO] [stdout] 98 | pub length: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChatSearchMatch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `cycle_history_forward`, `clear_waiting_for_user`, and `open_modal` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/state.rs:573:12 [INFO] [stdout] | [INFO] [stdout] 308 | impl TabManager { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn cycle_history_forward(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 609 | pub fn clear_waiting_for_user(&mut self, thread_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 618 | pub fn open_modal(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_message_selection` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/state.rs:1011:12 [INFO] [stdout] | [INFO] [stdout] 940 | impl ConversationState { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1011 | pub fn reset_message_selection(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_selection`, `kill_to_line_start`, and `visual_cursor_position` are never used [INFO] [stdout] --> crates/tenex-tui/src/ui/text_editor.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 70 | impl TextEditor { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn has_selection(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn kill_to_line_start(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 688 | pub fn visual_cursor_position(&self, wrap_width: usize) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `text_dim` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn text_dim() -> Style { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `text_bold` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn text_bold() -> Style { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `border_active` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn border_active() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `border_inactive` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn border_inactive() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `border_focused` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:167:8 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn border_focused() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interactive_normal` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn interactive_normal() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interactive_selected` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn interactive_selected() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interactive_hover` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn interactive_hover() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `status_info` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:203:8 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn status_info() -> Style { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `input_active` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn input_active() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `input_inactive` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn input_inactive() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `input_placeholder` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn input_placeholder() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `card_bg` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:227:8 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn card_bg() -> Style { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `card_bg_selected` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub fn card_bg_selected() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_heading` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn markdown_heading() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_code` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn markdown_code() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_quote` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn markdown_quote() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_link` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:251:8 [INFO] [stdout] | [INFO] [stdout] 251 | pub fn markdown_link() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_list_bullet` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:255:8 [INFO] [stdout] | [INFO] [stdout] 255 | pub fn markdown_list_bullet() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_image` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:259:8 [INFO] [stdout] | [INFO] [stdout] 259 | pub fn markdown_image() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tool_name` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:291:8 [INFO] [stdout] | [INFO] [stdout] 291 | pub fn tool_name() -> Style { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tool_target` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | pub fn tool_target() -> Style { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `project_online` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:323:8 [INFO] [stdout] | [INFO] [stdout] 323 | pub fn project_online() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `project_offline` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:327:8 [INFO] [stdout] | [INFO] [stdout] 327 | pub fn project_offline() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `agent_name` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:331:8 [INFO] [stdout] | [INFO] [stdout] 331 | pub fn agent_name() -> Style { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `streaming_indicator` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:339:8 [INFO] [stdout] | [INFO] [stdout] 339 | pub fn streaming_indicator() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `typing_indicator` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:343:8 [INFO] [stdout] | [INFO] [stdout] 343 | pub fn typing_indicator() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_light_color` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/theme.rs:413:8 [INFO] [stdout] | [INFO] [stdout] 413 | pub fn is_light_color(color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/todo.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl TodoState { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 28 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tool_icon` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/tool_calls.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn tool_icon(name: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_project_at_index` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:973:8 [INFO] [stdout] | [INFO] [stdout] 973 | pub fn get_project_at_index(app: &App, index: usize) -> Option<(crate::models::Project, bool)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `selectable_project_count` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/home/sidebar.rs:985:8 [INFO] [stdout] | [INFO] [stdout] 985 | pub fn selectable_project_count(app: &App) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_inline_ask_ui` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn render_inline_ask_ui(f: &mut Frame, modal_state: &AskModalState, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_tab_bar` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:264:4 [INFO] [stdout] | [INFO] [stdout] 264 | fn render_tab_bar(f: &mut Frame, input_state: &crate::ui::ask_input::AskInputState, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_question` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:308:4 [INFO] [stdout] | [INFO] [stdout] 308 | fn render_question( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_single_select` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:325:4 [INFO] [stdout] | [INFO] [stdout] 325 | fn render_single_select( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_multi_select` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:395:4 [INFO] [stdout] | [INFO] [stdout] 395 | fn render_multi_select( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_help_bar` is never used [INFO] [stdout] --> crates/tenex-tui/src/ui/views/inline_ask.rs:470:4 [INFO] [stdout] | [INFO] [stdout] 470 | fn render_help_bar(f: &mut Frame, input_state: &crate::ui::ask_input::AskInputState, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Month` is never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/views/stats.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum ActivityViewMode { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] 69 | Week, // 7 days × 24 hours = 168 hours [INFO] [stdout] 70 | Month, // 30 days × 24 hours = 720 hours [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ActivityViewMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Messages` is never constructed [INFO] [stdout] --> crates/tenex-tui/src/ui/views/stats.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub enum ActivityVisualization { [INFO] [stdout] | --------------------- variant in this enum [INFO] [stdout] 92 | Tokens, // Total tokens used per hour [INFO] [stdout] 93 | Messages, // Number of messages generated per hour [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ActivityVisualization` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 11s [INFO] running `Command { std: "docker" "inspect" "da72c14c0f84eb0c5c50b55e3f592b7ee5cc7a5c0fc9598eb74c9899d4aaa3d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da72c14c0f84eb0c5c50b55e3f592b7ee5cc7a5c0fc9598eb74c9899d4aaa3d7", kill_on_drop: false }` [INFO] [stdout] da72c14c0f84eb0c5c50b55e3f592b7ee5cc7a5c0fc9598eb74c9899d4aaa3d7