惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
M
MIT News - Artificial intelligence
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
博客园_首页
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
F
Fortinet All Blogs
腾讯CDC
罗磊的独立博客
IT之家
IT之家
I
InfoQ
V
V2EX
博客园 - 叶小钗
A
About on SuperTechFans
Y
Y Combinator Blog
C
Check Point Blog
量子位
Martin Fowler
Martin Fowler
Vercel News
Vercel News

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
chore: update ios configuration · openclaw/openclaw@c932bf3
joshavant · 2026-06-16 · via Recent Commits to openclaw:main
Original file line numberDiff line numberDiff line change

@@ -5,10 +5,10 @@ OPENCLAW_IOS_DEFAULT_TEAM = Y5PE65HELJ

55

OPENCLAW_IOS_SELECTED_TEAM = $(OPENCLAW_IOS_DEFAULT_TEAM)

66

OPENCLAW_DEVELOPMENT_TEAM = $(OPENCLAW_IOS_SELECTED_TEAM)

77

OPENCLAW_CODE_SIGN_STYLE = Automatic

8-

OPENCLAW_APP_BUNDLE_ID = ai.openclaw.client

9-

OPENCLAW_WATCH_APP_BUNDLE_ID = ai.openclaw.client.watchkitapp

10-

OPENCLAW_WATCH_EXTENSION_BUNDLE_ID = ai.openclaw.client.watchkitapp.extension

11-

OPENCLAW_ACTIVITY_WIDGET_BUNDLE_ID = ai.openclaw.client.activitywidget

8+

OPENCLAW_APP_BUNDLE_ID = ai.openclawfoundation.app

9+

OPENCLAW_WATCH_APP_BUNDLE_ID = ai.openclawfoundation.app.watchkitapp

10+

OPENCLAW_WATCH_EXTENSION_BUNDLE_ID = ai.openclawfoundation.app.watchkitapp.extension

11+

OPENCLAW_ACTIVITY_WIDGET_BUNDLE_ID = ai.openclawfoundation.app.activitywidget

1212

OPENCLAW_WATCH_APP_PROFILE =

1313

OPENCLAW_WATCH_EXTENSION_PROFILE =

1414
Original file line numberDiff line numberDiff line change

@@ -17,7 +17,7 @@ final class ShareViewController: UIViewController {

1717

var attachments: [ShareAttachment]

1818

}

1919
20-

private let logger = Logger(subsystem: "ai.openclaw.ios", category: "ShareExtension")

20+

private let logger = Logger(subsystem: "ai.openclawfoundation.app", category: "ShareExtension")

2121

private var statusLabel: UILabel?

2222

private let draftTextView = UITextView()

2323

private let sendButton = UIButton(type: .system)

Original file line numberDiff line numberDiff line change

@@ -7,14 +7,14 @@

77

OPENCLAW_CODE_SIGN_STYLE = Manual

88

OPENCLAW_DEVELOPMENT_TEAM = Y5PE65HELJ

99
10-

OPENCLAW_APP_BUNDLE_ID = ai.openclaw.client

11-

OPENCLAW_SHARE_BUNDLE_ID = ai.openclaw.client.share

12-

OPENCLAW_WATCH_APP_BUNDLE_ID = ai.openclaw.client.watchkitapp

13-

OPENCLAW_WATCH_EXTENSION_BUNDLE_ID = ai.openclaw.client.watchkitapp.extension

14-

OPENCLAW_ACTIVITY_WIDGET_BUNDLE_ID = ai.openclaw.client.activitywidget

10+

OPENCLAW_APP_BUNDLE_ID = ai.openclawfoundation.app

11+

OPENCLAW_SHARE_BUNDLE_ID = ai.openclawfoundation.app.share

12+

OPENCLAW_WATCH_APP_BUNDLE_ID = ai.openclawfoundation.app.watchkitapp

13+

OPENCLAW_WATCH_EXTENSION_BUNDLE_ID = ai.openclawfoundation.app.watchkitapp.extension

14+

OPENCLAW_ACTIVITY_WIDGET_BUNDLE_ID = ai.openclawfoundation.app.activitywidget

1515
16-

OPENCLAW_APP_PROFILE = ai.openclaw.client Development

17-

OPENCLAW_SHARE_PROFILE = ai.openclaw.client.share Development

16+

OPENCLAW_APP_PROFILE = ai.openclawfoundation.app Development

17+

OPENCLAW_SHARE_PROFILE = ai.openclawfoundation.app.share Development

1818
1919

// Keep local includes after defaults: xcconfig is evaluated top-to-bottom,

2020

// so later assignments in local files override the defaults above.

Original file line numberDiff line numberDiff line change

