Commit graph

3 commits

Author SHA1 Message Date
Paweł Orzech
c11d657fba
Improve code quality: network DI, deduplicate logic, parallelize fetches
- Add NetworkMonitor with NetworkConnectivity protocol for DI and testability
- Deduplicate flag mapping (MenuBarLabel now uses TornDestination.flag(for:))
- Centralize logger subsystem string in TornConstants.logSubsystem
- Fold API error check into parseDataInBackground, removing double JSON parse
- Fix fetchFactionData double JSON parse (single parse with early error check)
- Parallelize user data parse and faction fetch with async let
- Deduplicate refreshNow() by delegating to startPolling()
- Remove redundant showLoginError state in SettingsView (use computed Binding)
- Batch watchlist saves after concurrent price fetches (N saves → 1 save)
- Add change detection for offline errorMsg to avoid no-op @Published updates
- Remove unused ObservableObject conformance from NetworkMonitor
- Fix tokens CodingKey (company_funds → donator)
- Replace print() calls with os.log Logger
- Remove stub UI tests that only asserted window.exists
2026-03-14 22:50:47 +01:00
Paweł Orzech
e4c8f6927b
fix: Improve travel timer accuracy with direct timestamp usage
- Use API timestamp directly for travel countdown calculations
- Add fallback to timeLeft for backward compatibility
- Add comprehensive test coverage for remainingSeconds method
- Bump version to 1.4.5
- Add CHANGELOG.md
2026-01-25 12:02:56 +01:00
Paweł Orzech
1ce929bffa
feat: Implement comprehensive unit and UI tests for models and view models, including a new network session, mocks, fixtures, and a CI workflow. 2026-01-17 23:19:29 +00:00