Repository navigation
Screen Time Tracker 1.3.0
Screen Time Native can now be the laptop's sampler, and the dashboard and the sampler restart themselves after a crash. See CHANGELOG.md for the full list.
Highlights
- Screen Time Native as the laptop's sampler. If the laptop runs Screen Time Native, run only one sampler: set
nativeDatabasePathandnativeFrominconfig/collector.json, and the hourly ingest and Sync now copy the laptop's screen time from that app's database. Sync Status reads its heartbeat.nativeFromis a local hour edge where one sampler hands over to the other, and earlier history stays as it was.install-sampler.ps1 -IngestOnlystops this project's sampler cleanly and keeps the ingest. Steps are in the README, under The Windows collector. - The dashboard and the sampler restart themselves after a crash, 60 s apart, at most 3 times. Before, a crashed sampler stayed down until the next sign-in, and that time could not be recorded later. A clean stop is never restarted.
- The start
.batopens your browser as soon as the server is listening. - Both dashboard launchers share one build rule, and a change to
package.json,next.config.mjsortsconfig.jsonnow triggers a rebuild too. - The expanded Activity page opens on the first recorded day, not on the 1st of that month.
CONTRIBUTING.md: how to report, what to run before a change, and the rules a change must keep.
Fixed
install-sampler.ps1 -RunNowalways reported the sampler as running: its process check matched the install script itself.
Upgrading
Pull, then restart the dashboard: npm run dashboard:stop, then npm run autostart -- -RunNow (it rebuilds when the code is newer than the build). Re-run install-sampler.ps1 (or install-sampler.ps1 -IngestOnly if Screen Time Native records) so the ingest task gets its new retry setting. The database schema is unchanged.
The phone app is unchanged: keep Screen Time Reporter 1.1 from the v1.1.0 release.