mirror of
https://github.com/home-assistant/iOS.git
synced 2026-06-16 13:26:27 -05:00
## Summary
Now that PRs #4560–#4564 have migrated every Eureka-based settings
screen to SwiftUI, every remaining Eureka file on `main` is dead code.
This PR removes them, the Eureka pod, and the two Eureka-community
add-on pods.
**Reachability check before deleting:**
- `SettingsRootDataSource.swift` (the legacy Eureka settings root) has
zero inbound references. The active settings root is
`SettingsItem.swift`, which already routes to SwiftUI views
(`NFCListView()`, `ComplicationListView()`, etc.).
- The legacy `*ViewController.swift` files (`NFCListViewController`,
`ComplicationListViewController`, `SettingsDetailViewController`, etc.)
are reachable only from `SettingsRootDataSource` and from each other.
- The Eureka helper-row library (`Sources/App/Settings/Eureka/`) is used
only by those legacy view controllers.
- A handful of doc-comment mentions in active SwiftUI code (e.g. `//
SwiftUI replacement for ButtonRowWithLoading`) are not real references.
- Tests don't import Eureka. `ColorPickerRow` and `ViewRow` (Eureka
community pods) aren't referenced anywhere.
## What's removed
- `Sources/App/Settings/Eureka/` — 14 files (`HAFormViewController`,
helper rows, `AccountInitialsImage`)
- `Sources/App/Settings/MaterialDesignIcons+Eureka.swift` — `SearchItem`
conformance for the now-deleted `SearchPushRow`
- `Sources/App/Settings/SettingsRootDataSource.swift`
- `Sources/App/Settings/Settings/SettingsDetailViewController.swift`
-
`Sources/App/Settings/AppleWatch/Complication{List,FamilySelect,Edit}ViewController.swift`
- `Sources/App/Settings/NFC/NFC{List,Tag}ViewController.swift`
- `Sources/App/Utilities/{SearchPushRow,WebSocketStatusRow}.swift`
- `Eureka`, `ColorPickerRow`, `ViewRow` pods (Podfile + Podfile.lock)
- `import Eureka` from `SettingsSceneDelegate.swift`
- `-framework "Eureka"` from inlined `OTHER_LDFLAGS` in
`project.pbxproj`
24 files deleted, 4 modified. Pure dead-code removal — no behavior
changes.
## Stacked on #4563
This PR targets `claude/eureka-notification-categories-swiftui` (PR
#4563). After #4563 merges, GitHub will auto-rebase the base to `main`.
## Test plan
- [ ] CI lint + test passes
- [ ] Build succeeds with the smaller pod set
- [ ] Manual smoke test: open Settings → NFC, Settings → Complications,
Notifications → Categories — all SwiftUI screens still functional
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude <noreply@anthropic.com>