Merged 10 upstream commits (MemTable, read-your-writes tests, feed endpoint, security hardening, signed assertions, source registry, dashboard enhancements) and fixed all test failures across the full workspace (2656/2656 passing). Key fixes: - fix(cluster): DashMap deadlock in swim.rs suspect_node/fail_node/alive_node - DashMap::get_mut RefMut + iter() on same map = non-reentrant write lock deadlock - Fix: extract clone in scoped block to drop RefMut before calling update_node_gauges() - 6 previously-hanging SWIM tests now pass in <2s - fix(sim): replace background-task+polling ingestion with synchronous process_pending() - smoke_high_volume_simulation was CPU-starved under 2656 parallel tests - Removed ingestor.start() + wait_until_ingested() pattern throughout sim - All arena functions now call ingestor.process_pending() directly (deterministic) - fix(test): v2 signature helper used wrong hash (rkyv vs canonical compute_content_hash_v2) - fix(test): quota test signed "test" but v1 requires "subject:predicate" format - fix(test): http_validation now accepts 400 for valid-format-but-invalid-crypto hex - fix(test): scale_adaptive micro tier assertions updated (auto_promote upstream change) - config: add nextest.toml with slow-timeout for background-task-tests group Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
45 lines
1.4 KiB
Rust
45 lines
1.4 KiB
Rust
//! Disputed - Your knowledge graph, always listening.
|
|
|
|
mod commands;
|
|
mod llm;
|
|
mod types;
|
|
mod stemedb;
|
|
|
|
use commands::{
|
|
check_claims, extract_claims, get_claim_count, get_settings, save_claims, test_llm_connection,
|
|
update_settings, SettingsState,
|
|
};
|
|
use std::sync::Mutex;
|
|
use types::Settings;
|
|
|
|
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
|
pub fn run() {
|
|
tauri::Builder::default()
|
|
.manage(SettingsState(Mutex::new(Settings::default())))
|
|
.plugin(
|
|
tauri_plugin_log::Builder::new()
|
|
.target(tauri_plugin_log::Target::new(tauri_plugin_log::TargetKind::LogDir {
|
|
file_name: None,
|
|
}))
|
|
.build(),
|
|
)
|
|
.plugin(tauri_plugin_shell::init())
|
|
.plugin(tauri_plugin_os::init())
|
|
.plugin(tauri_plugin_notification::init())
|
|
.plugin(tauri_plugin_clipboard_manager::init())
|
|
.plugin(tauri_plugin_global_shortcut::Builder::new().build())
|
|
.invoke_handler(tauri::generate_handler![
|
|
extract_claims,
|
|
check_claims,
|
|
save_claims,
|
|
get_claim_count,
|
|
get_settings,
|
|
update_settings,
|
|
test_llm_connection,
|
|
])
|
|
.run(tauri::generate_context!())
|
|
.unwrap_or_else(|e| {
|
|
eprintln!("Failed to start Tauri application: {e}");
|
|
std::process::exit(1);
|
|
});
|
|
} |