diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b39c889..1a9cb61 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,8 +43,8 @@ jobs: run: | set -o pipefail xcodebuild \ - -project Jarvis.xcodeproj \ - -scheme Jarvis \ + -project Jervis.xcodeproj \ + -scheme Jervis \ -configuration ${{ matrix.configuration }} \ -sdk iphoneos \ -destination 'generic/platform=iOS' \ @@ -54,6 +54,6 @@ jobs: CODE_SIGNING_REQUIRED=NO \ build - # No test targets exist yet (see docs/BACKLOG.md #13). When a JarvisTests + # No test targets exist yet (see docs/BACKLOG.md #13). When a JervisTests # target is added, switch this to `xcodebuild test` on a simulator — after # fixing CoreSimulator on the runner (Xcode must live on the boot volume). diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a4a759f..71b357b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,18 +35,18 @@ jobs: run: | set -o pipefail xcodebuild archive \ - -project Jarvis.xcodeproj \ - -scheme Jarvis \ + -project Jervis.xcodeproj \ + -scheme Jervis \ -configuration Release \ -sdk iphoneos \ - -archivePath build/Jarvis.xcarchive \ + -archivePath build/Jervis.xcarchive \ DEVELOPMENT_TEAM=K8BLMMR883 - name: Export IPA run: | set -o pipefail xcodebuild -exportArchive \ - -archivePath build/Jarvis.xcarchive \ + -archivePath build/Jervis.xcarchive \ -exportPath build/ipa \ -exportOptionsPlist ExportOptions.plist @@ -59,7 +59,7 @@ jobs: echo "$ASC_PRIVATE_KEY" > /tmp/AuthKey_${ASC_KEY_ID}.p8 xcrun altool --upload-app \ --type ios \ - --file build/ipa/Jarvis.ipa \ + --file build/ipa/Jervis.ipa \ --apiKey "$ASC_KEY_ID" \ --apiIssuer "$ASC_ISSUER_ID" rm -f /tmp/AuthKey_${ASC_KEY_ID}.p8 diff --git a/.gitignore b/.gitignore index 9e70574..5bc8567 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ xcuserdata/ *.moved-aside # Generated by XcodeGen — project.yml is the source of truth -Jarvis.xcodeproj/ +Jervis.xcodeproj/ # SwiftPM .build/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6fb3764..9fce359 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# Contributing to Jarvis +# Contributing to Jervis ## Branch workflow diff --git a/Jarvis/Assets.xcassets/AccentColor.colorset/Contents.json b/Jervis/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from Jarvis/Assets.xcassets/AccentColor.colorset/Contents.json rename to Jervis/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/Jarvis/Assets.xcassets/AppIcon.appiconset/AppIcon.png b/Jervis/Assets.xcassets/AppIcon.appiconset/AppIcon.png similarity index 100% rename from Jarvis/Assets.xcassets/AppIcon.appiconset/AppIcon.png rename to Jervis/Assets.xcassets/AppIcon.appiconset/AppIcon.png diff --git a/Jarvis/Assets.xcassets/AppIcon.appiconset/Contents.json b/Jervis/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Jarvis/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Jervis/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/Jarvis/Assets.xcassets/Contents.json b/Jervis/Assets.xcassets/Contents.json similarity index 100% rename from Jarvis/Assets.xcassets/Contents.json rename to Jervis/Assets.xcassets/Contents.json diff --git a/Jarvis/Assets.xcassets/JervisIcon.imageset/Contents.json b/Jervis/Assets.xcassets/JervisIcon.imageset/Contents.json similarity index 100% rename from Jarvis/Assets.xcassets/JervisIcon.imageset/Contents.json rename to Jervis/Assets.xcassets/JervisIcon.imageset/Contents.json diff --git a/Jarvis/Assets.xcassets/JervisIcon.imageset/JervisIcon.png b/Jervis/Assets.xcassets/JervisIcon.imageset/JervisIcon.png similarity index 100% rename from Jarvis/Assets.xcassets/JervisIcon.imageset/JervisIcon.png rename to Jervis/Assets.xcassets/JervisIcon.imageset/JervisIcon.png diff --git a/Jarvis/Assets.xcassets/KisaniOrange.colorset/Contents.json b/Jervis/Assets.xcassets/KisaniOrange.colorset/Contents.json similarity index 100% rename from Jarvis/Assets.xcassets/KisaniOrange.colorset/Contents.json rename to Jervis/Assets.xcassets/KisaniOrange.colorset/Contents.json diff --git a/Jarvis/Connectivity/ConnectivityManager.swift b/Jervis/Connectivity/ConnectivityManager.swift similarity index 100% rename from Jarvis/Connectivity/ConnectivityManager.swift rename to Jervis/Connectivity/ConnectivityManager.swift diff --git a/Jarvis/Connectivity/ConnectivitySettings.swift b/Jervis/Connectivity/ConnectivitySettings.swift similarity index 100% rename from Jarvis/Connectivity/ConnectivitySettings.swift rename to Jervis/Connectivity/ConnectivitySettings.swift diff --git a/Jarvis/Connectivity/VPNProvider.swift b/Jervis/Connectivity/VPNProvider.swift similarity index 100% rename from Jarvis/Connectivity/VPNProvider.swift rename to Jervis/Connectivity/VPNProvider.swift diff --git a/Jarvis/Info.plist b/Jervis/Info.plist similarity index 100% rename from Jarvis/Info.plist rename to Jervis/Info.plist diff --git a/Jarvis/JarvisApp.swift b/Jervis/JarvisApp.swift similarity index 100% rename from Jarvis/JarvisApp.swift rename to Jervis/JarvisApp.swift diff --git a/Jarvis/Models/Models.swift b/Jervis/Models/Models.swift similarity index 100% rename from Jarvis/Models/Models.swift rename to Jervis/Models/Models.swift diff --git a/Jarvis/Networking/APIClient.swift b/Jervis/Networking/APIClient.swift similarity index 100% rename from Jarvis/Networking/APIClient.swift rename to Jervis/Networking/APIClient.swift diff --git a/Jarvis/Networking/WebSocketManager.swift b/Jervis/Networking/WebSocketManager.swift similarity index 100% rename from Jarvis/Networking/WebSocketManager.swift rename to Jervis/Networking/WebSocketManager.swift diff --git a/Jarvis/Notifications/NotificationManager.swift b/Jervis/Notifications/NotificationManager.swift similarity index 100% rename from Jarvis/Notifications/NotificationManager.swift rename to Jervis/Notifications/NotificationManager.swift diff --git a/Jarvis/Notifications/NotificationSettings.swift b/Jervis/Notifications/NotificationSettings.swift similarity index 100% rename from Jarvis/Notifications/NotificationSettings.swift rename to Jervis/Notifications/NotificationSettings.swift diff --git a/Jarvis/Notifications/WeatherService.swift b/Jervis/Notifications/WeatherService.swift similarity index 100% rename from Jarvis/Notifications/WeatherService.swift rename to Jervis/Notifications/WeatherService.swift diff --git a/Jarvis/Store/BackgroundRefreshManager.swift b/Jervis/Store/BackgroundRefreshManager.swift similarity index 100% rename from Jarvis/Store/BackgroundRefreshManager.swift rename to Jervis/Store/BackgroundRefreshManager.swift diff --git a/Jarvis/Store/CacheMaintenance.swift b/Jervis/Store/CacheMaintenance.swift similarity index 100% rename from Jarvis/Store/CacheMaintenance.swift rename to Jervis/Store/CacheMaintenance.swift diff --git a/Jarvis/Store/ServerSettings.swift b/Jervis/Store/ServerSettings.swift similarity index 100% rename from Jarvis/Store/ServerSettings.swift rename to Jervis/Store/ServerSettings.swift diff --git a/Jarvis/Store/StoryStore.swift b/Jervis/Store/StoryStore.swift similarity index 100% rename from Jarvis/Store/StoryStore.swift rename to Jervis/Store/StoryStore.swift diff --git a/Jarvis/Views/Connectivity/ConnectivityView.swift b/Jervis/Views/Connectivity/ConnectivityView.swift similarity index 100% rename from Jarvis/Views/Connectivity/ConnectivityView.swift rename to Jervis/Views/Connectivity/ConnectivityView.swift diff --git a/Jarvis/Views/Feeds/AddFeedSheet.swift b/Jervis/Views/Feeds/AddFeedSheet.swift similarity index 100% rename from Jarvis/Views/Feeds/AddFeedSheet.swift rename to Jervis/Views/Feeds/AddFeedSheet.swift diff --git a/Jarvis/Views/Feeds/FeedManagerView.swift b/Jervis/Views/Feeds/FeedManagerView.swift similarity index 100% rename from Jarvis/Views/Feeds/FeedManagerView.swift rename to Jervis/Views/Feeds/FeedManagerView.swift diff --git a/Jarvis/Views/Home/SignalFeedView.swift b/Jervis/Views/Home/SignalFeedView.swift similarity index 100% rename from Jarvis/Views/Home/SignalFeedView.swift rename to Jervis/Views/Home/SignalFeedView.swift diff --git a/Jarvis/Views/Home/StoryRowView.swift b/Jervis/Views/Home/StoryRowView.swift similarity index 100% rename from Jarvis/Views/Home/StoryRowView.swift rename to Jervis/Views/Home/StoryRowView.swift diff --git a/Jarvis/Views/Onboarding/OnboardingView.swift b/Jervis/Views/Onboarding/OnboardingView.swift similarity index 100% rename from Jarvis/Views/Onboarding/OnboardingView.swift rename to Jervis/Views/Onboarding/OnboardingView.swift diff --git a/Jarvis/Views/Reader/ArticleReaderView.swift b/Jervis/Views/Reader/ArticleReaderView.swift similarity index 100% rename from Jarvis/Views/Reader/ArticleReaderView.swift rename to Jervis/Views/Reader/ArticleReaderView.swift diff --git a/Jarvis/Views/RootTabView.swift b/Jervis/Views/RootTabView.swift similarity index 100% rename from Jarvis/Views/RootTabView.swift rename to Jervis/Views/RootTabView.swift diff --git a/Jarvis/Views/SecondaryTabs.swift b/Jervis/Views/SecondaryTabs.swift similarity index 100% rename from Jarvis/Views/SecondaryTabs.swift rename to Jervis/Views/SecondaryTabs.swift diff --git a/Jarvis/Views/Settings/NotificationsView.swift b/Jervis/Views/Settings/NotificationsView.swift similarity index 100% rename from Jarvis/Views/Settings/NotificationsView.swift rename to Jervis/Views/Settings/NotificationsView.swift diff --git a/Jarvis/Views/Settings/SettingsView.swift b/Jervis/Views/Settings/SettingsView.swift similarity index 100% rename from Jarvis/Views/Settings/SettingsView.swift rename to Jervis/Views/Settings/SettingsView.swift diff --git a/Jarvis/Views/Shared/CachedBadge.swift b/Jervis/Views/Shared/CachedBadge.swift similarity index 100% rename from Jarvis/Views/Shared/CachedBadge.swift rename to Jervis/Views/Shared/CachedBadge.swift diff --git a/Jarvis/Views/Shared/ConnectionBanner.swift b/Jervis/Views/Shared/ConnectionBanner.swift similarity index 100% rename from Jarvis/Views/Shared/ConnectionBanner.swift rename to Jervis/Views/Shared/ConnectionBanner.swift diff --git a/Jarvis/Views/Shared/ShareSheet.swift b/Jervis/Views/Shared/ShareSheet.swift similarity index 100% rename from Jarvis/Views/Shared/ShareSheet.swift rename to Jervis/Views/Shared/ShareSheet.swift diff --git a/Jarvis/Views/Shared/SignalStripe.swift b/Jervis/Views/Shared/SignalStripe.swift similarity index 100% rename from Jarvis/Views/Shared/SignalStripe.swift rename to Jervis/Views/Shared/SignalStripe.swift diff --git a/Jarvis/Views/Shared/SourceChips.swift b/Jervis/Views/Shared/SourceChips.swift similarity index 100% rename from Jarvis/Views/Shared/SourceChips.swift rename to Jervis/Views/Shared/SourceChips.swift diff --git a/Jarvis/Views/Shared/Theme.swift b/Jervis/Views/Shared/Theme.swift similarity index 100% rename from Jarvis/Views/Shared/Theme.swift rename to Jervis/Views/Shared/Theme.swift diff --git a/Jarvis/Views/Story/StoryDetailView.swift b/Jervis/Views/Story/StoryDetailView.swift similarity index 100% rename from Jarvis/Views/Story/StoryDetailView.swift rename to Jervis/Views/Story/StoryDetailView.swift diff --git a/README.md b/README.md index 640b747..246132e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Jarvis (iOS) +# Jervis (iOS) A SwiftUI iOS client for a self-hosted RSS **news-correlation** platform. It shows stories ranked by a server-computed **signal score**, caches full articles for offline @@ -18,7 +18,7 @@ reading, and receives live updates over WebSocket. directly. ``` -Jarvis/ +Jervis/ Models/ Codable + SwiftData models Networking/ APIClient (REST), WebSocketManager Store/ StoryStore, ServerSettings @@ -37,10 +37,10 @@ Jarvis/ ```bash brew install xcodegen # once -xcodegen generate # produces Jarvis.xcodeproj -open Jarvis.xcodeproj # ⌘R in Xcode, or: +xcodegen generate # produces Jervis.xcodeproj +open Jervis.xcodeproj # ⌘R in Xcode, or: -xcodebuild -project Jarvis.xcodeproj -scheme Jarvis \ +xcodebuild -project Jervis.xcodeproj -scheme Jervis \ -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 17' build ``` diff --git a/project.yml b/project.yml index b5ddc22..65ccd48 100644 --- a/project.yml +++ b/project.yml @@ -1,4 +1,4 @@ -name: Jarvis +name: Jervis options: bundleIdPrefix: com.kisani deploymentTarget: @@ -6,14 +6,14 @@ options: createIntermediateGroups: true targets: - Jarvis: + Jervis: type: application platform: iOS deploymentTarget: "17.0" sources: - - path: Jarvis + - path: Jervis info: - path: Jarvis/Info.plist + path: Jervis/Info.plist properties: CFBundleDisplayName: Jervis CFBundleShortVersionString: $(MARKETING_VERSION) @@ -39,6 +39,7 @@ targets: settings: base: PRODUCT_BUNDLE_IDENTIFIER: com.kisani.jarvis + PRODUCT_NAME: Jervis MARKETING_VERSION: "1.0" CURRENT_PROJECT_VERSION: "2" TARGETED_DEVICE_FAMILY: "1"