Repository navigation
Releases
Draugr Time v1.3.1
Draugr Time 1.3.1
Fix tracking after the system clock moves backwards, including after booting
Windows and then Linux on a dual-boot computer.
Draugr Time is in active development: the interface and features are still evolving.
Fixes
- Tracking no longer stays stuck with "heartbeat timestamp precedes the last event
in its bucket" after a backwards clock adjustment of at least three seconds.
This also recovers an existing database whose latest samples are in the future. - Before replacing conflicting native tracking samples, Draugr Time saves a full,
verified database copy beside the active database asclock-rollback-*.sqlite.
Samples crossing the corrected time are clipped; later native samples remain
available in the copy. Manual tags, rules and imported web events are unchanged.
If the backup cannot be created, the conflicting history is left intact and an
error is shown. The application does not change the system clock. - Timed pauses retain their remaining duration after clock recovery, including
across another restart. Pausing and stopping also handle a clock correction
before the next tracking tick. - Settings → Status & permissions now shows general tracker errors and the path
to the recovery copy. The timeline reloads corrected history instead of keeping
previously loaded future samples on screen.
This release also includes the backups, persistent timed pauses, quick tagging
and keyboard shortcuts prepared for 1.3.0.
Updating and limitations
- Quit the old instance through its tray, then start the new version. Your data
remains in its existing local folder; the database format is unchanged. - Clock-recovery copies contain the original full history. They are not removed
by automatic-backup retention or later history deletion; remove them manually
when no longer needed. Their location is shown for the current process. - Backwards differences smaller than three seconds do not rewrite history;
strict timestamp validation recovers as the clock catches up. - Automated tests reproduce backwards jumps, restart recovery, pause persistence,
failed backups and failed history writes. A real Windows → Linux reboot still
needs manual verification. - Windows installers are not publisher-signed; macOS bundles are not notarized.
Draugr Time v1.2.1
Draugr Time 1.2.1
Layout fixes and fewer background history updates.
Draugr Time is in active development: the interface and features are still evolving.
Changes
- Expanded timeline lane labels stay on one line instead of overlapping adjacent rows.
- The Day summary scrollbar has its own space and no longer covers highlight buttons.
- The Week panel shows up to 10 most-used applications instead of 5.
- Live history loading stops when the window loses focus, including when minimized.
Background recording continues, and history refresh resumes on focus. Visible
unfocused windows also pause history refresh because Wayland does not provide a
portable minimized-state query through the current UI framework.
Verification and limitations
- A regression test covers 7,200 queued ticks without hidden history loads and
confirms that loading resumes on focus. This is not a two-hour memory measurement;
the reported growth to 300 MiB still needs verification in a real desktop session. - Windows installers are not publisher-signed; macOS bundles are not notarized.
- Quit the previous instance through its tray before starting the new version.
Your local history remains in its existing data folder.
Draugr Time v1.2.0
Draugr Time 1.2.0
A redesigned desktop interface, title masking and more responsive local tracking.
Draugr Time is in active development: the interface and features are still evolving.
What's new
- New dark and light interface: bundled Inter Tight and JetBrains Mono fonts,
refreshed branding, compact navigation and layouts that adapt to narrow windows. - Day timeline: active-hours/full-day/selection ranges, clearer track spacing,
expandable application/document lanes, selection actions, an hourly activity chart
and a filterable Apps/Documents/Tags panel. - Week, Tags and Rules: weekly timelines and timesheets, a hierarchical tag table
with an editor, and ordered rules with live previews and undoable history tagging. - Settings and tray: six settings sections, removable privacy-list entries, timed
pauses of 5/10/15/30/60 minutes, Resume and +5/+15 extensions. New installations
get a one-time startup-at-login question; existing installations are not asked again. - Motion and accessibility: short, interruptible transitions, keyboard controls,
visible focus and reduced-motion support. Animation frame timers stop when complete
or when the window loses focus or closes. - Title masking: selected applications keep their recorded time while new window
titles are replaced with[masked]. Exclusions take precedence; existing history
is not rewritten. - Resource use: fewer background UI wakeups, release-time optimization, indexed
tag lookups and improved memory reclamation. No new idle CPU/PSS claim is made for
the redesign without native measurements.
Fixes
- The first-launch CI diagnostic now answers the new startup question before checking
that Day view is recording, preventing its onboarding timeout. - The Windows installer reports the same version as the application; a regression
check keeps the two versions aligned.
Install
- Windows: use the per-user Setup executable or extract the portable ZIP. Both
includedraugr-time-cli.exe. - macOS: open the DMG and drag Draugr Time to Applications, or use the portable
archive. The bundle is ad-hoc signed, not Developer ID signed/notarized; macOS may
require Privacy & Security → Open Anyway. - Linux: make the AppImage executable and run it, or extract the portable archive.
Quit an older running instance through its tray before starting the new version.
Your history stays in its existing local data folder. No account, telemetry, cloud
uploads or network updater is added. Uninstalling does not delete stored history.
Known limitations
- Timed pauses are not restored after restarting the process. Backups and ActivityWatch
category interchange remain planned work; existing history import/export remains. - Date changes that load history settle immediately; an old/new day cross-fade is not
implemented. Unknown reduced-motion preferences conservatively skip animation.
Windows/macOS preferences refresh when the app regains focus. - GNOME/KDE Wayland tracking still needs its local bridge. Real-desktop permission,
input and idle-memory checks remain platform-dependent; CI does not replace these. - Windows installers are not publisher-signed; macOS bundles are not notarized.
Draugr Time v1.1.1
Draugr Time 1.1.1
Fixes "start at login" for the Linux AppImage.
Fixed
-
Linux AppImage start-at-login. Enabling Start Draugr Time when I log in
recorded the executable path inside the AppImage's temporary squashfs mount
(/tmp/.mount_…/usr/bin/draugr-time), which disappears when the app exits, so
nothing launched at login. The autostart entry now points at the persistent
.AppImagefile via$APPIMAGEand falls back to the executable path when not
running from an AppImage.If you enabled startup in 1.1.0, toggle the setting off and on again once so
the corrected path is registered.
Install
Same artifacts as 1.1.0: Windows installer + portable zip, macOS DMG, Linux
AppImage + portable archive. History remains local; no telemetry or network
updater.
Draugr Time v1.1.0
Draugr Time 1.1.0
Installers for the first time, alongside the existing portable archives.
What's new
- Windows: a per-user installer (Inno Setup) installs the desktop app and the
draugr-time-cliconsole tool, adds the CLI to your command line (PATH), and
creates Start-menu and optional desktop shortcuts. A portable zip is still
published if you prefer to run without installing. - macOS:
Draugr Time.appnow ships in a DMG with a link to Applications for
drag-and-drop install. - Linux: an AppImage bundles the desktop app, launcher entry and icon.
- The About panel (Settings) links to the GitHub repository and credits the
creator, hlophlopgaming, with links that open in your browser.
Install
- Windows: run
Draugr-Time-...-Windows-Setup.exe, or extract the portable
zip and rundraugr-time.exe. - macOS: open the DMG and drag
Draugr Time.appto Applications. The app is
ad-hoc signed, not Developer ID signed/notarized; macOS may ask you to open it
via Privacy & Security → Open Anyway. - Linux: make the AppImage executable and run it, or use the portable archive
and its Add to application menu action.
Uninstalling leaves your history in place (Windows
%LOCALAPPDATA%\DraugrTime, macOS ~/Library/Application Support/DraugrTime,
Linux ~/.local/share/DraugrTime) unless you delete it yourself.
History remains local. No telemetry, browser extension or network updater.
Flatpak is deferred to a later release; Windows/macOS installers are not
publisher-signed/notarized.
Draugr Time v1.0.1
Draugr Time 1.0.1
- The open window wakes once per second only when it has something to load: a day
that has not been shown yet, or the Day screen while it shows today. A loaded
past day, Settings, Tags, Rules, Week, Reports, Overview and the preview stay
idle, so a mostly-hidden tracker uses less CPU. - Leaving the Day screen pauses today's refresh; returning to it resumes within a
second. Closing the window already paused it. - On Linux the system theme now follows the desktop portal's change signal
instead of polling every two seconds.
Download the archive for your OS and extract it before launching. On macOS use
Draugr Time.app; on Windows/Linux use the desktop executable. On Linux, choose
Add to application menu after extracting to a permanent folder.
History remains local. No telemetry, browser extension or network updater.
Installers are planned for 1.1; backups and title masking remain later work.
Windows/macOS downloads are not publisher-signed/notarized.
Draugr Time v1.0.0
Draugr Time 1.0
- Two-screen first-run setup explains local collection/storage, offers permission
hints and starts recording into the Day view. - Application icons for Windows executables, the macOS app bundle and Linux
desktop menus, alongside the existing window/tray icons. - Built-in headless CLI on Linux/macOS:
draugr-time report,export,import,
status, and--help. Windows keepsdraugr-time-cli.exe. - Minimal privacy: excluded applications, confirmed range deletion and an optional
local weekday/everyday recording schedule. - Improved Reports/Overview legend layout and timeline scrolling.
Download the archive for your OS and extract it before launching. On macOS use
Draugr Time.app; on Windows/Linux use the desktop executable. On Linux, choose
Add to application menu after extracting to a permanent folder.
History remains local. No telemetry, browser extension or network updater.
Installers are planned for 1.1; backups and title masking remain later work.
Windows/macOS downloads are not publisher-signed/notarized. Real OS permission,
login and fresh-archive verification steps are listed in M10.
Draugr Time v0.2.4
Full Changelog: v0.2.3...v0.2.4
Draugr Time v0.2.3 — Week grid and responsive history
Draugr Time v0.2.3 — shared Week grid and responsive history reads
Week now uses one shared local-clock grid with compact clickable dates,
colored tag chips, interval tooltips and cross-day tag highlighting. Today and
its current-time marker are highlighted; future time stays blank. The default
hour range follows observed activity. Daily totals and relative bars make busy
days easier to compare, and all seven rows fit with the legend at 900×600.
- Reports and JSON history export release storage between event prefixes;
aggregation runs outside the storage mutex. The desktop retains its last
status during tracker contention instead of blocking the UI, including macOS
main-thread sampling. - CSV/JSON export replaces a destination confirmed in the save dialog using a
synced temporary file beside it. Failed writes preserve the previous file. - Legacy AFK queries stop at the global first computer observation, matching
the existing Day runtime and reports without constructing reversed intervals. - Overview hour labels follow real local-hour timestamps on 23/25-hour days.
Week aligns local clock hours across days; repeated DST hours share a column,
while exact UTC intervals and numeric totals retain their actual durations. - Refreshing Week preserves the custom date range entered in Reports.
- Concurrent metadata/history edits reject an in-progress report/export with a
localized retry message rather than producing mixed edits.
All tracking data remains local. No database migration is needed. The app uses
its existing tempfile dependency directly for safe export replacement. Each
platform archive contains the desktop app and draugr-time-cli.
Validation and limitations
Local cargo fmt --check, cargo clippy --all-targets -- -D warnings and cargo test
passed: 184 tests, 0 failures, 7 environment-dependent tests ignored. The separate
serial native rendering check passed for eight languages and both themes at
900×600. Regression tests cover export replacement and cleanup, history-prefix
parity, concurrent edits, AFK parity, DST hour labels, Week interactions and cache
invalidation. GitHub CI checks Linux, Windows and macOS before publishing assets.
A native smoke launch could not connect to a Wayland compositor in the local
sandbox. Real window/tray interactions, recording during dense-week loading and
save-dialog replacement still need manual verification on Windows/macOS and
Linux X11/Wayland. Week's minute bands approximate subminute visual detail;
reports and tooltip durations remain exact. D-Bus theme polling, thread joining
and the minute-cell color representation are unchanged. See docs/m7.md.
Draugr Time v0.2.2 — lower memory usage
Draugr Time v0.2.2 — lower memory usage
This release reduces memory retained by tag undo, Week and Reports, and fixes
reports and JSON history export for ranges containing more than 100,000 events.
- Tag undo stores typed changes only for affected rows, preserving up to 20
actions without copying the entire tag history. Conflicting edits reject undo
atomically; independent newer records remain intact. - Week retains compressed color bands and caches canvas geometry. Daily
timesheets retain totals rather than full tracks or duplicate reports. - Report history loads in event batches, shares repeated labels through Arc
and merges intervals before allocating strings. - Leaving Week/Reports frees loaded data and caches, invalidates pending results
and reclaims freed allocator pages on Linux/glibc. Tray and away-tag navigation
receive the same cleanup. - Large reports and JSON archive export no longer hit the 100,000-event cap.
The localhost raw-event API retains its safety limit.
Synthetic Linux release measurements: Week open-window PSS decreased from
76.55 to 35.62 MiB; a monthly CLI report with 93,031 events decreased peak RSS
from 159.65 to 26.62 MiB, with identical CSV output. These are fixture results,
not guaranteed memory limits for personal history. Window buffers still scale
with window size and are released when the window closes.
All data remains local. No database migration or new dependency is required.
Each platform archive contains the desktop app and draugr-time-cli.
Validation and limitations
Local fmt, clippy with warnings denied and tests passed: 174 tests, 0 failures,
7 environment-dependent tests ignored. Native Wayland Week smoke and X11
benchmark runs passed. GitHub CI checks Linux, Windows and macOS before release.
See docs/desktop-memory.md for measurements and reproduction details.
Week's 1,440 elapsed-time bins approximate subminute visual detail; numeric
reports and Day selection remain exact. Real Windows/macOS desktop interactions,
1440p/4K windows and CJK/emoji fallback-font usage need manual verification.