Skip to content
Open
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
3 changes: 1 addition & 2 deletions crates/cli/src/update.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,7 @@ pub fn run_update(beta: bool, check_only: bool, proxy_arg: Option<String>) -> Re
if let UpdateReleaseSource::Mirror { base_url } = &fetched.source {
if channel == ReleaseChannel::Beta {
println!(
"Using release mirror {}; --beta does not select GitHub beta releases in mirror mode.",
base_url
"Using release mirror {base_url}; --beta does not select GitHub beta releases in mirror mode."
);
}
} else if !update_is_needed(channel, current_version, latest_tag)? {
Expand Down
5 changes: 2 additions & 3 deletions crates/tui/src/commands/groups/config/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1087,8 +1087,7 @@ pub fn set_config_value(app: &mut App, key: &str, value: &str, persist: bool) ->
&& !(MIN_STREAM_CHUNK_TIMEOUT_SECS..=MAX_STREAM_CHUNK_TIMEOUT_SECS).contains(&raw)
{
return CommandResult::error(format!(
"stream_chunk_timeout_secs must be 0 or {}..={}",
MIN_STREAM_CHUNK_TIMEOUT_SECS, MAX_STREAM_CHUNK_TIMEOUT_SECS
"stream_chunk_timeout_secs must be 0 or {MIN_STREAM_CHUNK_TIMEOUT_SECS}..={MAX_STREAM_CHUNK_TIMEOUT_SECS}"
));
}
let resolved = if raw == 0 {
Expand Down Expand Up @@ -2504,7 +2503,7 @@ heartbeat_timeout_secs = 1
)
);
assert!(saved.contains("[providers.xiaomi_mimo]"));
assert!(saved.contains(&format!("base_url = \"{}\"", DEFAULT_XIAOMI_MIMO_BASE_URL)));
assert!(saved.contains(&format!("base_url = \"{DEFAULT_XIAOMI_MIMO_BASE_URL}\"")));
}

