rebrand: Jarvis -> Jervis for App Store submission
Some checks failed
CI / Build · Debug (push) Has been cancelled
CI / Build · Release (push) Has been cancelled

"JARVIS" is Marvel's trademark for the Iron Man/Avengers AI — real
legal risk for a commercial App Store listing, and the name is already
contested there ("Jarvis: Powered by Marvel", "Jarvis - AI Chatbot").
Jervis reads identically but doesn't collide.

Scoped to user-facing surfaces only:
- CFBundleDisplayName, PRODUCT_BUNDLE_IDENTIFIER (com.kisani.jervis)
- BGTaskSchedulerPermittedIdentifiers + matching Swift constants
- NSLocalNetworkUsageDescription permission prompt copy
- JarvisWordmark rendered text ("j" + "ervis")
- Notification permission prompt copy

Internal Xcode target/executable name, Swift type names (JarvisWordmark,
JarvisApp), file/folder names, and repo name are unchanged — renaming
those is a separate, larger refactor with no user-facing benefit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Kutesir
2026-07-13 02:12:48 +03:00
parent afec870919
commit d93ffb1580
6 changed files with 13 additions and 13 deletions

View File

@@ -4,13 +4,13 @@
<dict>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>com.kisani.jarvis.briefing.refresh</string>
<string>com.kisani.jarvis.feed.refresh</string>
<string>com.kisani.jervis.briefing.refresh</string>
<string>com.kisani.jervis.feed.refresh</string>
</array>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Jarvis</string>
<string>Jervis</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
@@ -39,7 +39,7 @@
<true/>
</dict>
<key>NSLocalNetworkUsageDescription</key>
<string>Jarvis connects to your self-hosted news platform on the local network.</string>
<string>Jervis connects to your self-hosted news platform on the local network.</string>
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>

View File

@@ -20,7 +20,7 @@ enum BriefingPeriod { case morning, evening
/// Background-refresh task identifier (also declared in Info.plist
/// BGTaskSchedulerPermittedIdentifiers and registered in AppDelegate).
let jarvisBriefingRefreshID = "com.kisani.jarvis.briefing.refresh"
let jarvisBriefingRefreshID = "com.kisani.jervis.briefing.refresh"
@MainActor
final class NotificationManager: NSObject, ObservableObject {

View File

@@ -8,7 +8,7 @@ import BackgroundTasks
import SwiftData
import UserNotifications
let jarvisFeedRefreshID = "com.kisani.jarvis.feed.refresh"
let jarvisFeedRefreshID = "com.kisani.jervis.feed.refresh"
enum BackgroundRefreshManager {

View File

@@ -52,7 +52,7 @@ struct NotificationsView: View {
private var permissionCard: some View {
VStack(alignment: .leading, spacing: 12) {
Text("Jarvis needs permission to send briefings and breaking alerts.")
Text("Jervis needs permission to send briefings and breaking alerts.")
.font(.system(size: 14)).foregroundStyle(Color(hex: "BBBBBB"))
.fixedSize(horizontal: false, vertical: true)
Button {

View File

@@ -363,7 +363,7 @@ struct JarvisWordmark: View {
var body: some View {
HStack(spacing: 0) {
Text("j").font(font).foregroundStyle(Palette.orange)
Text("arvis").font(font).foregroundStyle(Palette.primaryText)
Text("ervis").font(font).foregroundStyle(Palette.primaryText)
}
}
}