What's New
Self-Contained Binary (Fixes #8)
Pre-built binaries now auto-start PostgreSQL when the database isn't running. No more manual Docker setup required.
- Binary embeds
compose.ymlat compile time and writes it to the app data directory on first run - Automatically detects if database is unreachable and starts it via
docker compose up -d - Polls database readiness with retry loop (30s timeout) before connecting
- Supports both
docker compose(v2 plugin) and standalonedocker-composewith automatic fallback - App data stored in platform-standard directories (
~/.local/share/neura-hustle-tracker/on Linux) - Backward compatible: existing
.envin project directory (fromjust runworkflow) takes priority
Embedded Migrations
- Database migrations are now compiled into the binary via
include_str!— no external files needed at runtime - Daemon binary now also runs migrations on startup (previously skipped)
Simplified Startup Scripts (Fixes #9)
- Linux
.desktop: Removed Alacritty, tmux, xdotool, and hardcoded path dependencies. Daemon runs headless. - New systemd user service:
neura-tracker.serviceas an alternative to.desktopautostart - macOS
.plist: Removed osascript wrapper,findcommand, and 30-second sleep. Direct daemon launch with crash recovery.
Improved Error Messages
- Fixed stale
make daemon-statusreferences, now points todocker ps - Clearer guidance when database connection fails
Documentation
- Added troubleshooting section to README (database errors, pre-built binary setup, port conflicts, Wayland, macOS permissions)
- Updated pre-built binary and Start on Boot sections
Dependencies
- Updated all dependencies to latest versions
Full Changelog: https://github.com/adolfousier/neura-hustle-tracker/blob/main/CHANGELOG.md