#[test]
Expand Down
2 changes: 1 addition & 1 deletion crates/tui/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6273,7 +6273,7 @@ pub fn clear_active_provider_api_key(provider: &str) -> Result<()> {

let existing = fs::read_to_string(&config_path)?;
let mut result = String::new();
let target_section = format!("[providers.{}]", provider);
let target_section = format!("[providers.{provider}]");
let mut in_target_section = false;

for line in existing.lines() {
Expand Down
4 changes: 2 additions & 2 deletions crates/tui/src/fleet/ledger.rs
Original file line number Diff line number Diff line change
Expand Up @@ -439,11 +439,11 @@ impl FleetLedger {
}

fn task_key(run_id: &str, task_id: &str) -> String {
format!("{}:{}", run_id, task_id)
format!("{run_id}:{task_id}")
}

fn event_key(worker_id: &str, run_id: &str, task_id: &str) -> String {
format!("{}:{}:{}", worker_id, run_id, task_id)
format!("{worker_id}:{run_id}:{task_id}")
}

fn compact_event_key(event: &FleetWorkerEvent) -> String {
Expand Down
6 changes: 3 additions & 3 deletions crates/tui/src/oauth.rs
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ mod tests {
fn jwt_expiry_parses_valid_token() {
// A minimal JWT with {"exp": 9999999999} as payload.
let payload = URL_SAFE_NO_PAD.encode(b"{\"exp\":9999999999}");
let token = format!("header.{}.signature", payload);
let token = format!("header.{payload}.signature");
assert_eq!(jwt_expiry_seconds(&token), Some(9999999999));
}

Expand All @@ -345,15 +345,15 @@ mod tests {
fn token_is_expired_detects_future() {
// Far future — should not be expired.
let payload = URL_SAFE_NO_PAD.encode(b"{\"exp\":9999999999}");
let token = format!("header.{}.sig", payload);
let token = format!("header.{payload}.sig");
assert!(!token_is_expired(&token));
}

#[test]
fn token_is_expired_detects_past() {
// Way in the past.
let payload = URL_SAFE_NO_PAD.encode(b"{\"exp\":1000000000}");
let token = format!("header.{}.sig", payload);
let token = format!("header.{payload}.sig");
assert!(token_is_expired(&token));
}

Expand Down
2 changes: 1 addition & 1 deletion crates/tui/src/prompts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -791,7 +791,7 @@ fn apply_model_template(
if window == 1_000_000 {
"one-million".to_string()
} else {
format!("{}", window)
format!("{window}")
}
)
} else {
Expand Down
4 changes: 2 additions & 2 deletions crates/tui/src/tools/git.rs
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ mod tests {
fn init_git_repo(root: &Path) {
let run = |args: &[&str]| {
let status = crate::dependencies::Git::status(args, root).expect("git should spawn");
assert!(status.success(), "git {:?} failed", args);
assert!(status.success(), "git {args:?} failed");
};

run(&["init", "-q"]);
Expand All @@ -341,7 +341,7 @@ mod tests {
fn commit_all(root: &Path, message: &str) {
let run = |args: &[&str]| {
let status = crate::dependencies::Git::status(args, root).expect("git should spawn");
assert!(status.success(), "git {:?} failed", args);
assert!(status.success(), "git {args:?} failed");
};
run(&["add", "."]);
run(&["commit", "-q", "-m", message]);
Expand Down
2 changes: 1 addition & 1 deletion crates/tui/src/tools/git_history.rs
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ mod tests {

fn run_git(root: &Path, args: &[&str]) {
let status = crate::dependencies::Git::status(args, root).expect("git should spawn");
assert!(status.success(), "git {:?} failed", args);
assert!(status.success(), "git {args:?} failed");
}

fn init_git_repo(root: &Path) {
Expand Down
4 changes: 1 addition & 3 deletions crates/tui/src/tools/subagent/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6556,12 +6556,10 @@ fn stamp_subagent_summary(raw: &str) -> (String, bool) {
.saturating_sub(SUBAGENT_SUMMARY_HEAD_CHARS)
.saturating_sub(SUBAGENT_SUMMARY_TAIL_CHARS);
let stamped = format!(
"{head}\n\n[Sub-agent summary truncated: {head_chars} + {tail_chars} of {total} \
"{head}\n\n[Sub-agent summary truncated: {SUBAGENT_SUMMARY_HEAD_CHARS} + {SUBAGENT_SUMMARY_TAIL_CHARS} of {total} \
chars shown. This is the child's self-report; the elided middle ({omitted} chars) is not in \
the spillover store and cannot be retrieved via retrieve_tool_result. Re-open the child or \
read changed files directly to verify material claims.]\n\n{tail}",
head_chars = SUBAGENT_SUMMARY_HEAD_CHARS,
tail_chars = SUBAGENT_SUMMARY_TAIL_CHARS,
);
(stamped, true)
}
Expand Down
25 changes: 11 additions & 14 deletions crates/tui/src/tui/tab/benches.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,7 @@ mod benches {
} else {
0
};
eprintln!(
"[bench] {:50} total={:>8.2?} ops={:>6} per_op={:>7} ns",
label, dur, ops, per_op_ns
);
eprintln!("[bench] {label:50} total={dur:>8.2?} ops={ops:>6} per_op={per_op_ns:>7} ns");
}

#[test]
Expand All @@ -44,7 +41,7 @@ mod benches {
let mut manager = TabManager::new();
for i in 0..9 {
manager
.create_tab(format!("Bench Tab {}", i), TabType::Chat)
.create_tab(format!("Bench Tab {i}"), TabType::Chat)
.expect("create_tab should succeed");
}
report("create 9 tabs", start.elapsed(), 9);
Expand All @@ -55,7 +52,7 @@ mod benches {
let mut manager = TabManager::new();
for i in 0..9 {
manager
.create_tab(format!("Tab {}", i), TabType::Chat)
.create_tab(format!("Tab {i}"), TabType::Chat)
.expect("create_tab");
}
let start = Instant::now();
Expand All @@ -77,7 +74,7 @@ mod benches {

let start = Instant::now();
for i in 0..1000 {
manager.delegate_task(from, to, format!("Task {}", i), Priority::Normal);
manager.delegate_task(from, to, format!("Task {i}"), Priority::Normal);
}
report("1000 delegations", start.elapsed(), 1000);
}
Expand All @@ -96,7 +93,7 @@ mod benches {
Priority::Urgent,
];
for i in 0..100 {
manager.delegate_task(from, to, format!("Task {}", i), priorities[i % 4]);
manager.delegate_task(from, to, format!("Task {i}"), priorities[i % 4]);
}

let start = Instant::now();
Expand All @@ -105,7 +102,7 @@ mod benches {
count += 1;
}
report(
&format!("drain {} priority-sorted tasks", count),
&format!("drain {count} priority-sorted tasks"),
start.elapsed(),
count,
);
Expand All @@ -116,15 +113,15 @@ mod benches {
let mut manager = TabManager::new();
for i in 0..9 {
manager
.create_tab(format!("Tab {}", i), TabType::Chat)
.create_tab(format!("Tab {i}"), TabType::Chat)
.expect("create");
}

// Add some delegations
let from = manager.active_id().unwrap();
let to = manager.all_tabs()[1].id;
for i in 0..20 {
manager.delegate_task(from, to, format!("Task {}", i), Priority::Normal);
manager.delegate_task(from, to, format!("Task {i}"), Priority::Normal);
}

let start = Instant::now();
Expand Down Expand Up @@ -153,7 +150,7 @@ mod benches {
let mut manager = TabManager::new();
for i in 0..9 {
manager
.create_tab(format!("Tab {}", i), TabType::Chat)
.create_tab(format!("Tab {i}"), TabType::Chat)
.expect("create");
}
let tabs: Vec<TabId> = manager.all_tabs().iter().map(|t| t.id).collect();
Expand Down Expand Up @@ -194,7 +191,7 @@ mod benches {
let mut manager = TabManager::new();
for i in 0..9 {
manager
.create_tab(format!("Tab {}", i), TabType::Chat)
.create_tab(format!("Tab {i}"), TabType::Chat)
.expect("create");
}

Expand All @@ -209,7 +206,7 @@ mod benches {
count += 1;
}
report(
&format!("iterate {} tabs at width {}", count, width),
&format!("iterate {count} tabs at width {width}"),
start.elapsed(),
count,
);
Expand Down
10 changes: 5 additions & 5 deletions crates/tui/src/tui/tab/delegator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,7 @@ impl TaskDelegator {
fn generate_task_id(&mut self) -> String {
let id = self.next_id;
self.next_id += 1;
format!("delegation_{}", id)
format!("delegation_{id}")
}

pub(crate) fn advance_next_id_past_existing_tasks(&mut self) {
Expand Down Expand Up @@ -508,9 +508,9 @@ mod tests {
// Create and complete 1000 tasks (more than MAX_COMPLETED_RESULTS=256)
for i in 0..1000 {
let task_id = delegator
.create_delegation(from, to, format!("Task {}", i), Priority::Normal)
.create_delegation(from, to, format!("Task {i}"), Priority::Normal)
.unwrap();
delegator.complete(&task_id, format!("Result {}", i));
delegator.complete(&task_id, format!("Result {i}"));
}

// Should be bounded at MAX_COMPLETED_RESULTS
Expand All @@ -531,9 +531,9 @@ mod tests {
// Complete many tasks
for i in 0..100 {
let task_id = delegator
.create_delegation(from, to, format!("Task {}", i), Priority::Normal)
.create_delegation(from, to, format!("Task {i}"), Priority::Normal)
.unwrap();
delegator.complete(&task_id, format!("Result {}", i));
delegator.complete(&task_id, format!("Result {i}"));
}

assert_eq!(delegator.results_for_tab(to).len(), 100);
Expand Down
2 changes: 1 addition & 1 deletion crates/tui/src/tui/tab/group.rs
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ impl TabGroupManager {
fn generate_group_id(&mut self) -> String {
let id = self.next_id;
self.next_id += 1;
format!("group_{}", id)
format!("group_{id}")
}

pub(crate) fn advance_next_id_past_existing_groups(&mut self) {
Expand Down
8 changes: 4 additions & 4 deletions crates/tui/src/tui/tab/key_e2e.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ mod tests {
let mut manager = TabManager::new();
for i in 1..=5 {
manager
.create_tab(format!("Tab {}", i), TabType::Chat)
.create_tab(format!("Tab {i}"), TabType::Chat)
.expect("create");
}

Expand All @@ -112,7 +112,7 @@ mod tests {
let mut manager = TabManager::new();
for i in 1..=3 {
manager
.create_tab(format!("Tab {}", i), TabType::Chat)
.create_tab(format!("Tab {i}"), TabType::Chat)
.unwrap();
}

Expand All @@ -126,7 +126,7 @@ mod tests {
let mut manager = TabManager::new();
for i in 1..=3 {
manager
.create_tab(format!("Tab {}", i), TabType::Chat)
.create_tab(format!("Tab {i}"), TabType::Chat)
.unwrap();
}
// Initially at last (2)
Expand Down Expand Up @@ -326,7 +326,7 @@ mod tests {
let mut manager = TabManager::new();
for i in 0..9 {
manager
.create_tab(format!("T{}", i), TabType::Chat)
.create_tab(format!("T{i}"), TabType::Chat)
.expect("create");
}
// Close all
Expand Down
4 changes: 2 additions & 2 deletions crates/tui/src/tui/tab/manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -625,8 +625,8 @@ mod tests {

// Create max tabs
for i in 0..MAX_TABS {
let result = manager.create_tab(format!("Tab {}", i), TabType::Chat);
assert!(result.is_some(), "Tab {} should be created", i);
let result = manager.create_tab(format!("Tab {i}"), TabType::Chat);
assert!(result.is_some(), "Tab {i} should be created");
}

// Try to create one more
Expand Down
2 changes: 1 addition & 1 deletion crates/tui/src/tui/tab/meeting.rs
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ impl MeetingManager {
fn generate_meeting_id(&mut self) -> String {
let id = self.next_meeting_id;
self.next_meeting_id += 1;
format!("meeting_{}", id)
format!("meeting_{id}")
}
}

Expand Down
4 changes: 2 additions & 2 deletions crates/tui/src/tui/ui.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6808,9 +6808,9 @@ async fn switch_provider(
target.as_str(),
);
switch_summary.push(char::from(10));
switch_summary.push_str(&format!("Model: {} → {}", previous_model, new_model));
switch_summary.push_str(&format!("Model: {previous_model} → {new_model}"));
switch_summary.push(char::from(10));
switch_summary.push_str(&format!("Endpoint: {}", new_endpoint));
switch_summary.push_str(&format!("Endpoint: {new_endpoint}"));
if let Some(ref warning) = persist_warning {
switch_summary.push(char::from(10));
switch_summary.push_str(warning);
Expand Down
8 changes: 1 addition & 7 deletions crates/tui/src/tui/views/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1591,13 +1591,7 @@ impl ModalView for ConfigView {
let scope =
truncate_view_text(row.scope.label(self.locale), scope_column_width);
let mut line = Line::from(format!(
" {:<key_width$} {:<value_width$} {:<scope_width$}",
key,
value,
scope,
key_width = key_column_width,
value_width = value_column_width,
scope_width = scope_column_width
" {key:<key_column_width$} {value:<value_column_width$} {scope:<scope_column_width$}"
));
line.style = style;
lines.push(line);
Expand Down