From f4ef47652eab2e3c03857ac94276c856b33c2d1d Mon Sep 17 00:00:00 2001 From: worktrunk-bot <254187624+worktrunk-bot@users.noreply.github.com> Date: Sat, 11 Jul 2026 10:57:08 +0000 Subject: [PATCH 1/2] chore(deps): bump termimad to 0.35.1, drop ragged-table panic workaround termimad 0.35.1 fixes the ragged-table out-of-bounds panic in Table::fix_columns (Canop/termimad#77) that #3408 contained with a catch_unwind guard around the PR-comments render path. With the upstream fix, remove the workaround and render directly again. Verified 0.35.1 renders the reproducer across the full narrow-width band (16/20/24, previously panicked) without incident. The bump also pulls minimad 0.16, which no longer treats a single-dash (`| - |`) row as a table separator; worktrunk only ever emits multi-dash (`---`) separators, so real help/list output is unaffected (help/docs snapshot tests unchanged). Updated the one artificial single-dash test input to the canonical `---` form. The regression test now guards against reintroducing the panic via a downgrade rather than asserting the plain-text fallback. --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- src/md_help.rs | 50 ++++++++++++++------------------------------------ 3 files changed, 19 insertions(+), 41 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 99e9cb8f0c..a5d5c6f252 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1895,9 +1895,9 @@ dependencies = [ [[package]] name = "minimad" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8b688969b16915f3ecadc7829d5b7779dee4977e503f767f34136803d5c06f" +checksum = "de632ee829aec3a874d18a4192eae64a0460b3a45c54ed556b334f6fe5a1d62f" dependencies = [ "once_cell", ] @@ -3340,9 +3340,9 @@ dependencies = [ [[package]] name = "termimad" -version = "0.34.1" +version = "0.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "889a9370996b74cf46016ce35b96c248a9ac36d69aab1d112b3e09bc33affa49" +checksum = "d53d4b1294b87e81925b7ae7f8f4d000376e3a5b3349d978429665428a793fcb" dependencies = [ "coolor", "crokey", diff --git a/Cargo.toml b/Cargo.toml index 2759914ce2..2c48bf5747 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -220,7 +220,7 @@ which = "8.0.2" # Cross-platform path canonicalization that avoids Windows verbatim paths (\\?\) # which external tools like git cannot handle. On Unix, it's a no-op wrapper. dunce = "1.0" -termimad = { version = "0.34.1", optional = true } +termimad = { version = "0.35.1", optional = true } urlencoding = "2.1" regex = "1.12.3" ignore = "0.4" diff --git a/src/md_help.rs b/src/md_help.rs index d3846e46ab..e7a04f691d 100644 --- a/src/md_help.rs +++ b/src/md_help.rs @@ -302,19 +302,7 @@ fn render_table_with_termimad(lines: &[&str], indent: &str, max_width: Option Date: Sat, 11 Jul 2026 11:08:12 +0000 Subject: [PATCH 2/2] style: wrap assert per rustfmt --- src/md_help.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/md_help.rs b/src/md_help.rs index e7a04f691d..a87fefeacb 100644 --- a/src/md_help.rs +++ b/src/md_help.rs @@ -877,7 +877,10 @@ mod tests { // columns to fit width 20, so we don't assert on specific cell text — // reaching this line at all is the proof the panic is gone. let result = render_table(&lines, Some(20)); - assert!(!result.is_empty(), "render should complete and produce output"); + assert!( + !result.is_empty(), + "render should complete and produce output" + ); } #[test]