MCPcopy Create free account
hub / github.com/GCWing/BitFun / terminal_close

Function terminal_close

src/apps/desktop/src/api/terminal_api.rs:518–550  ·  view source on GitHub ↗
(
    request: CloseSessionRequest,
    state: State<'_, TerminalState>,
)

Source from the content-addressed store, hash-verified

516
517#[tauri::command]
518pub async fn terminal_close(
519 request: CloseSessionRequest,
520 state: State<'_, TerminalState>,
521) -> Result<(), String> {
522 if is_remote_session(&request.session_id).await {
523 if let Some(remote_manager) = get_remote_workspace_manager() {
524 let terminal_manager = remote_manager
525 .get_terminal_manager()
526 .await
527 .ok_or("Remote terminal manager not available")?;
528
529 terminal_manager
530 .close_session(&request.session_id)
531 .await
532 .map_err(|e| format!("Failed to close session: {}", e))?;
533
534 return Ok(());
535 }
536 }
537
538 let api = state.get_or_init_api().await?;
539
540 let core_request = CoreCloseSessionRequest {
541 session_id: request.session_id.clone(),
542 immediate: request.immediate,
543 };
544
545 api.close_session(core_request)
546 .await
547 .map_err(|e| format!("Failed to close session: {}", e))?;
548
549 Ok(())
550}
551
552#[tauri::command]
553pub async fn terminal_write(

Callers

nothing calls this directly

Calls 6

is_remote_sessionFunction · 0.85
get_terminal_managerMethod · 0.80
get_or_init_apiMethod · 0.80
close_sessionMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected