• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dcdpr / jp / 26628352543
66%

Build:
DEFAULT BRANCH: main
Ran 29 May 2026 09:04AM UTC
Jobs 1
Files 382
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 May 2026 09:02AM UTC coverage: 66.325% (-0.1%) from 66.439%
26628352543

push

github

web-flow
enhance(cli, task): Interactive Ctrl+C drain with force-quit escalation (#687)

When `jp` finishes its main work, it waits for background tasks (e.g.
title generation) before exiting. Previously this was a silent, blocking
call with no user feedback and no way to interrupt it.

This commit replaces that with an interactive drain loop. If background
tasks are still running after 1 second, a `⏱ Finishing background tasks…
Ns` line is printed to stderr (TTY only). The first Ctrl+C
(SIGINT/SIGTERM) switches the line to a 2-second countdown and signals
graceful cancellation via the existing soft-cancel token. A second
Ctrl+C — or SIGQUIT — escalates to a hard force-quit that aborts the
`JoinSet` immediately and drops any pending workspace mutations.

The escalation path required a second `force_token` on `TaskHandler`.
The soft-cancel token already existed but was only fired internally; it
is now also exposed via `cancel_token()` so the drain loop can signal it
externally. `is_empty()` is added to short-circuit the whole drain when
there is nothing to wait for.

As a related fix, `TitleGeneratorTask` now accepts an `is_tty` flag and
suppresses the OSC-2 terminal-title sequence when the process is not
attached to a TTY. Without this guard, the escape bytes leaked into
captured pipes or CI logs when running `jp` non-interactively.

---------

Signed-off-by: Jean Mertz <git@jeanmertz.com>

11 of 86 new or added lines in 4 files covered. (12.79%)

11 existing lines in 3 files now uncovered.

31992 of 48235 relevant lines covered (66.33%)

267.55 hits per line

Uncovered Changes

Lines Coverage ∆ File
54
35.93
-3.8% crates/jp_cli/src/lib.rs
18
3.57
-9.13% crates/jp_task/src/handler.rs
2
0.0
0.0% crates/jp_task/src/task/title_generator.rs
1
53.74
0.0% crates/jp_cli/src/cmd/query.rs

Coverage Regressions

Lines Coverage ∆ File
9
3.57
-9.13% crates/jp_task/src/handler.rs
1
0.0
0.0% crates/jp_task/src/task/title_generator.rs
1
0.0
0.0% crates/jp_term/src/osc.rs
Jobs
ID Job ID Ran Files Coverage
1 26628352543.1 29 May 2026 09:04AM UTC 382
66.33
GitHub Action Run
Source Files on build 26628352543
  • Tree
  • List 382
  • Changed 5
  • Source Changed 5
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26628352543
  • db7ab753 on github
  • Prev Build on main (#26627902919)
  • Next Build on main (#26629106715)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc