Skip to content

Commit 50206e5

Browse files
committed
chore: sync fethced and showed number of runs/tasks
1 parent 9e057d4 commit 50206e5

2 files changed

Lines changed: 16 additions & 7 deletions

File tree

src/playgrounds/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ pub struct ViewArgs {
5959
#[arg(long = "generation")]
6060
generation_id: Option<String>,
6161

62-
/// Maximum number of recent runs to fetch (default: 50)
62+
/// Maximum number of tasks and recent runs to fetch and show (default: 50)
6363
#[arg(long)]
6464
limit: Option<u32>,
6565
}

src/playgrounds/view.rs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,18 @@ pub async fn run(
5454
return Ok(());
5555
}
5656

57-
let limit = Some(limit.unwrap_or(50));
57+
let limit = limit.unwrap_or(50) as usize;
5858

5959
// Try the full-view endpoint first; fall back to metadata-only if it is
6060
// unavailable (e.g. older backend lacking /v1/playgrounds/:id/view).
6161
let full = with_spinner(
6262
"Loading playground...",
63-
api::get_full_playground_view(&ctx.client, &playground_id, generation_id, limit),
63+
api::get_full_playground_view(
64+
&ctx.client,
65+
&playground_id,
66+
generation_id,
67+
Some(limit as u32),
68+
),
6469
)
6570
.await;
6671

@@ -74,7 +79,7 @@ pub async fn run(
7479
return Ok(());
7580
}
7681
let mut output = String::new();
77-
render_full_view(&mut output, &view)?;
82+
render_full_view(&mut output, &view, limit)?;
7883
print_with_pager(&output)?;
7984
Ok(())
8085
}
@@ -107,7 +112,11 @@ pub async fn run(
107112
}
108113
}
109114

110-
fn render_full_view(output: &mut String, view: &api::FullPlaygroundView) -> Result<()> {
115+
fn render_full_view(
116+
output: &mut String,
117+
view: &api::FullPlaygroundView,
118+
limit: usize,
119+
) -> Result<()> {
111120
let name = view.meta.name.as_deref().unwrap_or("(unnamed)");
112121
writeln!(output, "Viewing {}", console::style(name).bold())?;
113122
if let Some(created) = view.meta.created.as_deref().filter(|s| !s.is_empty()) {
@@ -131,7 +140,7 @@ fn render_full_view(output: &mut String, view: &api::FullPlaygroundView) -> Resu
131140

132141
if !view.tasks.is_empty() {
133142
writeln!(output, "\n{}", console::style("Tasks").bold())?;
134-
for (i, task) in view.tasks.iter().enumerate() {
143+
for (i, task) in view.tasks.iter().take(limit).enumerate() {
135144
let kind = task
136145
.function_type
137146
.as_ref()
@@ -167,7 +176,7 @@ fn render_full_view(output: &mut String, view: &api::FullPlaygroundView) -> Resu
167176
crate::ui::header("Error"),
168177
]);
169178
crate::ui::apply_column_padding(&mut table, (0, 6));
170-
for run in view.runs.iter().take(50) {
179+
for run in view.runs.iter().take(limit) {
171180
let status = if run.error.is_some() { "error" } else { "ok" };
172181
let out = run
173182
.output

0 commit comments

Comments
 (0)