Previously the setting only existed in the generated pbxproj (where XcodeGen
placed it implicitly). Now it's explicit in project.yml so re-running
`xcodegen generate` always produces a project that picks up the AppIcon set.
Build verified: actool emits AppIcon60x60@2x.png and AppIcon76x76@2x with
correct pixel content from the concentric-rings source icon.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace CODE_SIGNING_ALLOWED=NO with automatic signing + DEVELOPMENT_TEAM so
the app installs on a physical device. Simulator/CI builds still pass
CODE_SIGNING_ALLOWED=NO on the command line and skip signing.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Settings hub (gear → SettingsView) hosting Notifications and Connectivity
(Connectivity previously had no entry point).
- NotificationsView: permission flow, breaking/new-story alerts with a
min-signal threshold, morning & evening briefings with time pickers, and a
weather toggle + location, plus a "send test briefing" action.
- NotificationManager: schedules daily briefings, builds "Jarvis" content
(weather + top signal stories), fires breaking alerts off WebSocket
story.created events, and refreshes via a BGAppRefresh task.
- WeatherService: Open-Meteo geocoding + daily forecast (no API key/entitlement).
- AppDelegate registers the background-refresh handler at launch; Info.plist
gains UIBackgroundModes + BGTaskSchedulerPermittedIdentifiers.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
SwiftUI client for a self-hosted RSS news-correlation platform: signal feed,
story detail, article reader, feed manager, and LAN⇄Tailscale connectivity.
Project generated from project.yml via XcodeGen.
Includes CI build matrix (macOS 14/15 × Debug/Release), issue templates,
backlog, and API/backend handoff docs.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>