Skip to content

fix: eliminate flicker in bmj watch and show job elapsed time#167

Merged
jrvb-rl merged 1 commit intomainfrom
jrvb/no-flicker
Mar 11, 2026
Merged

fix: eliminate flicker in bmj watch and show job elapsed time#167
jrvb-rl merged 1 commit intomainfrom
jrvb/no-flicker

Conversation

@jrvb-rl
Copy link
Copy Markdown
Contributor

@jrvb-rl jrvb-rl commented Mar 10, 2026

  • Overwrite lines in-place instead of clearing the entire screen each frame, which eliminates flickering and allows text selection to work.
  • Show elapsed time since the benchmark job was created rather than since the watch command was launched.

NOTE: there are some test failures here which appear to be unrelated. I am cleaning those up in a separate PR.

- Overwrite lines in-place instead of clearing the entire screen each
  frame, which eliminates flickering and allows text selection to work.
- Show elapsed time since the benchmark job was created rather than
  since the watch command was launched.
@jrvb-rl jrvb-rl requested review from james-rl and ross-rl March 11, 2026 00:27
while (!COMPLETED_STATES.includes(job.state || "")) {
// Check timeout
if (Date.now() - startTime > MAX_WAIT_MS) {
if (Date.now() - jobStartMs > MAX_WAIT_MS) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just FYI there is a Temporal library in js/ts now that works just like java.time.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Thanks for the pointer. :)

@jrvb-rl jrvb-rl merged commit 9b1deed into main Mar 11, 2026
14 of 16 checks passed
@jrvb-rl jrvb-rl deleted the jrvb/no-flicker branch March 11, 2026 11:15
dines-rl pushed a commit that referenced this pull request Mar 25, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.14.0](v1.13.3...v1.14.0)
(2026-03-25)


### Features

* add 'logs' command to download info from devboxes
([#164](#164))
([d5354be](d5354be))
* use total_count field from Pagination API response
([#175](#175))
([4e84f30](4e84f30))


### Bug Fixes

* **benchmark:** fix benchmark id when creating job with benchmark
([#170](#170))
([2c73cba](2c73cba))
* bmj list now counts finished scenarios from in-progress runs
([#168](#168))
([123f1d4](123f1d4))
* **cli:** show failure reason when benchmark job fails with no outcomes
([#182](#182))
([817b5cd](817b5cd))
* **cli:** use allSettled() instead of all() so one bad download doesn't
spoil the barrel
([#178](#178))
([8f4145a](8f4145a))
* don't reset TUI menu cursor on back
([#181](#181))
([6cc35a7](6cc35a7))
* eliminate flicker in bmj watch and show job elapsed time
([#167](#167))
([9b1deed](9b1deed))
* prevent double devbox creation when pressing Enter in interactive form
([#173](#173))
([23f8a28](23f8a28))
* scenarios sometimes listed as in progress after bmj completes
([#174](#174))
([78f8f55](78f8f55))
* update broken tests
([#169](#169))
([d8b35a2](d8b35a2))


### Performance Improvements

* **cli:** parallelize scenario log downloads with max concurrency of 50
([#176](#176))
([a5828a2](a5828a2))
* **cli:** parallelize scenario run fetching and name resolution in bmj
logs ([#179](#179))
([227d0fd](227d0fd))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants