Skip to content

feat: auto-update checking + fix: systemd timer path bug#15

Open
RhoMancer wants to merge 2 commits into
masterfrom
feature/auto-update
Open

feat: auto-update checking + fix: systemd timer path bug#15
RhoMancer wants to merge 2 commits into
masterfrom
feature/auto-update

Conversation

@RhoMancer

Copy link
Copy Markdown
Owner

Summary

  • Auto-update: check for updates button in Preferences, version comparison, self-update via GitHub releases
  • Bug fix: systemd timer service files break when binary path changes (cargo uninstall → make install)
  • About dialog: changelog link via release notes
  • Settings: auto_update_check (default true)

Test plan

  • 201 tests pass
  • Live GitHub API check works
  • Timer path fix verified — regenerated timers fire correctly

👾 Generated with Letta Code

RhoMan¢er and others added 2 commits June 22, 2026 09:16
- src/update.rs: version comparison, GitHub API check, self-update
- Settings: auto_update_check (default true)
- Preferences: "Check for updates automatically" checkbox
- Preferences: "Check for updates" button with status feedback
- About dialog: changelog link via release notes
- 20 new tests (version comparison, API parsing, URL builders, live check)

TDD: tests written first, all 201 pass.

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>
Root cause: temperlux_binary_path() used current_exe() to hardcode the
absolute path at timer-generation time. If the binary was later moved
(e.g. cargo uninstall → make install), all existing schedules silently
broke — timers fired but service failed with exit code 203 (EXEC).

Fix:
- temperlux_binary_path() now verifies the path exists before using it,
  falls back to bare "temperlux" if not found
- Service units now include Environment="PATH=..." with ~/.local/bin,
  ~/.cargo/bin, and standard system paths so systemd can resolve the
  bare name even outside the default PATH

Also includes auto-update feature (feature/auto-update branch merged):
- src/update.rs: version comparison, GitHub API check, self-update
- Settings: auto_update_check (default true)
- Preferences: check-for-updates checkbox + button with status feedback
- About dialog: changelog link via release notes
- 20 new tests (all 201 pass)

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant