Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src-tauri/src/agent_update.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4649,10 +4649,10 @@ mod tests {
}

fn bob_settings(root: &Path) -> SettingsState {
Arc::new(tokio::sync::RwLock::new(AppSettings {
crate::config::settings::new_settings_state(AppSettings {
project_paths: vec![root.to_string_lossy().to_string()],
..AppSettings::default()
}))
})
}

// ---------------------------------------------------------------------
Expand Down Expand Up @@ -6444,7 +6444,7 @@ mod tests {
agent_auto_update_by_command: BTreeMap::from([("bob-1551-missing".to_string(), true)]),
..AppSettings::default()
};
let settings_state: SettingsState = Arc::new(tokio::sync::RwLock::new(settings));
let settings_state: SettingsState = crate::config::settings::new_settings_state(settings);
let broadcaster = WsBroadcaster::new();
let mut frames_rx = broadcaster.subscribe();
let cache = Arc::new(AgentInstallCache::new());
Expand Down Expand Up @@ -6548,7 +6548,7 @@ mod tests {
agent_auto_update_by_command: BTreeMap::from([("bob-1551-missing".to_string(), true)]),
..AppSettings::default()
};
let settings_state: SettingsState = Arc::new(tokio::sync::RwLock::new(settings));
let settings_state: SettingsState = crate::config::settings::new_settings_state(settings);
let broadcaster = WsBroadcaster::new();
let mut frames_rx = broadcaster.subscribe();
let cache = Arc::new(AgentInstallCache::new());
Expand Down
20 changes: 10 additions & 10 deletions src-tauri/src/commands/ac_discovery.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3637,7 +3637,7 @@ mod tests {
);

