Skip to content

Releases: timae/Personio-Timer

v1.0.2

20 Jan 14:41
6ec5efc

Choose a tag to compare

  1. 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.
  2. The method sums up durationMinutes from all completed entries (open entries contribute 0 until closed).
  3. StatusBarController (line 132-138) subscribes to todayTotal changes and calls updateStatusBarTitle() immediately when the sync completes, so the menubar reflects the accurate cumulative time.
  4. The sync happens automatically:
    - On app launch during recoverState()
    - After stopping tracking
    - When you click "Sync Now" in the menu

v1.0.1

20 Jan 13:18
2f69eca

Choose a tag to compare

  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
  1. 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

15 Jan 14:38
aafbecb

Choose a tag to compare