1.2.1
Tempo 1.2.1
Release focused on making Tempo lighter on your CPU and more robust in edge cases: timers tick with plain arithmetic instead of heavyweight date objects, the running clock no longer animates continuously, large tables render in a single pass, and dragging is smoother and works in popped-out windows.
What's new in 1.2.1
-
Much lower CPU while a timer runs. The per-second tick used to construct moment.js duration objects for every displayed time just to format text like
1h 5m 12s. The formatting now uses plain integer math — the same output, without the allocation churn — and the pulsing animation on the running-timer icon is gone, so the page can go idle between ticks. This is the change most responsible for the lower CPU use you'll see on any note with a running tracker. -
Faster table rendering. The tracker table used to re-scan the whole entry tree for every row (and every drag move) to answer "is this row running?" and "who are its siblings?". The table is now built in a single pass, with the running entry, its ancestor path, and each row's sibling list resolved once and passed down the recursion — O(n) total instead of O(n²).
-
Cached name rendering. Segment names are sent through Obsidian's markdown engine only when they actually contain markdown syntax. Plain names keep their text as-is, and names that do need rendering are cached and re-cloned on rebuild, so editing a tracker no longer re-renders every segment name.
-
Smoother drag reordering. Dragging used to ask the browser for a fresh layout read on every mouse move to find the insertion point. Sibling positions are now snapshotted once when the drag starts (and refreshed on scroll/resize), so dragging stays smooth even on wide tables. A regression that left the insertion line stuck on the last boundary was also fixed.
-
Popped-out window fixes. Drag styling and the Escape-to-cancel shortcut now use the row's own window instead of the main one, so both work correctly when a note is opened in a pop-out pane. The debounced save timer for collapse/expand toggles was made pop-out safe as well.
Install
Community
You can install the plugin from obsidian plugin store
Obsidian Community
BRAT
Install BRAT, open the command palette and run "BRAT: Add a beta plugin for testing", then enter:
https://github.com/parhamf6/Tempo
Manual
Download main.js, manifest.json, and styles.css from the latest release and place them in:
/.obsidian/plugins/tempo/
Then enable "Tempo" in Settings → Community plugins.
Tempo builds on Ellpeck's Simple Time Tracker (MIT). Thanks, Ellpeck.