2026-07-12 00:20:41 | DEBUG | src/main.rs:170 | getting matches from clap...
2026-07-12 00:20:41 | DEBUG | src/main.rs:171 | report = "next"
2026-07-12 00:20:41 | DEBUG | src/main.rs:172 | config = None
2026-07-12 00:20:41 | TRACE | src/app.rs:1662 | self.update(true);
2026-07-12 00:20:41 | INFO | src/app.rs:2244 | Running `Command {
program: "task",
args: [
"task",
"rc.json.array=on",
"rc.confirmation=off",
"rc.json.depends.array=on",
"rc.color=off",
"rc._forcecolor=off",
"rc.report.next.filter=status:pending -WAITING limit:page",
"export",
"next",
],
create_pidfd: false,
}`
2026-07-12 00:20:41 | INFO | src/app.rs:2254 | Imported 1 tasks
2026-07-12 00:20:41 | TRACE | src/app.rs:1811 | self.update_task_table_state()
2026-07-12 00:20:41 | DEBUG | src/app.rs:1784 | Running task details for 6a18e143-cbcd-4f05-9498-282fe90987a7
2026-07-12 00:20:41 | DEBUG | src/history.rs:48 | Loading history of length 1
2026-07-12 00:20:41 | DEBUG | src/history.rs:48 | Loading history of length 0
2026-07-12 00:20:41 | DEBUG | src/app.rs:387 | Tick event
2026-07-12 00:20:41 | TRACE | src/app.rs:1662 | self.update(false);
2026-07-12 00:20:41 | TRACE | src/app.rs:1811 | self.update_task_table_state()
2026-07-12 00:20:42 | DEBUG | src/app.rs:387 | Tick event
2026-07-12 00:20:42 | TRACE | src/app.rs:1662 | self.update(false);
2026-07-12 00:20:42 | TRACE | src/app.rs:1811 | self.update_task_table_state()
2026-07-12 00:20:42 | DEBUG | src/app.rs:387 | Tick event
2026-07-12 00:20:42 | TRACE | src/app.rs:1662 | self.update(false);
2026-07-12 00:20:42 | TRACE | src/app.rs:1811 | self.update_task_table_state()
2026-07-12 00:20:42 | DEBUG | src/app.rs:387 | Tick event
2026-07-12 00:20:42 | TRACE | src/app.rs:1662 | self.update(false);
2026-07-12 00:20:42 | TRACE | src/app.rs:1811 | self.update_task_table_state()
2026-07-12 00:20:42 | DEBUG | src/app.rs:387 | Tick event
2026-07-12 00:20:42 | TRACE | src/app.rs:1662 | self.update(false);
2026-07-12 00:20:42 | TRACE | src/app.rs:1811 | self.update_task_table_state()
2026-07-12 00:20:42 | DEBUG | src/app.rs:379 | Received input = Char('e')
2026-07-12 00:20:44 | TRACE | src/app.rs:1662 | self.update(true);
2026-07-12 00:20:44 | INFO | src/app.rs:2244 | Running `Command {
program: "task",
args: [
"task",
"rc.json.array=on",
"rc.confirmation=off",
"rc.json.depends.array=on",
"rc.color=off",
"rc._forcecolor=off",
"rc.report.next.filter=status:pending -WAITING limit:page",
"export",
"next",
],
create_pidfd: false,
}`
2026-07-12 00:20:44 | INFO | src/app.rs:2254 | Imported 1 tasks
2026-07-12 00:20:44 | TRACE | src/app.rs:1811 | self.update_task_table_state()
2026-07-12 00:20:44 | DEBUG | src/app.rs:1784 | Running task details for 6a18e143-cbcd-4f05-9498-282fe90987a7
2026-07-12 00:20:44 | TRACE | src/app.rs:1811 | self.update_task_table_state()
2026-07-12 00:20:44 | TRACE | src/app.rs:1811 | self.update_task_table_state()
Pressing
eto edit a task and quitting the editor crashes the TUI on resume 100% of the time on my system. Issue is independent of the editor (reproduces with both nvim 0.12.4 and vim 9,1 (tiny) and of the terminal (reproduces in GNOME Terminal, xterm, and alacritty). It first appears in v0.26.6 (v0.26.5 is fine). On 0.26.6 the TUI hangs and sometimes it leaks incrementing cursor-position replies to the screen or similar. On v0.27.0 the same failure is caught and shown as[taskwarrior-tui error]: The cursor position could not be read within a normal duration. v0.26.6 includes the crossterm 0.27→0.29 / ratatui 0.26→0.30 upgrade. Maybe crossterm#963?Environment
/usr/bin/vim.tiny, both reproduceSteps to reproduce
taskwarrior-tuieRuled out
taskrc, no hooks (hooks dir empty)data.location=~/.task, not mounted/network)task <id> editfrom the shell works fineComplete Log (
TASKWARRIOR_TUI_LOG_LEVEL=trace)Related