Release Notes
- Yank: a yank over the limit is written to a file instead of being refused, and the
status line says where: 510853 bytes is over the yank limit (65536), written to /tmp/tmprl-…/yank.json. The file is readable by you only and stays until you remove it.
[yank] max_bytes in config.toml raises the limit for a terminal that takes more.
- Dashboard,
gd: one screen of panels over the namespaces in scope, with workflows by
status, failures of the last day, the workflow types failing most, the task queues running
workflows are on, and schedules. Enter on an item opens what it stands for, ]p and [p
step between panels, and a dashboard left in a split keeps receiving its own data.
- The dashboard adapts when there is no
dashboard.toml: a panel with nothing in it
gives up its room, a namespace with no failures shows what is running instead, and
schedules appear as the paused ones and the ones about to run. R lets emptied panels go.
- The dashboard refreshes itself, every 30 seconds by default:
[refresh] dashboard in
config.toml takes a duration or "off". A request that fails keeps the panel's last
answer, marked stale, is retried less often while it keeps failing, and is reported once.
- Task queue health on the dashboard: each queue with running workflows shows its
backlog, how long the oldest task has waited, and how many workers are polling. A backlog
nothing is polling stands out as an error.
dashboard.toml lays the dashboard out: rows of panels, each with a kind, a query, a
time window and a share of the screen. A key it does not know sets the file aside with a
message, and the built-in layout is used. --config-path lists the file.
- Dashboard time windows:
since now works on a counts panel, so a status line can
cover the last day instead of everything. older = "3d" is the other bound, for workflows
that started more than three days ago and are still running. by = "close" measures both
from when a workflow closed, so "failures, last 24h" includes one that started last week
and failed ten minutes ago.
- Dashboard tallies are counted: on a namespace with more workflows than one page, the
types and task queues panels used to show how many of the first 50 rows each name had.
Each name is now counted on the server, so the number is the real one. A number still
waiting for its count is drawn ~26, and the panel says names from 50 because a type the
page missed is still missing.
- Dashboard failures say why: a failed, terminated or cancelled workflow in a dashboard
list shows its reason beside the id, the root of the failure chain or the reason it was
ended with, read once from the workflow's closing event. A type that every row shares is
no longer repeated down the list. With a failure converter that encodes failures the
reason is whatever the server holds, since it is not sent through the codec.
- Dashboard rows fit what they show: a row whose panels hold two lines no longer takes
a third of the screen. It keeps what it needs and the rest goes to the rows with more to
list. A row given a fixed height with lines is left as it is.
- Dashboard histograms: a
histogram panel draws how many workflows started or closed
in each stretch of its window as columns, so a spike in failures shows as one.
since = "24h" with bucket = "1h" is a column an hour, and without bucket the step
is chosen to fit. Enter on a column opens the workflows in that stretch. With no
dashboard.toml, a namespace where something failed today gets a "Failures per hour"
chart under the status line.
- Dashboard navigation:
h j k l and the four arrows now move the way they
point. j at the foot of a list goes to the panel under it, not to the one beside it,
h and l cross between panels and step along a chart or the status line. h, l,
<Left> and <Right> are new bindings, motion.left and motion.right.
- Dashboard retries: a
retrying panel lists running workflows with an activity that
keeps failing: which activity, how many tries (7/∞), the last failure and when the next
try is due. attempts sets the threshold and scan how many workflows it looks into,
50 at most, since each is a request of its own.
--dashboard opens tmprl straight onto the dashboard, in the profile's namespace or
the one -n names.
Install tmprl 0.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/arisros/tmprl/releases/download/v0.2.0/tmprl-installer.sh | sh
Install prebuilt binaries via Homebrew
brew install arisros/tap/tmprl
Download tmprl 0.2.0