fn archive_command_app(settings: AppSettings) -> ArchiveCommandApp {
let settings_state: SettingsState = Arc::new(tokio::sync::RwLock::new(settings));
let settings_state: SettingsState = crate::config::settings::new_settings_state(settings);
let broadcaster = WsBroadcaster::new();
let receiver = broadcaster.subscribe();
let session_mgr = Arc::new(tokio::sync::RwLock::new(SessionManager::new()));
Expand Down Expand Up @@ -4733,7 +4733,7 @@ mod tests {
project_path: Some(a.clone()),
..Default::default()
};
let state: SettingsState = std::sync::Arc::new(tokio::sync::RwLock::new(settings));
let state: SettingsState = crate::config::settings::new_settings_state(settings);

let disk = || -> Vec<String> {
let value: serde_json::Value = serde_json::from_str(
Expand Down Expand Up @@ -4794,7 +4794,7 @@ mod tests {
let project = temp.path().join("project");
let project_text = project.to_string_lossy().to_string();
let state: SettingsState =
std::sync::Arc::new(tokio::sync::RwLock::new(AppSettings::default()));
crate::config::settings::new_settings_state(AppSettings::default());
let hooks = NewProjectTransactionHooks {
fail_settings_save: true,
..NewProjectTransactionHooks::default()
Expand Down Expand Up @@ -4830,7 +4830,7 @@ mod tests {
let project = temp.path().join("project");
let project_text = project.to_string_lossy().to_string();
let state: SettingsState =
std::sync::Arc::new(tokio::sync::RwLock::new(AppSettings::default()));
crate::config::settings::new_settings_state(AppSettings::default());
let hooks = NewProjectTransactionHooks {
before_final_revalidation: Some(std::sync::Arc::new(|ac_root| {
let detached = ac_root.with_extension("ac-detached-after-save");
Expand Down Expand Up @@ -4876,7 +4876,7 @@ mod tests {
let project = temp.path().join("project");
let project_text = project.to_string_lossy().to_string();
let state: SettingsState =
std::sync::Arc::new(tokio::sync::RwLock::new(AppSettings::default()));
crate::config::settings::new_settings_state(AppSettings::default());
let hooks = NewProjectTransactionHooks {
before_final_revalidation: Some(std::sync::Arc::new(|ac_root| {
let lock = ac_root.join(crate::config::seed_manifest::SEED_MANIFEST_LOCK_FILENAME);
Expand Down Expand Up @@ -4928,7 +4928,7 @@ mod tests {
project_path: Some(x.clone()),
..Default::default()
};
let state: SettingsState = std::sync::Arc::new(tokio::sync::RwLock::new(settings));
let state: SettingsState = crate::config::settings::new_settings_state(settings);

let err = open_project_inner_with_settings_path(&state, &y, Some(&settings_path))
.await
Expand Down Expand Up @@ -6937,7 +6937,7 @@ mod tests {
)
.expect("write replica config");
}
let settings: SettingsState = Arc::new(tokio::sync::RwLock::new(AppSettings {
let settings: SettingsState = crate::config::settings::new_settings_state(AppSettings {
agents: vec![crate::config::settings::AgentConfig {
preflight: None,
preflight_timeout_seconds: None,
Expand All @@ -6957,7 +6957,7 @@ mod tests {
}],
project_paths: vec![project.to_string_lossy().to_string()],
..AppSettings::default()
}));
});
let session_mgr = Arc::new(tokio::sync::RwLock::new(SessionManager::new()));
let clocks: crate::config::coordinator_clocks::CoordinatorClocksState = Arc::new(
std::sync::Mutex::new(crate::config::coordinator_clocks::CoordinatorClocks::default()),
Expand Down Expand Up @@ -7603,10 +7603,10 @@ mod snapshot_refresh_tests {
let dir = tempfile::tempdir().unwrap();
let root = dir.path().join(".ac/room-1");
std::fs::create_dir_all(&root).unwrap();
let settings = Arc::new(tokio::sync::RwLock::new(AppSettings {
let settings = crate::config::settings::new_settings_state(AppSettings {
project_paths: vec![dir.path().to_string_lossy().into_owned()],
..Default::default()
}));
});
(
dir,
root,
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/src/commands/co_managed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ mod tests {
..AppSettings::default()
};
tauri::test::mock_builder()
.manage(std::sync::Arc::new(tokio::sync::RwLock::new(settings)))
.manage(crate::config::settings::new_settings_state(settings))
.build(tauri::test::mock_context(tauri::test::noop_assets()))
.expect("build co-managed test app")
}
Expand Down
8 changes: 6 additions & 2 deletions src-tauri/src/commands/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4895,7 +4895,11 @@ mod tests {
.map(String::as_str),
Some("physical-home")
);
(temp, path, Arc::new(RwLock::new(written)))
(
temp,
path,
crate::config::settings::new_settings_state(written),
)
}

fn hash_activation_assert_written(
Expand Down Expand Up @@ -5166,7 +5170,7 @@ mod tests {
}

fn state_for(settings: AppSettings) -> SettingsState {
Arc::new(RwLock::new(settings))
crate::config::settings::new_settings_state(settings)
}

#[tokio::test]
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/src/commands/entity_creation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5744,7 +5744,7 @@ mod tests {
}

fn settings_state(settings: AppSettings) -> SettingsState {
Arc::new(tokio::sync::RwLock::new(settings))
crate::config::settings::new_settings_state(settings)
}

fn profile_cell(command: &str) -> crate::config::settings::ProfileCellConfig {
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/src/commands/pty.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1363,7 +1363,7 @@ mod watcher_preview_tests {
}

fn settings_app(settings: AppSettings) -> tauri::App<tauri::test::MockRuntime> {
let state: SettingsState = Arc::new(tokio::sync::RwLock::new(settings));
let state: SettingsState = crate::config::settings::new_settings_state(settings);
tauri::test::mock_builder()
.manage(state)
.build(tauri::test::mock_context(tauri::test::noop_assets()))
Expand Down
6 changes: 3 additions & 3 deletions src-tauri/src/commands/session.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8059,7 +8059,7 @@ mod tests {
store_dir.path().to_path_buf(),
);
let mut builder = tauri::test::mock_builder()
.manage(Arc::new(tokio::sync::RwLock::new(settings)))
.manage(crate::config::settings::new_settings_state(settings))
.manage(Arc::new(
crate::resource_monitor::ResourceMonitorState::new(),
))
Expand Down Expand Up @@ -16731,7 +16731,7 @@ pub(crate) mod reader_demand_tests {
.to_string_lossy()
.into_owned()];
let app = tauri::test::mock_builder()
.manage(Arc::new(tokio::sync::RwLock::new(settings)))
.manage(crate::config::settings::new_settings_state(settings))
.manage(Arc::clone(&manager))
.manage(bridge_state)
.manage(OutboundNetwork::new_for_tests(1))
Expand Down Expand Up @@ -18909,7 +18909,7 @@ pub(crate) mod co_managed_tests {
manager: Arc<tokio::sync::RwLock<SessionManager>>,
) -> tauri::App<tauri::test::MockRuntime> {
tauri::test::mock_builder()
.manage(Arc::new(tokio::sync::RwLock::new(settings)))
.manage(crate::config::settings::new_settings_state(settings))
.manage(manager)
.build(tauri::test::mock_context(tauri::test::noop_assets()))
.expect("build co-managed session test app")
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/src/commands/window.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1518,7 +1518,7 @@ mod tests {
}

fn placement_state(settings: AppSettings) -> SettingsState {
Arc::new(tokio::sync::RwLock::new(settings))
crate::config::settings::new_settings_state(settings)
}

fn write_placement_base(path: &std::path::Path, placement: serde_json::Value) {
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/src/config/sessions_persistence.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4432,7 +4432,7 @@ mod tests {
..AppSettings::default()
};
let state: crate::config::settings::SettingsState =
Arc::new(tokio::sync::RwLock::new(settings.clone()));
crate::config::settings::new_settings_state(settings.clone());
let app = tauri::test::mock_builder()
.manage(state)
.build(tauri::test::mock_context(tauri::test::noop_assets()))
Expand Down
9 changes: 7 additions & 2 deletions src-tauri/src/config/settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14658,6 +14658,10 @@ fn save_settings_to_path(settings: &AppSettings, path: &Path) -> Result<(), Sett

pub type SettingsState = Arc<RwLock<AppSettings>>;

pub fn new_settings_state(settings: AppSettings) -> SettingsState {
Arc::new(RwLock::new(settings))
}

#[cfg(test)]
mod tests {
// Each logger scenario runs in its own process. No test installs or changes
Expand Down Expand Up @@ -19235,7 +19239,8 @@ mod tests {
let temp = tempfile::tempdir().unwrap();
let path = seed(temp.path(), Some(&base_fixture()), None);
let original = load_settings_from_path(&path);
let state: SettingsState = Arc::new(RwLock::new(original.clone()));
let state: SettingsState =
crate::config::settings::new_settings_state(original.clone());
let before = disk_bytes(temp.path());
for seconds in [0, 3601, 999999] {
let mut invalid = original.clone();
Expand Down Expand Up @@ -20019,7 +20024,7 @@ mod tests {
let original = AppSettings::default();
assert_eq!(original.typing_hold_seconds, 30);
let state: super::SettingsState =
std::sync::Arc::new(tokio::sync::RwLock::new(original.clone()));
crate::config::settings::new_settings_state(original.clone());

let mut invalid = original;
invalid.typing_hold_seconds = 0;
Expand Down
11 changes: 6 additions & 5 deletions src-tauri/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4438,7 +4438,7 @@ pub fn run(
// (#621) Snapshot registered project paths for the startup orphan-clock prune
// below (taken before the value is moved into the RwLock).
let startup_project_paths = loaded_settings.project_paths.clone();
let settings: SettingsState = Arc::new(tokio::sync::RwLock::new(loaded_settings));
let settings: SettingsState = crate::config::settings::new_settings_state(loaded_settings);
// #552 persisted coordinator badge clock + auto-closed marker store (loaded
// once at startup; flushed by the auto-close tick and on app exit).
let coordinator_clocks: crate::config::coordinator_clocks::CoordinatorClocksState =
Expand Down Expand Up @@ -8592,7 +8592,7 @@ mod tests {

fn resolved(settings: AppSettings) -> std::collections::HashMap<String, String> {
let source = ScraperPatterns {
settings: std::sync::Arc::new(tokio::sync::RwLock::new(settings)) as SettingsState,
settings: crate::config::settings::new_settings_state(settings) as SettingsState,
};
futures::executor::block_on(source.patterns())
}
Expand Down Expand Up @@ -9122,7 +9122,8 @@ mod tests {
let session_mgr = Arc::new(tokio::sync::RwLock::new(
crate::session::manager::SessionManager::new(),
));
let settings: SettingsState = Arc::new(tokio::sync::RwLock::new(AppSettings::default()));
let settings: SettingsState =
crate::config::settings::new_settings_state(AppSettings::default());
let app = crate::test_support::test_builder()
.manage(Arc::clone(&settings))
.build(tauri::test::mock_context(tauri::test::noop_assets()))
Expand Down Expand Up @@ -9736,7 +9737,7 @@ mod tests {
let registry = Arc::new(CaptureRegistry::new());
let idle_detector = crate::pty::idle_detector::IdleDetector::new(|_| {}, |_| {});
let app = tauri::test::mock_builder()
.manage(Arc::new(tokio::sync::RwLock::new(settings)))
.manage(crate::config::settings::new_settings_state(settings))
.manage(session_manager.clone())
.manage(crate::network::OutboundNetwork::new().expect("shared outbound network"))
.manage(registry.clone())
Expand Down Expand Up @@ -12520,7 +12521,7 @@ mod tests {
));
let idle_detector = crate::pty::idle_detector::IdleDetector::new(|_| {}, |_| {});
let app = tauri::test::mock_builder()
.manage(Arc::new(tokio::sync::RwLock::new(settings)))
.manage(crate::config::settings::new_settings_state(settings))
.manage(manager.clone())
.manage(crate::network::OutboundNetwork::new().expect("shared outbound network"))
.manage(registry.clone())
Expand Down
6 changes: 4 additions & 2 deletions src-tauri/src/loops/delivery.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1600,7 +1600,9 @@ mod tests {
crate::test_support::test_builder()
.manage(Arc::clone(&session_mgr))
.manage(pty_mgr)
.manage(Arc::new(tokio::sync::RwLock::new(AppSettings::default())))
.manage(crate::config::settings::new_settings_state(
AppSettings::default(),
))
.manage(coordinator)
.build(tauri::test::mock_context(tauri::test::noop_assets()))
.expect("build loop delivery app")
Expand Down Expand Up @@ -1639,7 +1641,7 @@ mod tests {
);
let pty_mgr = Arc::new(Mutex::new(PtyManager::new_for_test(backend)));
let app = crate::test_support::test_builder()
.manage(Arc::new(tokio::sync::RwLock::new(settings)))
.manage(crate::config::settings::new_settings_state(settings))
.manage(Arc::new(
crate::resource_monitor::ResourceMonitorState::new(),
))
Expand Down
4 changes: 2 additions & 2 deletions src-tauri/src/phone/mailbox.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15319,7 +15319,7 @@ mod tests {
.to_string_lossy()
.to_string(),
))
.manage(Arc::new(tokio::sync::RwLock::new(settings)))
.manage(crate::config::settings::new_settings_state(settings))
.manage(session_mgr.clone())
.manage(pty_mgr) // #885 E-3: real PtyManager for pty_live probes
.manage(Arc::new(tokio::sync::Mutex::new(
Expand Down Expand Up @@ -30183,7 +30183,7 @@ mod tests {
.to_string_lossy()
.to_string(),
))
.manage(Arc::new(tokio::sync::RwLock::new(settings)))
.manage(crate::config::settings::new_settings_state(settings))
.manage(session_mgr.clone())
.manage(pty_mgr)
.manage(telegram)
Expand Down
14 changes: 8 additions & 6 deletions src-tauri/src/pty/inject.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1540,9 +1540,10 @@ mod tests {
pty.lock()
.unwrap()
.record_route(id, SessionBackendKind::LocalProcess);
let settings_state: crate::config::settings::SettingsState = Arc::new(
tokio::sync::RwLock::new(crate::config::settings::AppSettings::default()),
);
let settings_state: crate::config::settings::SettingsState =
crate::config::settings::new_settings_state(
crate::config::settings::AppSettings::default(),
);
let app = tauri::test::mock_builder()
.manage(session_manager)
.manage(pty)
Expand Down Expand Up @@ -1582,9 +1583,10 @@ mod tests {
pty.lock()
.unwrap()
.record_route(id, SessionBackendKind::LocalProcess);
let settings_state: crate::config::settings::SettingsState = Arc::new(
tokio::sync::RwLock::new(crate::config::settings::AppSettings::default()),
);
let settings_state: crate::config::settings::SettingsState =
crate::config::settings::new_settings_state(
crate::config::settings::AppSettings::default(),
);
let app = tauri::test::mock_builder()
.manage(session_manager)
.manage(pty)
Expand Down
10 changes: 6 additions & 4 deletions src-tauri/src/pty/remote_watcher.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2838,7 +2838,7 @@ mod tests {
Arc::new(move || *publication_value.lock().unwrap_or_else(|e| e.into_inner()))
};

let settings: SettingsState = Arc::new(tokio::sync::RwLock::new(settings));
let settings: SettingsState = crate::config::settings::new_settings_state(settings);
let sessions = Arc::new(tokio::sync::RwLock::new(SessionManager::new()));
let (sweeper, transitions) = RemoteSweeper::with_capacity(
sessions,
Expand Down Expand Up @@ -5383,7 +5383,8 @@ mod tests {
};
let local_git: LocalGitRunner =
Arc::new(|_path, _args| Box::pin(async { Err("unused".to_string()) }));
let settings: SettingsState = Arc::new(tokio::sync::RwLock::new(AppSettings::default()));
let settings: SettingsState =
crate::config::settings::new_settings_state(AppSettings::default());
let sessions = Arc::new(tokio::sync::RwLock::new(SessionManager::new()));
let (sweeper, _receiver) = RemoteSweeper::new(
sessions,
Expand Down Expand Up @@ -5428,7 +5429,8 @@ mod tests {
};
let local_git: LocalGitRunner =
Arc::new(|_path, _args| Box::pin(async { Err("unused".to_string()) }));
let settings: SettingsState = Arc::new(tokio::sync::RwLock::new(AppSettings::default()));
let settings: SettingsState =
crate::config::settings::new_settings_state(AppSettings::default());
let sessions = Arc::new(tokio::sync::RwLock::new(SessionManager::new()));
let (sweeper, _receiver) = RemoteSweeper::new(
sessions,
Expand Down Expand Up @@ -5490,7 +5492,7 @@ mod tests {
branch_staleness_enabled: false,
..AppSettings::default()
};
let settings: SettingsState = Arc::new(tokio::sync::RwLock::new(settings));
let settings: SettingsState = crate::config::settings::new_settings_state(settings);
let sessions = Arc::new(tokio::sync::RwLock::new(SessionManager::new()));
let (sweeper, _receiver) = RemoteSweeper::new(
sessions,
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/src/pty/terminal_snapshot/acceptance_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ impl AcceptanceFixture {
..Default::default()
};
let settings: crate::config::settings::SettingsState =
Arc::new(tokio::sync::RwLock::new(app_settings));
crate::config::settings::new_settings_state(app_settings);

let manager = SessionManager::new();
let host_coordinator = create_session(
Expand Down
Loading
Loading