MCPcopy Index your code
hub / github.com/ChrisFeldmeier/OpenCodeRust / promote_optimistic_session

Method promote_optimistic_session

crates/opencode-tui/src/app/app.rs:2948–2983  ·  view source on GitHub ↗
(&mut self, optimistic_session_id: &str, session: &SessionInfo)

Source from the content-addressed store, hash-verified

2946 }
2947
2948 fn promote_optimistic_session(&mut self, optimistic_session_id: &str, session: &SessionInfo) {
2949 let mut session_ctx = self.context.session.write();
2950 let optimistic_messages = session_ctx
2951 .messages
2952 .remove(optimistic_session_id)
2953 .unwrap_or_default();
2954 let optimistic_status = session_ctx.session_status.remove(optimistic_session_id);
2955 let optimistic_diff = session_ctx.session_diff.remove(optimistic_session_id);
2956 let optimistic_todos = session_ctx.todos.remove(optimistic_session_id);
2957 let optimistic_revert = session_ctx.revert.remove(optimistic_session_id);
2958 session_ctx.sessions.remove(optimistic_session_id);
2959
2960 let real_session_id = session.id.clone();
2961 session_ctx.upsert_session(map_api_session(session));
2962 if !optimistic_messages.is_empty() {
2963 session_ctx
2964 .messages
2965 .insert(real_session_id.clone(), optimistic_messages);
2966 }
2967 if let Some(status) = optimistic_status {
2968 session_ctx
2969 .session_status
2970 .insert(real_session_id.clone(), status);
2971 }
2972 if let Some(diff) = optimistic_diff {
2973 session_ctx
2974 .session_diff
2975 .insert(real_session_id.clone(), diff);
2976 }
2977 if let Some(todos) = optimistic_todos {
2978 session_ctx.todos.insert(real_session_id.clone(), todos);
2979 }
2980 if let Some(revert) = optimistic_revert {
2981 session_ctx.revert.insert(real_session_id, revert);
2982 }
2983 }
2984
2985 fn append_optimistic_user_message(
2986 &mut self,

Callers 2

submit_promptMethod · 0.80
submit_shell_commandMethod · 0.80

Calls 5

map_api_sessionFunction · 0.85
upsert_sessionMethod · 0.80
is_emptyMethod · 0.80
removeMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected