Files
jarvis/project.yml
Robin Kutesa 3b09fa2889
Some checks failed
CI / Build · macos-14 · Debug (push) Has been cancelled
CI / Build · macos-15 · Debug (push) Has been cancelled
CI / Build · macos-14 · Release (push) Has been cancelled
CI / Build · macos-15 · Release (push) Has been cancelled
feat(bg): add background feed refresh every ~30 min
Registers com.kisani.jarvis.feed.refresh as a BGAppRefreshTask.
On each fire it fetches the latest 40 stories and upserts CachedStory
rows so the SwiftData cache is warm before the user opens the app.
Already-cached rows have signalScore / sourceCount refreshed in-place.

Single ModelContainer owned by JarvisApp and shared via
BackgroundRefreshManager.container to avoid multi-container conflicts.
BG task ID registered in AppDelegate and declared in project.yml.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 01:42:20 +03:00

53 lines
1.7 KiB
YAML

name: Jarvis
options:
bundleIdPrefix: com.kisani
deploymentTarget:
iOS: "17.0"
createIntermediateGroups: true
targets:
Jarvis:
type: application
platform: iOS
deploymentTarget: "17.0"
sources:
- path: Jarvis
info:
path: Jarvis/Info.plist
properties:
CFBundleDisplayName: Jarvis
UILaunchScreen:
UIColorName: ""
UISupportedInterfaceOrientations:
- UIInterfaceOrientationPortrait
UIUserInterfaceStyle: Dark
NSLocalNetworkUsageDescription: "Jarvis connects to your self-hosted news platform on the local network."
NSAppTransportSecurity:
NSAllowsArbitraryLoads: true
NSAllowsLocalNetworking: true
LSApplicationQueriesSchemes:
- tailscale
- zerotier
- wireguard
UIBackgroundModes:
- fetch
- processing
BGTaskSchedulerPermittedIdentifiers:
- com.kisani.jarvis.briefing.refresh
- com.kisani.jarvis.feed.refresh
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.kisani.jarvis
MARKETING_VERSION: "1.0"
CURRENT_PROJECT_VERSION: "1"
TARGETED_DEVICE_FAMILY: "1"
SWIFT_VERSION: "5.0"
# Device builds: automatic signing. Change DEVELOPMENT_TEAM to your team
# (e.g. K8BLMMR883) if you prefer. Simulator/CI builds pass
# CODE_SIGNING_ALLOWED=NO on the command line and skip signing.
CODE_SIGN_STYLE: Automatic
DEVELOPMENT_TEAM: "K8BLMMR883"
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: AccentColor
ENABLE_USER_SCRIPT_SANDBOXING: "YES"