Releases: timae/Personio-Timer
Releases · timae/Personio-Timer
v1.0.2
- AttendanceService.syncTodayTotal() (lines 193-215) fetches ALL attendance entries for today via api.getTodayAttendances(employeeId:) - this returns every entry regardless of whether it was created through the web UI, mobile app, or this timer app.
- The method sums up durationMinutes from all completed entries (open entries contribute 0 until closed).
- StatusBarController (line 132-138) subscribes to todayTotal changes and calls updateStatusBarTitle() immediately when the sync completes, so the menubar reflects the accurate cumulative time.
- The sync happens automatically:
- On app launch during recoverState()
- After stopping tracking
- When you click "Sync Now" in the menu
v1.0.1
- Redesigned Preferences UI
- Clean, minimalistic design with sections and icons
- Organized into: API Credentials, Menubar Display, and Help
- Consistent spacing and typography
- Subtle input field backgrounds
- Compact test connection button with inline results
- New Display Mode Option
When "Show timer in menubar" is enabled, you can now choose:
- Current session: Shows time since you clicked Start (original behavior)
- Today's total: Shows cumulative time tracked today (including current session when tracking)
Behavior:
- When tracking with "Today's total" mode: Shows previous entries + current session
- When NOT tracking with "Today's total" mode: Shows total from completed entries
- When tracking with "Current session" mode: Shows time since Start
Files changed:
- LocalStateStore.swift: Added MenubarDisplayMode enum and menubarDisplayMode property
- StatusBarController.swift: Updated updateStatusBarTitle() to respect display mode
- PreferencesWindowController.swift: Complete redesign with new segmented picker for display mode
v1.0.0
Release 1.0
Full Changelog: https://github.com/timae/Personio-Timer/commits/v1.0