@@ -6,7 +6,7 @@ final class NetworkStatusService: @unchecked Sendable {

66

func currentStatus(timeoutMs: Int = 1500) async -> OpenClawNetworkStatusPayload {

77

await withCheckedContinuation { cont in

88

let monitor = NWPathMonitor()

9-

let queue = DispatchQueue(label: "ai.openclaw.ios.network-status")

9+

let queue = DispatchQueue(label: "ai.openclawfoundation.app.network-status")

1010

let state = NetworkStatusState()

1111
1212

monitor.pathUpdateHandler = { path in

Original file line numberDiff line numberDiff line change

@@ -59,7 +59,7 @@ final class GatewayDiscoveryModel {

5959

let browser = GatewayDiscoveryBrowserSupport.makeBrowser(

6060

serviceType: OpenClawBonjour.gatewayServiceType,

6161

domain: domain,

62-

queueLabelPrefix: "ai.openclaw.ios.gateway-discovery",

62+

queueLabelPrefix: "ai.openclawfoundation.app.gateway-discovery",

6363

onState: { [weak self] state in

6464

guard let self else { return }

6565

self.statesByDomain[domain] = state

Original file line numberDiff line numberDiff line change

@@ -443,7 +443,7 @@ enum GatewaySettingsStore {

443443

}

444444
445445

enum GatewayDiagnostics {

446-

private static let logger = Logger(subsystem: "ai.openclaw.ios", category: "GatewayDiag")

446+

private static let logger = Logger(subsystem: "ai.openclawfoundation.app", category: "GatewayDiag")

447447

private static let queue = DispatchQueue(label: "ai.openclaw.gateway.diagnostics")

448448

private static let maxLogBytes: Int64 = 512 * 1024

449449

private static let keepLogBytes: Int64 = 256 * 1024

Original file line numberDiff line numberDiff line change

@@ -4,7 +4,7 @@

44

<dict>

55

<key>BGTaskSchedulerPermittedIdentifiers</key>

66

<array>

7-

<string>ai.openclaw.ios.bgrefresh</string>

7+

<string>ai.openclawfoundation.app.bgrefresh</string>

88

</array>

99

<key>CFBundleDevelopmentRegion</key>

1010

<string>$(DEVELOPMENT_LANGUAGE)</string>

@@ -28,7 +28,7 @@

2828

<array>

2929

<dict>

3030

<key>CFBundleURLName</key>

31-

<string>ai.openclaw.ios</string>

31+

<string>ai.openclawfoundation.app</string>

3232

<key>CFBundleURLSchemes</key>

3333

<array>

3434

<string>openclaw</string>

Original file line numberDiff line numberDiff line change

@@ -7,7 +7,7 @@ import os

77

final class LiveActivityManager {

88

static let shared = LiveActivityManager()

99
10-

private let logger = Logger(subsystem: "ai.openclaw.ios", category: "LiveActivity")

10+

private let logger = Logger(subsystem: "ai.openclawfoundation.app", category: "LiveActivity")

1111

private let connectingStaleSeconds: TimeInterval = 120

1212

private let hydrationStaleSeconds: TimeInterval = 300

1313

private var currentActivity: Activity<OpenClawActivityAttributes>?

Original file line numberDiff line numberDiff line change

@@ -88,14 +88,14 @@ final class NodeAppModel {

8888

var pendingApprovalIDs: [String]?

8989

}

9090
91-

private let deepLinkLogger = Logger(subsystem: "ai.openclaw.ios", category: "DeepLink")

92-

private let pushWakeLogger = Logger(subsystem: "ai.openclaw.ios", category: "PushWake")

93-

private let pendingActionLogger = Logger(subsystem: "ai.openclaw.ios", category: "PendingAction")

94-

private let locationWakeLogger = Logger(subsystem: "ai.openclaw.ios", category: "LocationWake")

95-

private let watchReplyLogger = Logger(subsystem: "ai.openclaw.ios", category: "WatchReply")

96-

private let watchExecApprovalLogger = Logger(subsystem: "ai.openclaw.ios", category: "WatchExecApproval")

91+

private let deepLinkLogger = Logger(subsystem: "ai.openclawfoundation.app", category: "DeepLink")

92+

private let pushWakeLogger = Logger(subsystem: "ai.openclawfoundation.app", category: "PushWake")

93+

private let pendingActionLogger = Logger(subsystem: "ai.openclawfoundation.app", category: "PendingAction")

94+

private let locationWakeLogger = Logger(subsystem: "ai.openclawfoundation.app", category: "LocationWake")

95+

private let watchReplyLogger = Logger(subsystem: "ai.openclawfoundation.app", category: "WatchReply")

96+

private let watchExecApprovalLogger = Logger(subsystem: "ai.openclawfoundation.app", category: "WatchExecApproval")

9797

private let execApprovalNotificationLogger = Logger(

98-

subsystem: "ai.openclaw.ios",

98+

subsystem: "ai.openclawfoundation.app",

9999

category: "ExecApprovalNotification")

100100

enum CameraHUDKind {

101101

case photo

Original file line numberDiff line numberDiff line change

@@ -22,9 +22,9 @@ enum OpenClawAppModelRegistry {

2222
2323

@MainActor

2424

final class OpenClawAppDelegate: NSObject, UIApplicationDelegate, @preconcurrency UNUserNotificationCenterDelegate {

25-

private let logger = Logger(subsystem: "ai.openclaw.ios", category: "Push")

26-

private let backgroundWakeLogger = Logger(subsystem: "ai.openclaw.ios", category: "BackgroundWake")

27-

private static let wakeRefreshTaskIdentifier = "ai.openclaw.ios.bgrefresh"

25+

private let logger = Logger(subsystem: "ai.openclawfoundation.app", category: "Push")

26+

private let backgroundWakeLogger = Logger(subsystem: "ai.openclawfoundation.app", category: "BackgroundWake")

27+

private static let wakeRefreshTaskIdentifier = "ai.openclawfoundation.app.bgrefresh"

2828

private var backgroundWakeTask: Task<Bool, Never>?

2929

private var pendingAPNsDeviceToken: Data?

3030

private var pendingWatchPromptActions: [PendingWatchPromptAction] = []