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

dcdpr / jp / 25957089078
66%

Build:
DEFAULT BRANCH: main
Ran 16 May 2026 08:18AM UTC
Jobs 1
Files 318
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

16 May 2026 08:15AM UTC coverage: 65.09% (+0.05%) from 65.043%
25957089078

push

github

web-flow
feat(printer, config): Add bounded-latency typewriter controller (#646)

Introduce a `max_latency` setting to `TypewriterConfig` and a matching
controller in `Printer` that automatically reduces the per-character
typewriter delay when the queue of pending characters grows large enough
to risk falling behind the source by more than the configured budget.

With a fast provider such as Cerebras, the static `text_delay` /
`code_delay` can cause the typewriter to trail the source by many
seconds. Setting `style.typewriter.max_latency` to, e.g., `200ms` keeps
the printed output within that window: the effective delay shrinks to
`min(cap, max_latency / pending_chars)` as the queue grows, and expands
back toward the cap as it drains — subject to the drain-mode floor
described below.

When the provider stops emitting (`Event::Finished`), the coordinator
calls `signal_typewriter_drain()`, which snapshots the pending-
character count. The controller then uses `max(snapshot, pending)` as
the divisor, so the per-character delay never creeps back up as the tail
of the queue empties. Any subsequent typewriter enqueue clears the
snapshot and returns the controller to live mode.

Setting `max_latency = 0` (the default) disables the controller
entirely, preserving the existing static-delay behavior.

---------

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

88 of 94 new or added lines in 5 files covered. (93.62%)

9 existing lines in 3 files now uncovered.

26799 of 41172 relevant lines covered (65.09%)

200.45 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
86.51
1.18% crates/jp_printer/src/printer.rs

Coverage Regressions

Lines Coverage ∆ File
6
91.88
-1.28% crates/jp_storage/src/lib.rs
2
86.51
1.18% crates/jp_printer/src/printer.rs
1
96.08
0.33% crates/jp_config/src/style/typewriter.rs
Jobs
ID Job ID Ran Files Coverage
1 25957089078.1 16 May 2026 08:18AM UTC 318
65.09
GitHub Action Run
Source Files on build 25957089078
  • Tree
  • List 318
  • Changed 6
  • Source Changed 5
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25957089078
  • 7af9517a on github
  • Prev Build on main (#25955866145)
  • Next Build on main (#25957613170)
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