23 Commits

Author SHA1 Message Date
Micha
4f026d6e1b fix: interval indicator respects refresh interval setting
- ServerDetailView now reads refreshInterval from AppStorage
- Progress bar duration dynamically adjusts based on user's refresh interval setting
- Previously hardcoded to 60 seconds regardless of user preference
2026-01-03 16:18:08 +01:00
Micha
7a286c68e3 feat: add status notifications for server monitoring
- Add notification preferences (Status Notifications and Alert Notifications toggles)
- Implement ping failure/recovery notifications when servers go offline/online
- Track individual service status changes and notify when services fail
- Request notification permissions on app launch
- Services like DNS, FTP, SSH, etc. now trigger alerts when status changes
- Notifications only sent when settings are enabled

Changes:
- PreferencesView: Add NotificationsPreferencesView with two toggles
- PingService: Add notification support with state tracking for ping events
- MainView: Add service status monitoring with change detection
- Track previous service states to detect transitions
2026-01-03 15:48:01 +01:00
Micha
e7b776942b fix: use AppStorage values for ping and refresh intervals
Make the ping and refresh intervals from preferences actually control
the timer frequencies. Settings now properly update timers when changed.
- Read pingInterval and refreshInterval from AppStorage
- Recreate timers when settings change
- Setup timers on app appearance with correct intervals
2026-01-03 14:31:51 +01:00
Micha
8cf974118b fix: add connection test feedback in server form
- Show error message when connection test fails
- Disable test button while testing
- Provide clear feedback when API key or hostname are invalid
- Reset error message on successful connection
2026-01-03 14:16:11 +01:00
Micha
f930e8334f chore: remove configuration note from updates preferences
Remove the explanation text about configuring appcast URL and EdDSA key.
This is configuration for developers, not end users.
2025-12-30 19:33:14 +01:00
Micha
0032ad9b57 chore: remove update button from main toolbar
Remove the 'Check for Updates' button from the main window toolbar.
Updates are available via Preferences → Updates, which is sufficient.
2025-12-30 19:29:01 +01:00
Micha
b7f5d1a762 chore: remove update logs UI from preferences
Remove the Show/Hide Logs button and logs view from the Updates preferences
tab. Keep the logging infrastructure in SparkleUpdater for diagnostics,
but don't display it in the UI.
2025-12-30 19:27:06 +01:00
Micha
215c24d5a2 improvement: enhance Sparkle error logging with error codes
Add error domain and code to abort error messages to help diagnose installation failures.
2025-12-30 13:27:35 +01:00
Micha
25723b7f07 feat: add in-app Sparkle update logging
- Add published logMessages array to SparkleUpdater to track all update events
- Display logs in the Updates preferences tab with Show/Hide toggle
- Each log entry is timestamped and shows both info and error messages
- Logs persist during session with max 100 entries
- Users can clear logs manually
- Helps diagnose update failures directly in the app UI
2025-12-30 13:12:27 +01:00
Micha
091fd4ef38 Sparkle fixes 2025-12-07 17:05:51 +01:00
Micha
db4c2aa930 Sparkle fixes 2025-12-07 16:52:13 +01:00
Micha
8f72fd0fea chore: release 26.0.27 2025-12-07 16:47:34 +01:00
Micha
61392a16a2 more Sparkle tests 2025-11-26 20:14:59 +01:00
Micha
5905ae5aa7 more Sparkle tests 2025-11-26 20:09:06 +01:00
Micha
01c89de738 add Sparkle appcast 2025-11-25 16:21:07 +01:00
Micha
dc710d53aa included Sparkle 2025-11-22 18:56:55 +01:00
Micha
db1f15f981 next test build 2025-11-21 13:56:45 +01:00
Micha
6b8d458605 Improve startup UX with placeholders and prefetch 2025-11-19 23:28:12 +01:00
Micha
562023519a Clean API models and keychain helpers 2025-11-19 19:33:22 +01:00
Micha
c9ebc22551 Fix APIv2_13 identifiers 2025-11-19 18:47:06 +01:00
Micha
01c8da07e0 Add API v2.13 client and new server metrics 2025-11-19 18:41:28 +01:00
Micha
d3f9126245 Add OS metadata, preference hooks, and slider polish 2025-11-19 18:15:33 +01:00
Micha
4efe1a2324 refactored code structure 2025-11-17 15:42:55 +01:00