Releases: qvinh8726/timefarm
Release list
TimeFarm v0.2.2 — Quiet Instrument offline Windows beta
TimeFarm v0.2.2 — Quiet Instrument offline Windows beta
TimeFarm v0.2.2 is a major reliability, security, and interface update for the offline-first Windows time tracker and freelancer earnings analytics app.
This GitHub release is an unsigned Windows x64 prerelease intended for local/offline-first evaluation. The installer deliberately bundles no Supabase project URL or public key, so cloud sign-in and multi-device synchronization are disabled in this binary.
Download
Download these two assets from this release:
TimeFarm-0.2.2-Setup.exeSHA256SUMS.txt
Verify the installer before running it:
Get-FileHash .\TimeFarm-0.2.2-Setup.exe -Algorithm SHA256
Get-Content .\SHA256SUMS.txtThe values must match. Because this beta is not digitally signed, Windows SmartScreen may show an unknown-publisher warning and require More info → Run anyway.
Highlights
Quiet Instrument interface
- Rebuilt the complete production experience around a calm, focused Windows shell.
- Added a signature timer instrument, restrained teal palette, clearer visual hierarchy, open project and history ledgers, and a matching native mini timer.
- Refined Dashboard, Projects, History, Analytics, Profile, Settings, onboarding, authentication, recovery, and all core dialogs.
- Improved responsive light/dark layouts, keyboard focus, semantic structure, accessible live regions, reduced motion, compact tables, and overflow handling.
Timer, data, and money correctness
- Local timer commands no longer await network or authentication work; intent timestamps are captured immediately and synchronization runs separately.
- Sync work is coalesced into a non-blocking single-flight executor while timer-lease renewal remains independent.
- Project deletion can no longer remove retained session or payment history, including during concurrent record creation.
- Daily earnings allocation now conserves the exact recorded amount using deterministic integer minor units.
- Account time counts overlapping active intervals once while every original session and earning remains intact.
- Keep local & retry now creates or refreshes a canonical outbox retry before resolving the conflict.
Recovery and device wipe
- Legacy import now reports structured outcomes with Retry, recovery export/open-folder, and explicitly confirmed Skip paths.
- Rebuild cache from cloud and Wipe this device are separate operations.
- Device wipe suppresses bootstrap, invalidates late sync responses, clears known local auth/workspace/recovery/WAL state, and verifies cleanup.
- The app does not describe local wipe as cryptographic SSD erasure or deletion of hosted Supabase data.
Optional Supabase hardening
0006_production_hardening.sqladds subject-bound pull access, validation and locking improvements, foreign-key protection, indexes, and bounded RPC hardening.0007_sync_contract_and_retention.sqlfinalizes revision-aware sync, bounded pagination, guarded retention/pruning, tombstone preservation, validation parity, and supporting indexes.- Authentication, OAuth, RPC, FX, sync, and timer-lease network operations now have explicit deadlines.
- Cloud bootstrap and normal pulls are bounded and paginated; optimistic revisions are required for client writes.
GitHub CI replayed migrations 0001 through 0007 on a fresh Supabase database, reported no schema lint errors, and passed both pgTAP files (102 assertions). The release workstation could not repeat pgTAP because its local Supabase stack was unavailable, and the hosted contract check was not run because no hosted URL or public key was supplied. This release therefore makes no claim of hosted Auth or multi-device verification.
Electron and supply-chain security
- Hardened renderer permission denial, webview blocking, exact navigation policy, OAuth callback handling, and trusted IPC sender checks.
- Kept Node.js, filesystem access, database access, and bearer tokens out of the renderer through narrow context-isolated preload bridges.
- Validated runtime Supabase keys as publishable or anon client keys and rejected secret/service-role/malformed values.
- Verified all 9 configured Electron fuse policies.
- Added CODEOWNERS, Dependabot, CodeQL/dependency review, pinned workflow checks, and signed-release/SBOM workflow foundations for future stable releases.
Verification completed
- Formatting, ESLint, and Stylelint
- Electron TypeScript and pinned-workflow checks
- Renderer tests: 67/67
- Electron tests: 151/151
- Coverage gates
- Fresh Supabase migration replay, schema lint, and 102 pgTAP assertions in GitHub CI
- Production build and bundle budgets
- Production dependency audit with no known vulnerabilities at build time
- Windows packaged-app smoke test
- 9/9 Electron fuse checks
- NSIS install → render → uninstall → cleanup smoke test
Known limitations
- This installer is unsigned and has no established SmartScreen reputation.
- It supports Windows 10/11 x64 only.
- The binary is offline-only and intentionally contains no Supabase configuration.
- Hosted Supabase migrations, Auth providers, RLS/RPC behavior, sync conflicts, and competing-device timer leases still require operator and physical-device validation.
- Clean-machine upgrade/rollback, extended network faults, physical screen readers, high-DPI/multi-monitor behavior, crash/power-loss recovery, and an automatic update channel remain future work.
For source builders
The local timer, projects, history, goals, and analytics require no cloud service:
git clone https://github.com/qvinh8726/timefarm.git
cd timefarm
corepack enable
pnpm install --frozen-lockfile
pnpm devDevelopers who choose to configure optional Supabase synchronization must deploy migrations 0001 through 0007 in order and supply only a public project URL plus publishable/anon client key. Never bundle a service_role, sb_secret_*, database password, or other server credential in the desktop application.
See README.md, CHANGELOG.md, and docs/final-hardening-report.md for setup, architecture, detailed evidence, and remaining risks.
License
Copyright © 2026 TimeFarm contributors. The repository is source-available but UNLICENSED / all rights reserved. Public source does not grant permission to copy, modify, redistribute, sublicense, sell, or use the software without prior written permission. See LICENSE.
TimeFarm v0.2.1 — Windows UI hotfix
Windows UI hotfix
- Removed Electron's generated File/Edit/View/Window menu from the app and every Windows window, including the Alt-key reveal.
- Fixed the stale CSS cascade that could squeeze dashboard widgets into 77 px columns.
- Rebalanced the default dashboard, switched cramped tablet layouts to full-width cards, and cleaned up mobile toolbar controls.
- Updated the README and changelog for v0.2.1.
Verification
- 137/137 automated tests passed.
- Renderer coverage: 80.45% statements and 82.66% lines.
- Formatting, ESLint, Stylelint, Electron type-check, and bundle budget passed.
- Packaged app smoke passed.
- Windows installer install/render/uninstall cleanup smoke passed.
Windows installer
This beta installer is not digitally signed. Windows SmartScreen may require More info → Run anyway.
SHA-256: 1f7d8dea1376191a9602a62e10e23543e5f2f2958e7420fa55bad3bd3ca81426
TimeFarm v0.2.0 — UI/UX Redesign & Offline Analytics
TimeFarm v0.2.0 — UI/UX Redesign & Offline Analytics
TimeFarm v0.2.0 is the largest update so far: a complete Windows UI/UX redesign backed by stronger local persistence, safer synchronization, richer analytics, and release-grade automated checks.
Highlights
- Rebuilt responsive dashboard with polished light/dark themes and accessible dialogs.
- Configurable goals, earnings trends, project insights, range analytics, and native mini timer.
- Deterministic offline-overlap accounting without deleting session, earning, or project history.
- Ordered transactional SQLite migrations, crash recovery, integrity checks, and recovery export.
- Atomic Supabase workspace claims, paginated bootstrap, pull-before-push, optimistic revisions, and explicit conflict resolution.
- Frankfurter v2 reference rates with timeout, freshness, source-date, and full five-currency validation.
- 137 passing automated tests, 80.45% statement coverage, bundle budgets, packaged Electron smoke, and full NSIS install/render/uninstall smoke.
Download
Download TimeFarm-0.2.0-Setup.exe below and compare it with the included SHA256SUMS.txt before running it.
Beta notice
This installer is not digitally signed, so Windows SmartScreen may display a warning. v0.2.0 is published as a pre-release for local/offline-first evaluation. Hosted multi-device synchronization still requires migrations 0001 through 0005 and real-device validation.
TimeFarm v0.1.2
TimeFarm v0.1.1
Fixes a packaged-app blank window caused by absolute Vite asset paths. The Windows x64 installer is unsigned.
TimeFarm v0.1.0
Initial public TimeFarm desktop release for Windows x64. The installer is currently unsigned.