From 6c1a3822955fb74bebe6a4d4c0de0b1456b4432e Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 14 Mar 2026 00:15:10 +0000 Subject: [PATCH 1/4] Apply cargo clippy fixes and format with cargo fmt Co-Authored-By: bot_apk --- Cargo.toml | 1 + apps/control/src-tauri/src/panel.rs | 2 +- apps/control/src-tauri/src/tray.rs | 2 +- apps/eval-cli/src/main.rs | 4 +-- apps/eval-cli/src/report.rs | 2 +- apps/eval-cli/src/submissions.rs | 4 +-- crates/analytics/src/posthog.rs | 2 +- crates/audio-device/src/macos.rs | 16 ++++++---- crates/audio-device/src/windows.rs | 8 ++--- crates/eval/src/format.rs | 2 +- crates/eval/src/lib.rs | 22 +++++++------- crates/eval/src/rubric.rs | 4 +-- crates/eval/src/submission.rs | 2 +- crates/tiptap/src/from_ast.rs | 15 +++++----- .../v1_0_2_nightly_14_extract_from_sqlite.rs | 7 ++--- .../migrations/v1_0_2_nightly_1_from_v0.rs | 7 ++--- plugins/fs-db/src/version/macro.rs | 14 ++++----- plugins/fs2/src/error.rs | 2 +- plugins/permissions/src/ext.rs | 29 ++++++++++--------- plugins/permissions/src/lib.rs | 4 +-- 20 files changed, 76 insertions(+), 73 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index fa5a7b3730..8b654a0a24 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,6 +30,7 @@ exclude = [ "apps/api", "apps/bot", "apps/web", + "plugins/cli2", "plugins/db", "plugins/export", ] diff --git a/apps/control/src-tauri/src/panel.rs b/apps/control/src-tauri/src/panel.rs index a87f67a458..3790b5fafe 100644 --- a/apps/control/src-tauri/src/panel.rs +++ b/apps/control/src-tauri/src/panel.rs @@ -1,5 +1,5 @@ use tauri::{AppHandle, Listener, Manager, WebviewWindow}; -use tauri_nspanel::{ManagerExt, WebviewWindowExt, panel}; +use tauri_nspanel::{panel, ManagerExt, WebviewWindowExt}; #[cfg(target_os = "macos")] use objc2::msg_send; diff --git a/apps/control/src-tauri/src/tray.rs b/apps/control/src-tauri/src/tray.rs index 7f3bb95f58..0b5b86cc7c 100644 --- a/apps/control/src-tauri/src/tray.rs +++ b/apps/control/src-tauri/src/tray.rs @@ -1,7 +1,7 @@ use tauri::{ - AppHandle, image::Image, tray::{MouseButtonState, TrayIcon, TrayIconBuilder, TrayIconEvent}, + AppHandle, }; use tauri_nspanel::ManagerExt; diff --git a/apps/eval-cli/src/main.rs b/apps/eval-cli/src/main.rs index 9071db0129..d0321f67fd 100644 --- a/apps/eval-cli/src/main.rs +++ b/apps/eval-cli/src/main.rs @@ -8,7 +8,7 @@ mod report; mod submissions; use hypr_eval::{ - DEFAULT_MODELS, EvalResult, Executor, ExecutorProgress, OpenRouterClient, parse_config, + parse_config, EvalResult, Executor, ExecutorProgress, OpenRouterClient, DEFAULT_MODELS, }; use report::{render_json, render_results}; use submissions::{all_cases, filter_cases}; @@ -179,7 +179,7 @@ fn list_cases() { fn generate_completion(shell: Shell) { use clap::CommandFactory; - use clap_complete::{Shell as ClapShell, generate}; + use clap_complete::{generate, Shell as ClapShell}; let mut cmd = Cli::command(); let shell = match shell { diff --git a/apps/eval-cli/src/report.rs b/apps/eval-cli/src/report.rs index f892169293..a82d5d3471 100644 --- a/apps/eval-cli/src/report.rs +++ b/apps/eval-cli/src/report.rs @@ -1,4 +1,4 @@ -use comfy_table::{Cell, Color, ContentArrangement, Table, presets::UTF8_FULL_CONDENSED}; +use comfy_table::{presets::UTF8_FULL_CONDENSED, Cell, Color, ContentArrangement, Table}; use hypr_eval::EvalResult; diff --git a/apps/eval-cli/src/submissions.rs b/apps/eval-cli/src/submissions.rs index a9fcc8251a..7e059af967 100644 --- a/apps/eval-cli/src/submissions.rs +++ b/apps/eval-cli/src/submissions.rs @@ -1,6 +1,6 @@ use hypr_eval::{ - ChatMessage, CheckResult, EvalCase, GraderSpec, RubricSpec, find_headings, find_lists, grade, - is_non_empty, + find_headings, find_lists, grade, is_non_empty, ChatMessage, CheckResult, EvalCase, GraderSpec, + RubricSpec, }; use hypr_template_eval::{MdgenSystem, Template}; diff --git a/crates/analytics/src/posthog.rs b/crates/analytics/src/posthog.rs index 090c237a10..8dfa43b212 100644 --- a/crates/analytics/src/posthog.rs +++ b/crates/analytics/src/posthog.rs @@ -42,7 +42,7 @@ impl PosthogClient { distinct_id: &str, payload: &PropertiesPayload, ) -> Result<(), Error> { - let mut e = Event::new("$set", &distinct_id.to_string()); + let mut e = Event::new("$set", distinct_id); e.set_timestamp(chrono::Utc::now().naive_utc()); if !payload.set.is_empty() { diff --git a/crates/audio-device/src/macos.rs b/crates/audio-device/src/macos.rs index 445ebb4945..af014c82ed 100644 --- a/crates/audio-device/src/macos.rs +++ b/crates/audio-device/src/macos.rs @@ -59,7 +59,7 @@ impl MacOSBackend { .unwrap_or(TransportType::Unknown); let is_default = default_device_id - .map(|id| device.0.0 == id) + .map(|id| device.0 .0 == id) .unwrap_or(false); let mut audio_device = AudioDevice { @@ -102,7 +102,11 @@ impl MacOSBackend { }) }); - if detected { Some(true) } else { None } + if detected { + Some(true) + } else { + None + } } fn is_external_from_device(device: Option) -> bool { @@ -120,8 +124,8 @@ impl AudioDeviceBackend for MacOSBackend { let ca_devices = ca::System::devices().map_err(|e| Error::EnumerationFailed(format!("{:?}", e)))?; - let default_input_id = ca::System::default_input_device().ok().map(|d| d.0.0); - let default_output_id = ca::System::default_output_device().ok().map(|d| d.0.0); + let default_input_id = ca::System::default_input_device().ok().map(|d| d.0 .0); + let default_output_id = ca::System::default_output_device().ok().map(|d| d.0 .0); let mut devices = Vec::new(); @@ -161,7 +165,7 @@ impl AudioDeviceBackend for MacOSBackend { Ok(Self::create_audio_device( &ca_device, AudioDirection::Input, - Some(ca_device.0.0), + Some(ca_device.0 .0), )) } @@ -178,7 +182,7 @@ impl AudioDeviceBackend for MacOSBackend { Ok(Self::create_audio_device( &ca_device, AudioDirection::Output, - Some(ca_device.0.0), + Some(ca_device.0 .0), )) } diff --git a/crates/audio-device/src/windows.rs b/crates/audio-device/src/windows.rs index 6d2762d27b..8b63a48e2b 100644 --- a/crates/audio-device/src/windows.rs +++ b/crates/audio-device/src/windows.rs @@ -1,16 +1,16 @@ use crate::{AudioDevice, AudioDeviceBackend, AudioDirection, DeviceId, Error, TransportType}; use std::ffi::OsString; use std::os::windows::ffi::OsStringExt; +use windows::core::{Interface, GUID, PCWSTR, PWSTR}; use windows::Win32::Devices::FunctionDiscovery::PKEY_Device_FriendlyName; use windows::Win32::Media::Audio::{ - DEVICE_STATE_ACTIVE, Endpoints, IAudioEndpointVolume, IMMDevice, IMMDeviceEnumerator, - MMDeviceEnumerator, eAll, eCapture, eConsole, eRender, + eAll, eCapture, eConsole, eRender, Endpoints, IAudioEndpointVolume, IMMDevice, + IMMDeviceEnumerator, MMDeviceEnumerator, DEVICE_STATE_ACTIVE, }; use windows::Win32::System::Com::{ - CLSCTX_ALL, COINIT_MULTITHREADED, CoCreateInstance, CoInitializeEx, CoUninitialize, STGM_READ, + CoCreateInstance, CoInitializeEx, CoUninitialize, CLSCTX_ALL, COINIT_MULTITHREADED, STGM_READ, }; use windows::Win32::UI::Shell::PropertiesSystem::IPropertyStore; -use windows::core::{GUID, Interface, PCWSTR, PWSTR}; pub struct WindowsBackend; diff --git a/crates/eval/src/format.rs b/crates/eval/src/format.rs index cfdce32c07..e37b0dc1fa 100644 --- a/crates/eval/src/format.rs +++ b/crates/eval/src/format.rs @@ -1,5 +1,5 @@ use markdown::mdast::{Heading, List, ListItem, Node}; -use markdown::{ParseOptions, to_mdast}; +use markdown::{to_mdast, ParseOptions}; #[derive(Debug, Clone)] pub struct CheckResult { diff --git a/crates/eval/src/lib.rs b/crates/eval/src/lib.rs index 9fe42390a7..e7158bf18d 100644 --- a/crates/eval/src/lib.rs +++ b/crates/eval/src/lib.rs @@ -54,23 +54,23 @@ pub use testing::*; // Re-export core types at root for convenience pub use client::{ - ChatCompleter, ChatCompletionRequest, ChatCompletionResponse, ChatMessage, ClientError, - GraderResponse, OpenRouterClient, Usage, UsageResolver, generate_chat_multi_with_generation_id, - generate_chat_with_generation_id, generate_structured_grader_response, - generate_structured_grader_response_multi, generate_text_multi_with_generation_id, - generate_text_with_generation_id, + generate_chat_multi_with_generation_id, generate_chat_with_generation_id, + generate_structured_grader_response, generate_structured_grader_response_multi, + generate_text_multi_with_generation_id, generate_text_with_generation_id, ChatCompleter, + ChatCompletionRequest, ChatCompletionResponse, ChatMessage, ClientError, GraderResponse, + OpenRouterClient, Usage, UsageResolver, }; -pub use config::{Config, parse_config}; +pub use config::{parse_config, Config}; pub use constants::*; pub use format::{ - CheckResult, GradeResult, Rule, count_list_items_in_section, extract_text, find_headings, - find_list_items, find_lists, first_inline_child, grade, split_by_headings, + count_list_items_in_section, extract_text, find_headings, find_list_items, find_lists, + first_inline_child, grade, split_by_headings, CheckResult, GradeResult, Rule, }; pub use models::{fetch_openrouter_models, filter_models}; -pub use rubric::{Score, grade_with_func, grade_with_llm, is_non_empty}; +pub use rubric::{grade_with_func, grade_with_llm, is_non_empty, Score}; pub use stats::{ - AggregatedGraderResponse, ConfidenceInterval, PassStats, aggregate_grader_responses, - calc_pass_stats, + aggregate_grader_responses, calc_pass_stats, AggregatedGraderResponse, ConfidenceInterval, + PassStats, }; pub use submission::{ EvalCase, EvalResult, Executor, ExecutorProgress, ExecutorProgressCallback, GraderSpec, diff --git a/crates/eval/src/rubric.rs b/crates/eval/src/rubric.rs index 6b5ba4764b..34f6769798 100644 --- a/crates/eval/src/rubric.rs +++ b/crates/eval/src/rubric.rs @@ -1,8 +1,8 @@ use std::collections::HashMap; use crate::{ - ChatCompleter, ConfidenceInterval, aggregate_grader_responses, - generate_structured_grader_response, generate_structured_grader_response_multi, + aggregate_grader_responses, generate_structured_grader_response, + generate_structured_grader_response_multi, ChatCompleter, ConfidenceInterval, }; /// Score represents the result of evaluating output against a rubric. diff --git a/crates/eval/src/submission.rs b/crates/eval/src/submission.rs index f8c1def52e..1f60e9cabb 100644 --- a/crates/eval/src/submission.rs +++ b/crates/eval/src/submission.rs @@ -5,7 +5,7 @@ use std::sync::{Arc, Mutex}; use rayon::prelude::*; use crate::constants::DEFAULT_GRADER_MODEL; -use crate::{ChatCompleter, ChatMessage, Score, Usage, parse_config}; +use crate::{parse_config, ChatCompleter, ChatMessage, Score, Usage}; pub type ValidatorFn = fn(&str) -> (bool, String); pub type ValidatorFnWithMeta = fn(&str, &HashMap) -> (bool, String); diff --git a/crates/tiptap/src/from_ast.rs b/crates/tiptap/src/from_ast.rs index 18dc9e6c0f..56e6242167 100644 --- a/crates/tiptap/src/from_ast.rs +++ b/crates/tiptap/src/from_ast.rs @@ -21,14 +21,13 @@ fn unescape_markdown(md: &str) -> String { let mut chars = md.chars().peekable(); while let Some(c) = chars.next() { - if c == '\\' { - if let Some(&next) = chars.peek() { - if is_markdown_escapable(next) { - result.push(next); - chars.next(); - continue; - } - } + if c == '\\' + && let Some(&next) = chars.peek() + && is_markdown_escapable(next) + { + result.push(next); + chars.next(); + continue; } result.push(c); } diff --git a/plugins/fs-db/src/migrations/v1_0_2_nightly_14_extract_from_sqlite.rs b/plugins/fs-db/src/migrations/v1_0_2_nightly_14_extract_from_sqlite.rs index f5b286e11a..3df7083f9c 100644 --- a/plugins/fs-db/src/migrations/v1_0_2_nightly_14_extract_from_sqlite.rs +++ b/plugins/fs-db/src/migrations/v1_0_2_nightly_14_extract_from_sqlite.rs @@ -37,7 +37,7 @@ fn sanitize_filename(name: &str) -> String { .to_string() } -fn group_by_session_id<'a, T, F>(items: &'a [T], get_id: F) -> HashMap<&'a str, Vec<&'a T>> +fn group_by_session_id(items: &[T], get_id: F) -> HashMap<&str, Vec<&T>> where F: Fn(&T) -> &str, { @@ -138,14 +138,13 @@ fn collect_session_ops(base_dir: &Path, data: &Collection) -> Result }); // transcript.json (if exists) - if let Some(transcripts) = transcripts.get(sid) { - if let Some(t) = transcripts.first() { + if let Some(transcripts) = transcripts.get(sid) + && let Some(t) = transcripts.first() { ops.push(FileOp::Write { path: dir.join(files::TRANSCRIPT), content: build_transcript_json(t), }); } - } // _memo.md (if user has notes) ops.extend(build_memo_op(&dir, session)); diff --git a/plugins/fs-db/src/migrations/v1_0_2_nightly_1_from_v0.rs b/plugins/fs-db/src/migrations/v1_0_2_nightly_1_from_v0.rs index 9465ab5ea1..32fcd1f42f 100644 --- a/plugins/fs-db/src/migrations/v1_0_2_nightly_1_from_v0.rs +++ b/plugins/fs-db/src/migrations/v1_0_2_nightly_1_from_v0.rs @@ -32,7 +32,7 @@ fn sanitize_filename(name: &str) -> String { .to_string() } -fn group_by_session_id<'a, T, F>(items: &'a [T], get_id: F) -> HashMap<&'a str, Vec<&'a T>> +fn group_by_session_id(items: &[T], get_id: F) -> HashMap<&str, Vec<&T>> where F: Fn(&T) -> &str, { @@ -135,14 +135,13 @@ fn collect_session_ops(base_dir: &Path, data: &Collection) -> Result content: build_meta_json(session, session_participants, &session_tags), }); - if let Some(transcripts) = transcripts.get(sid) { - if let Some(t) = transcripts.first() { + if let Some(transcripts) = transcripts.get(sid) + && let Some(t) = transcripts.first() { ops.push(FileOp::Write { path: dir.join(files::TRANSCRIPT), content: build_transcript_json(t), }); } - } ops.extend(build_memo_op(&dir, session)); diff --git a/plugins/fs-db/src/version/macro.rs b/plugins/fs-db/src/version/macro.rs index 54e8169ad3..7e4c1fcd8c 100644 --- a/plugins/fs-db/src/version/macro.rs +++ b/plugins/fs-db/src/version/macro.rs @@ -24,14 +24,12 @@ pub fn parse(name: &str) -> Version { let mut version_str = format!("{major}.{minor}.{patch}"); - if let Some(&tag) = parts.get(3) { - if PRERELEASE_TAGS.contains(&tag) { - if let Some(&num) = parts.get(4) { - if num.chars().all(|c| c.is_ascii_digit()) { - version_str.push_str(&format!("-{tag}.{num}")); - } - } - } + if let Some(&tag) = parts.get(3) + && PRERELEASE_TAGS.contains(&tag) + && let Some(&num) = parts.get(4) + && num.chars().all(|c| c.is_ascii_digit()) + { + version_str.push_str(&format!("-{tag}.{num}")); } version_str.parse().unwrap() diff --git a/plugins/fs2/src/error.rs b/plugins/fs2/src/error.rs index 546936d975..5e1995422e 100644 --- a/plugins/fs2/src/error.rs +++ b/plugins/fs2/src/error.rs @@ -1,4 +1,4 @@ -use serde::{Serialize, ser::Serializer}; +use serde::{ser::Serializer, Serialize}; pub type Result = std::result::Result; diff --git a/plugins/permissions/src/ext.rs b/plugins/permissions/src/ext.rs index 2297273b06..facfeb21ec 100644 --- a/plugins/permissions/src/ext.rs +++ b/plugins/permissions/src/ext.rs @@ -19,7 +19,6 @@ macro_rules! check { }}; } - #[derive(Debug, Clone, Copy, serde::Serialize, serde::Deserialize, specta::Type)] #[serde(rename_all = "camelCase")] pub enum Permission { @@ -117,7 +116,9 @@ impl<'a, R: tauri::Runtime, M: tauri::Manager> Permissions<'a, R, M> { #[cfg(target_os = "macos")] { std::process::Command::new("open") - .arg("x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture") + .arg( + "x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture", + ) .spawn()? .wait()?; } @@ -129,7 +130,9 @@ impl<'a, R: tauri::Runtime, M: tauri::Manager> Permissions<'a, R, M> { #[cfg(target_os = "macos")] { std::process::Command::new("open") - .arg("x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility") + .arg( + "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility", + ) .spawn()? .wait()?; } @@ -139,10 +142,9 @@ impl<'a, R: tauri::Runtime, M: tauri::Manager> Permissions<'a, R, M> { async fn check_calendar(&self) -> Result { #[cfg(target_os = "macos")] - return check!( - "calendar", - unsafe { EKEventStore::authorizationStatusForEntityType(EKEntityType::Event) } - ); + return check!("calendar", unsafe { + EKEventStore::authorizationStatusForEntityType(EKEntityType::Event) + }); #[cfg(not(target_os = "macos"))] { @@ -152,10 +154,9 @@ impl<'a, R: tauri::Runtime, M: tauri::Manager> Permissions<'a, R, M> { async fn check_contacts(&self) -> Result { #[cfg(target_os = "macos")] - return check!( - "contacts", - unsafe { CNContactStore::authorizationStatusForEntityType(CNEntityType::Contacts) } - ); + return check!("contacts", unsafe { + CNContactStore::authorizationStatusForEntityType(CNEntityType::Contacts) + }); #[cfg(not(target_os = "macos"))] { @@ -202,7 +203,10 @@ impl<'a, R: tauri::Runtime, M: tauri::Manager> Permissions<'a, R, M> { async fn check_accessibility(&self) -> Result { #[cfg(target_os = "macos")] - return check!("accessibility", macos_accessibility_client::accessibility::application_is_trusted()); + return check!( + "accessibility", + macos_accessibility_client::accessibility::application_is_trusted() + ); #[cfg(not(target_os = "macos"))] { @@ -379,4 +383,3 @@ impl> PermissionsPluginExt for T { } } } - diff --git a/plugins/permissions/src/lib.rs b/plugins/permissions/src/lib.rs index 8bf2181d24..2bad24adb5 100644 --- a/plugins/permissions/src/lib.rs +++ b/plugins/permissions/src/lib.rs @@ -1,10 +1,10 @@ mod commands; mod error; -mod models; mod ext; +mod models; -pub use ext::*; pub use error::*; +pub use ext::*; pub use models::*; const PLUGIN_NAME: &str = "permissions"; From 2c4ef55daae3df154cc86fbd3393ad7c55f0fa0d Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 14 Mar 2026 00:26:24 +0000 Subject: [PATCH 2/4] Apply additional clippy fixes and resolve merge conflicts with main Co-Authored-By: bot_apk --- Cargo.toml | 2 ++ crates/audio-device/src/windows.rs | 4 +-- .../src/adapter/cactus/batch.rs | 9 +++---- .../src/adapter/soniox/live.rs | 6 ++--- .../migrations/v1_0_2_nightly_15_from_v0.rs | 26 ------------------- 5 files changed, 11 insertions(+), 36 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 044a6407e3..ab9bce2f65 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,9 +18,11 @@ members = [ ] exclude = [ "plugins/apple-calendar", + "plugins/apple-contact", "plugins/cli2", "plugins/db", "plugins/extensions", + "plugins/pdf", "crates/vad-ext", ] diff --git a/crates/audio-device/src/windows.rs b/crates/audio-device/src/windows.rs index 96ded783fe..74b6416b22 100644 --- a/crates/audio-device/src/windows.rs +++ b/crates/audio-device/src/windows.rs @@ -5,8 +5,8 @@ use windows::core::{Interface, GUID, PCWSTR, PWSTR}; use windows::Win32::Devices::FunctionDiscovery::PKEY_Device_FriendlyName; use windows::Win32::Media::Audio::Endpoints::IAudioEndpointVolume; use windows::Win32::Media::Audio::{ - eAll, eCapture, eConsole, eRender, DEVICE_STATE_ACTIVE, IMMDevice, IMMDeviceEnumerator, - MMDeviceEnumerator, + eAll, eCapture, eConsole, eRender, IMMDevice, IMMDeviceEnumerator, MMDeviceEnumerator, + DEVICE_STATE_ACTIVE, }; use windows::Win32::System::Com::{ CoCreateInstance, CoInitializeEx, CoUninitialize, CLSCTX_ALL, COINIT_MULTITHREADED, STGM_READ, diff --git a/crates/owhisper-client/src/adapter/cactus/batch.rs b/crates/owhisper-client/src/adapter/cactus/batch.rs index 96f244195f..ce06dff0e2 100644 --- a/crates/owhisper-client/src/adapter/cactus/batch.rs +++ b/crates/owhisper-client/src/adapter/cactus/batch.rs @@ -310,14 +310,13 @@ impl SseParserState { &mut self, response: StreamResponse, ) -> Option> { - if let StreamResponse::TranscriptResponse { channel, .. } = &response { - if channel + if let StreamResponse::TranscriptResponse { channel, .. } = &response + && channel .alternatives .first() .is_some_and(|a| !a.words.is_empty()) - { - self.saw_segment_words = true; - } + { + self.saw_segment_words = true; } let segment_end = match &response { diff --git a/crates/owhisper-client/src/adapter/soniox/live.rs b/crates/owhisper-client/src/adapter/soniox/live.rs index eef52d7895..ce3d4bcc7d 100644 --- a/crates/owhisper-client/src/adapter/soniox/live.rs +++ b/crates/owhisper-client/src/adapter/soniox/live.rs @@ -293,9 +293,9 @@ fn build_words(tokens: &[&soniox::Token]) -> Vec( - tokens: &'a [soniox::Token], -) -> (Vec<&'a soniox::Token>, Vec<&'a soniox::Token>) { +fn partition_tokens_by_word_finality( + tokens: &[soniox::Token], +) -> (Vec<&soniox::Token>, Vec<&soniox::Token>) { let mut final_tokens = Vec::new(); let mut non_final_tokens = Vec::new(); for group in token_groups_from_values(tokens) { diff --git a/plugins/fs-db/src/migrations/v1_0_2_nightly_15_from_v0.rs b/plugins/fs-db/src/migrations/v1_0_2_nightly_15_from_v0.rs index 499c926d4a..fd296ccbae 100644 --- a/plugins/fs-db/src/migrations/v1_0_2_nightly_15_from_v0.rs +++ b/plugins/fs-db/src/migrations/v1_0_2_nightly_15_from_v0.rs @@ -32,32 +32,6 @@ fn sanitize_filename(name: &str) -> String { .to_string() } -<<<<<<< HEAD:plugins/fs-db/src/migrations/v1_0_2_nightly_1_from_v0.rs -fn group_by_session_id(items: &[T], get_id: F) -> HashMap<&str, Vec<&T>> -where - F: Fn(&T) -> &str, -{ - let mut map: HashMap<&str, Vec<&T>> = HashMap::new(); - for item in items { - map.entry(get_id(item)).or_default().push(item); - } - map -} - -||||||| 15704006b:plugins/fs-db/src/migrations/v1_0_2_nightly_1_from_v0.rs -fn group_by_session_id<'a, T, F>(items: &'a [T], get_id: F) -> HashMap<&'a str, Vec<&'a T>> -where - F: Fn(&T) -> &str, -{ - let mut map: HashMap<&str, Vec<&T>> = HashMap::new(); - for item in items { - map.entry(get_id(item)).or_default().push(item); - } - map -} - -======= ->>>>>>> origin/main:plugins/fs-db/src/migrations/v1_0_2_nightly_15_from_v0.rs fn build_tag_names(data: &Collection) -> HashMap<&str, &str> { data.tags .iter() From 72b899ff4cc0c950dbb117b86c05f6d974b787b0 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 14 Mar 2026 00:31:19 +0000 Subject: [PATCH 3/4] Fix remaining merge conflict marker in v1_0_2_nightly_14_extract_from_sqlite.rs Co-Authored-By: bot_apk --- .../v1_0_2_nightly_14_extract_from_sqlite.rs | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/plugins/fs-db/src/migrations/v1_0_2_nightly_14_extract_from_sqlite.rs b/plugins/fs-db/src/migrations/v1_0_2_nightly_14_extract_from_sqlite.rs index cd2afe57e6..fea6ab9c00 100644 --- a/plugins/fs-db/src/migrations/v1_0_2_nightly_14_extract_from_sqlite.rs +++ b/plugins/fs-db/src/migrations/v1_0_2_nightly_14_extract_from_sqlite.rs @@ -37,32 +37,6 @@ fn sanitize_filename(name: &str) -> String { .to_string() } -<<<<<<< HEAD -fn group_by_session_id(items: &[T], get_id: F) -> HashMap<&str, Vec<&T>> -where - F: Fn(&T) -> &str, -{ - let mut map: HashMap<&str, Vec<&T>> = HashMap::new(); - for item in items { - map.entry(get_id(item)).or_default().push(item); - } - map -} - -||||||| 15704006b -fn group_by_session_id<'a, T, F>(items: &'a [T], get_id: F) -> HashMap<&'a str, Vec<&'a T>> -where - F: Fn(&T) -> &str, -{ - let mut map: HashMap<&str, Vec<&T>> = HashMap::new(); - for item in items { - map.entry(get_id(item)).or_default().push(item); - } - map -} - -======= ->>>>>>> origin/main fn build_tag_names(data: &Collection) -> HashMap<&str, &str> { data.tags .iter() From 3a2dc040d7a1e069a4fd0fdda1c365decf92db6d Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 14 Mar 2026 00:37:40 +0000 Subject: [PATCH 4/4] Apply dprint formatting to fix CI fmt check Co-Authored-By: bot_apk --- crates/audio-device/src/macos.rs | 16 ++++++---------- crates/audio-device/src/windows.rs | 8 ++++---- plugins/fs2/src/error.rs | 2 +- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/crates/audio-device/src/macos.rs b/crates/audio-device/src/macos.rs index af014c82ed..445ebb4945 100644 --- a/crates/audio-device/src/macos.rs +++ b/crates/audio-device/src/macos.rs @@ -59,7 +59,7 @@ impl MacOSBackend { .unwrap_or(TransportType::Unknown); let is_default = default_device_id - .map(|id| device.0 .0 == id) + .map(|id| device.0.0 == id) .unwrap_or(false); let mut audio_device = AudioDevice { @@ -102,11 +102,7 @@ impl MacOSBackend { }) }); - if detected { - Some(true) - } else { - None - } + if detected { Some(true) } else { None } } fn is_external_from_device(device: Option) -> bool { @@ -124,8 +120,8 @@ impl AudioDeviceBackend for MacOSBackend { let ca_devices = ca::System::devices().map_err(|e| Error::EnumerationFailed(format!("{:?}", e)))?; - let default_input_id = ca::System::default_input_device().ok().map(|d| d.0 .0); - let default_output_id = ca::System::default_output_device().ok().map(|d| d.0 .0); + let default_input_id = ca::System::default_input_device().ok().map(|d| d.0.0); + let default_output_id = ca::System::default_output_device().ok().map(|d| d.0.0); let mut devices = Vec::new(); @@ -165,7 +161,7 @@ impl AudioDeviceBackend for MacOSBackend { Ok(Self::create_audio_device( &ca_device, AudioDirection::Input, - Some(ca_device.0 .0), + Some(ca_device.0.0), )) } @@ -182,7 +178,7 @@ impl AudioDeviceBackend for MacOSBackend { Ok(Self::create_audio_device( &ca_device, AudioDirection::Output, - Some(ca_device.0 .0), + Some(ca_device.0.0), )) } diff --git a/crates/audio-device/src/windows.rs b/crates/audio-device/src/windows.rs index 74b6416b22..3d7b95fc08 100644 --- a/crates/audio-device/src/windows.rs +++ b/crates/audio-device/src/windows.rs @@ -1,17 +1,17 @@ use crate::{AudioDevice, AudioDeviceBackend, AudioDirection, DeviceId, Error, TransportType}; use std::ffi::OsString; use std::os::windows::ffi::OsStringExt; -use windows::core::{Interface, GUID, PCWSTR, PWSTR}; use windows::Win32::Devices::FunctionDiscovery::PKEY_Device_FriendlyName; use windows::Win32::Media::Audio::Endpoints::IAudioEndpointVolume; use windows::Win32::Media::Audio::{ - eAll, eCapture, eConsole, eRender, IMMDevice, IMMDeviceEnumerator, MMDeviceEnumerator, - DEVICE_STATE_ACTIVE, + DEVICE_STATE_ACTIVE, IMMDevice, IMMDeviceEnumerator, MMDeviceEnumerator, eAll, eCapture, + eConsole, eRender, }; use windows::Win32::System::Com::{ - CoCreateInstance, CoInitializeEx, CoUninitialize, CLSCTX_ALL, COINIT_MULTITHREADED, STGM_READ, + CLSCTX_ALL, COINIT_MULTITHREADED, CoCreateInstance, CoInitializeEx, CoUninitialize, STGM_READ, }; use windows::Win32::UI::Shell::PropertiesSystem::IPropertyStore; +use windows::core::{GUID, Interface, PCWSTR, PWSTR}; pub struct WindowsBackend; diff --git a/plugins/fs2/src/error.rs b/plugins/fs2/src/error.rs index 5e1995422e..546936d975 100644 --- a/plugins/fs2/src/error.rs +++ b/plugins/fs2/src/error.rs @@ -1,4 +1,4 @@ -use serde::{ser::Serializer, Serialize}; +use serde::{Serialize, ser::Serializer}; pub type Result = std::result::Result;