mirror of
https://github.com/openai/codex.git
synced 2026-11-05 16:29:31 +00:00
Allow naming sessions with /new and /clear (#34605)
## What changed - Accept an optional session name after `/new` or `/clear`. - Set the requested name through the app server when starting the new thread and update the attached session with that name. - Report naming failures in the chat while still attaching the newly created thread. ## Testing - Cover named `/new` and `/clear` dispatch, app-server name persistence, and the existing unnamed `/clear` behavior. GitOrigin-RevId: 570886abb4af522123f0693ce05d2415e1c0d902
This commit is contained in:
1 parent
2497972808
commit
25d2dfcad0
8 files changed
+149
-21
No files matched your search
@@ -2104,7 +2104,39 @@ async fn slash_clear_requests_ui_clear_when_idle() {
|
||||
|
||||
chat.dispatch_command(SlashCommand::Clear);
|
||||
|
||||
assert_matches!(rx.try_recv(), Ok(AppEvent::ClearUi));
|
||||
assert_matches!(rx.try_recv(), Ok(AppEvent::ClearUi { name: None }));
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn slash_new_with_name_requests_named_session() {
|
||||
let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await;
|
||||
chat.bottom_pane
|
||||
.set_composer_text("/new Add User ".to_string(), Vec::new(), Vec::new());
|
||||
|
||||
chat.handle_key_event(KeyEvent::new(KeyCode::Enter, KeyModifiers::NONE));
|
||||
|
||||
assert_matches!(
|
||||
rx.try_recv(),
|
||||
Ok(AppEvent::NewSession {
|
||||
name: Some(name)
|
||||
}) if name == "Add User"
|
||||
);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn slash_clear_with_name_requests_named_session() {
|
||||
let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await;
|
||||
chat.bottom_pane
|
||||
.set_composer_text("/clear Add User ".to_string(), Vec::new(), Vec::new());
|
||||
|
||||
chat.handle_key_event(KeyEvent::new(KeyCode::Enter, KeyModifiers::NONE));
|
||||
|
||||
assert_matches!(
|
||||
rx.try_recv(),
|
||||
Ok(AppEvent::ClearUi {
|
||||
name: Some(name)
|
||||
}) if name == "Add User"
|
||||
);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
@@ -2130,7 +2162,7 @@ async fn slash_clear_after_ctrl_c_keeps_stashed_draft_recallable() {
|
||||
.set_composer_text("/clear".to_string(), Vec::new(), Vec::new());
|
||||
chat.handle_key_event(KeyEvent::new(KeyCode::Enter, KeyModifiers::NONE));
|
||||
|
||||
assert_matches!(rx.try_recv(), Ok(AppEvent::ClearUi));
|
||||
assert_matches!(rx.try_recv(), Ok(AppEvent::ClearUi { name: None }));
|
||||
chat.handle_key_event(KeyEvent::new(KeyCode::Up, KeyModifiers::NONE));
|
||||
assert_eq!(chat.bottom_pane.composer_text(), stashed_draft);
|
||||
|
||||
|
||||
Reference in new issue
Block a user