src/ui now imports only src/app, src/domain, and Fyne.
Three violations were fixed:
- src/scheduler (NewRealClock): Service.Start() now creates the real
clock internally; StartWith(clock) is the injectable seam for tests.
- src/platform/desktop (InstallDesktopIntegration): moved into
Service.InstallDesktopIcon in new src/app/platform.go.
- src/platform/autostart (AutostartStatus, SetAutostart): moved into
Service.AutostartStatus and Service.ApplyAutostart in platform.go.
go test -race ./... green.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move settingsView and all its helpers (fyneVersion, mustParseURL,
chooseFolder, settingsRow, settingsRowWithStatus) plus their constants
out of mainwindow.go into the new settings_view.go. Save/autostart
errors were already surfaced to the status label; no logic change.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>