openclaw/apps/macos/Sources/Clawdbot
liji 46aa3205e4 feat(voice-wake): integrate ObjCExceptionCatcher for safe audio tap installation
- Added ObjCExceptionCatcher to handle Objective-C exceptions during AVAudioNode tap installation, preventing crashes when the audio subsystem is not fully initialized.
- Introduced a 0.5s delay before starting the voice wake runtime to ensure the audio subsystem is ready, reducing the risk of AVAudioEngine errors.
- Updated VoiceWakeRuntime to utilize the new exception catcher and implemented retry logic for starting the runtime with exponential backoff.

This enhances the stability of the voice wake feature during app launch.
2026-01-27 16:40:59 +08:00
..
Logging chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
NodeMode fix: avoid duplicate exec approval prompts 2026-01-22 09:53:36 +00:00
Resources chore: bump versions for 2026.1.25 2026-01-25 22:13:04 +00:00
AboutSettings.swift chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
AgeFormatting.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
AgentEventStore.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
AgentEventsWindow.swift fix(macos): resolve AnyCodable alias conflicts 2026-01-20 17:27:45 +00:00
AgentWorkspace.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
AnthropicAuthControls.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
AnthropicOAuth.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
AnthropicOAuthCodeState.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
AnyCodable+Helpers.swift fix: bridge gateway anycodable payloads 2026-01-20 15:48:52 +00:00
AppState.swift feat(voice-wake): integrate ObjCExceptionCatcher for safe audio tap installation 2026-01-27 16:40:59 +08:00
AudioInputDeviceObserver.swift Voice Wake: preserve mic selection across disconnects 2026-01-08 01:36:15 +00:00
CameraCaptureService.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CanvasA2UIActionMessageHandler.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CanvasChromeContainerView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasFileWatcher.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CanvasManager.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CanvasScheme.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasSchemeHandler.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CanvasWindow.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasWindowController.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CanvasWindowController+Helpers.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasWindowController+Navigation.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasWindowController+Testing.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasWindowController+Window.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
ChannelConfigForm.swift style: tidy macOS config UI formatting 2026-01-17 17:22:42 +00:00
ChannelsSettings.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
ChannelsSettings+ChannelSections.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
ChannelsSettings+ChannelState.swift feat: add beta googlechat channel 2026-01-24 23:30:45 +00:00
ChannelsSettings+Helpers.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
ChannelsSettings+View.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
ChannelsStore.swift feat: add beta googlechat channel 2026-01-24 23:30:45 +00:00
ChannelsStore+Config.swift style: tidy macOS config UI formatting 2026-01-17 17:22:42 +00:00
ChannelsStore+Lifecycle.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
ClawdbotConfigFile.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
ClawdbotPaths.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CLIInstaller.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CLIInstallPrompter.swift fix(macos): restore gateway launch agent build 2026-01-12 04:58:38 +00:00
CommandResolver.swift fix(macos): gate project-local node_modules bins to DEBUG 2026-01-27 04:17:40 +00:00
ConfigFileWatcher.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
ConfigSchemaSupport.swift style: tidy macOS config UI formatting 2026-01-17 17:22:42 +00:00
ConfigSettings.swift test(macos): cover gateway host resolution 2026-01-21 03:34:51 +00:00
ConfigStore.swift fix: prevent config clobbering 2026-01-15 04:06:11 +00:00
ConnectionModeCoordinator.swift fix(macos): clear stale gateway failures 2026-01-22 01:48:41 +00:00
ConnectionModeResolver.swift test: cover doctor launchctl env overrides (#1037) 2026-01-16 19:40:45 +00:00
Constants.swift fix: auto-save voice wake words across apps 2026-01-23 23:59:08 +00:00
ContextMenuCardView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
ContextUsageBar.swift chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
ControlChannel.swift fix: improve gateway ssh auth handling 2026-01-22 06:54:08 +00:00
CostUsageMenuView.swift Usage: add cost summaries to /usage + mac menu 2026-01-19 00:05:06 +00:00
CritterIconRenderer.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CritterStatusLabel.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CritterStatusLabel+Behavior.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CronJobEditor.swift refactor: centralize channel ui metadata 2026-01-20 13:11:49 +00:00
CronJobEditor+Helpers.swift refactor: extend channel plugin boundary 2026-01-20 12:07:54 +00:00
CronJobEditor+Testing.swift refactor: extend channel plugin boundary 2026-01-20 12:07:54 +00:00
CronJobsStore.swift fix(macos): resolve AnyCodable alias conflicts 2026-01-20 17:27:45 +00:00
CronModels.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CronSettings.swift refactor: extend channel plugin boundary 2026-01-20 12:07:54 +00:00
CronSettings+Actions.swift refactor(macos): drop duplicate AnyCodable 2026-01-07 19:42:49 +00:00
CronSettings+Helpers.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CronSettings+Layout.swift refactor: extend channel plugin boundary 2026-01-20 12:07:54 +00:00
CronSettings+Rows.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CronSettings+Testing.swift refactor: extend channel plugin boundary 2026-01-20 12:07:54 +00:00
DebugActions.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
DebugSettings.swift fix: gateway summary lookup + test browser opens 2026-01-23 05:54:51 +00:00
DeepLinks.swift fix: finish channels rename sweep 2026-01-13 08:40:40 +00:00
DeviceModelCatalog.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
DevicePairingApprovalPrompter.swift fix: pass android lint and swiftformat 2026-01-19 11:14:27 +00:00
DiagnosticsFileLog.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
DockIconManager.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
ExecApprovals.swift fix(exec-approvals): stabilize allowlist ids (#1521) 2026-01-23 19:00:45 +00:00
ExecApprovalsGatewayPrompter.swift test: cover exec approval prompt gating 2026-01-22 10:00:55 +00:00
ExecApprovalsSocket.swift fix: avoid duplicate exec approval prompts 2026-01-22 09:53:36 +00:00
FileHandle+SafeRead.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
GatewayAutostartPolicy.swift refactor: remove mac attach-only setting 2026-01-12 04:58:38 +00:00
GatewayConnection.swift feat: add beta googlechat channel 2026-01-24 23:30:45 +00:00
GatewayConnectivityCoordinator.swift refactor: unify gateway connectivity state 2026-01-21 05:01:32 +00:00
GatewayDiscoveryHelpers.swift feat(macos): add direct gateway transport 2026-01-24 21:02:13 +00:00
GatewayDiscoveryMenu.swift feat(macos): add direct gateway transport 2026-01-24 21:02:13 +00:00
GatewayDiscoveryPreferences.swift refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
GatewayEndpointStore.swift fix: default direct gateway port + docs (#1603) (thanks @ngutman) 2026-01-24 21:10:54 +00:00
GatewayEnvironment.swift fix: pass android lint and swiftformat 2026-01-19 11:14:27 +00:00
GatewayLaunchAgentManager.swift feat(macos): add attach-only launchd override 2026-01-22 23:08:56 +00:00
GatewayProcessManager.swift fix: gateway summary lookup + test browser opens 2026-01-23 05:54:51 +00:00
GatewayRemoteConfig.swift fix: default direct gateway port + docs (#1603) (thanks @ngutman) 2026-01-24 21:10:54 +00:00
GeneralSettings.swift fix: harden ssh target handling 2026-01-26 21:11:48 +00:00
HealthStore.swift fix(macos): prefer linked channel in health summaries 2026-01-22 23:09:28 +00:00
HeartbeatStore.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
HoverHUD.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
IconState.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
InstancesSettings.swift feat: render native chat markdown via Textual 2026-01-16 09:02:27 +00:00
InstancesStore.swift refactor: migrate iOS gateway to unified ws 2026-01-19 10:08:33 +00:00
LaunchAgentManager.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
Launchctl.swift refactor(macos): centralize process pipe draining 2026-01-17 08:53:10 +00:00
LaunchdManager.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
LogLocator.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
MenuBar.swift feat(macos): add attach-only launchd override 2026-01-22 23:08:56 +00:00
MenuContentView.swift feat: unify device auth + pairing 2026-01-19 10:07:56 +00:00
MenuContextCardInjector.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
MenuHighlightedHostView.swift chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
MenuHostedItem.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
MenuSessionsHeaderView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
MenuSessionsInjector.swift feat(macos): add direct gateway transport 2026-01-24 21:02:13 +00:00
MenuUsageHeaderView.swift fix(macos): wrap usage errors in menu 2026-01-11 02:04:27 +01:00
MicLevelMonitor.swift Voice Wake: preserve mic selection across disconnects 2026-01-08 01:36:15 +00:00
ModelCatalogLoader.swift fix: bundle mac model catalog 2026-01-21 19:58:19 +00:00
NodePairingApprovalPrompter.swift fix: harden ssh target handling 2026-01-26 21:11:48 +00:00
NodeServiceManager.swift feat(mac): manage node service in remote mode 2026-01-18 22:50:02 +00:00
NodesMenu.swift feat: surface node core/ui versions in macOS 2026-01-18 16:00:36 +00:00
NodesStore.swift feat: surface node core/ui versions in macOS 2026-01-18 16:00:36 +00:00
NotificationManager.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
NotifyOverlay.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
NSAttributedString+VoiceWake.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
Onboarding.swift macos: keep CLI install build suffix 2026-01-17 17:45:04 +00:00
OnboardingView+Actions.swift feat(macos): add direct gateway transport 2026-01-24 21:02:13 +00:00
OnboardingView+Chat.swift fix: hide onboarding chat when configured 2026-01-11 10:34:23 +00:00
OnboardingView+Layout.swift refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
OnboardingView+Monitoring.swift Move provider to a plugin-architecture (#661) 2026-01-11 11:45:25 +00:00
OnboardingView+Pages.swift fix: harden ssh target handling 2026-01-26 21:11:48 +00:00
OnboardingView+Testing.swift refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
OnboardingView+Wizard.swift fix: macOS Swift cleanup 2026-01-04 17:57:53 +01:00
OnboardingView+Workspace.swift feat: wire multi-agent config and routing 2026-01-09 12:48:42 +00:00
OnboardingWidgets.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
OnboardingWizard.swift fix(macos): resolve AnyCodable alias conflicts 2026-01-20 17:27:45 +00:00
PeekabooBridgeHostCoordinator.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
PermissionManager.swift Move provider to a plugin-architecture (#661) 2026-01-11 11:45:25 +00:00
PermissionsSettings.swift feat(macos): move location access to permissions tab 2026-01-22 04:50:03 +00:00
PointingHandCursor.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
PortGuardian.swift fix: improve gateway ssh auth handling 2026-01-22 06:54:08 +00:00
PresenceReporter.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
Process+PipeRead.swift refactor(macos): centralize process pipe draining 2026-01-17 08:53:10 +00:00
ProcessInfo+Clawdbot.swift test(macos): isolate env + defaults 2026-01-07 20:32:15 +00:00
RemotePortTunnel.swift fix: harden ssh target handling 2026-01-26 21:11:48 +00:00
RemoteTunnelManager.swift fix: improve gateway ssh auth handling 2026-01-22 06:54:08 +00:00
RuntimeLocator.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
ScreenRecordService.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
ScreenshotSize.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SessionActions.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
SessionData.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
SessionMenuLabelView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SessionMenuPreviewView.swift feat: add sessions preview rpc and menu prewarm 2026-01-22 10:21:50 +00:00
SessionsSettings.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SettingsComponents.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SettingsRootView.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
SettingsWindowOpener.swift Move provider to a plugin-architecture (#661) 2026-01-11 11:45:25 +00:00
ShellExecutor.swift fix(macos): stabilize bridge tunnels 2026-01-10 22:26:47 +01:00
SkillsModels.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SkillsSettings.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SoundEffects.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
StatusPill.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
String+NonEmpty.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SystemRunSettingsView.swift fix(exec-approvals): stabilize allowlist ids (#1521) 2026-01-23 19:00:45 +00:00
TailscaleIntegrationSection.swift chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
TailscaleService.swift refactor: satisfy swiftlint 2026-01-22 00:59:41 +00:00
TalkAudioPlayer.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
TalkModeController.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
TalkModeRuntime.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
TalkModeTypes.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
TalkOverlay.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
TalkOverlayView.swift chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
TerminationSignalWatcher.swift feat: unify device auth + pairing 2026-01-19 10:07:56 +00:00
UsageCostData.swift Usage: add cost summaries to /usage + mac menu 2026-01-19 00:05:06 +00:00
UsageData.swift fix: hide menubar usage errors 2026-01-18 23:18:10 +00:00
UsageMenuLabelView.swift fix: pass android lint and swiftformat 2026-01-19 11:14:27 +00:00
ViewMetrics.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VisualEffectView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoicePushToTalk.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
VoiceSessionCoordinator.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeChime.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeForwarder.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
VoiceWakeGlobalSettingsSync.swift refactor: migrate iOS gateway to unified ws 2026-01-19 10:08:33 +00:00
VoiceWakeHelpers.swift fix: auto-save voice wake words across apps 2026-01-23 23:59:08 +00:00
VoiceWakeOverlay.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeOverlayController+Session.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeOverlayController+Testing.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeOverlayController+Window.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeOverlayTextViews.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeOverlayView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeRuntime.swift feat(voice-wake): integrate ObjCExceptionCatcher for safe audio tap installation 2026-01-27 16:40:59 +08:00
VoiceWakeSettings.swift macOS: fix trigger word input disappearing when typing and on add (#1506) 2026-01-23 20:08:12 +00:00
VoiceWakeTestCard.swift Mac: stabilize voice wake test flow 2026-01-08 01:36:15 +00:00
VoiceWakeTester.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
VoiceWakeTextUtils.swift style: align voice wake text utils format 2026-01-08 01:49:29 +00:00
WebChatManager.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
WebChatSwiftUI.swift fix(macos): resolve AnyCodable alias conflicts 2026-01-20 17:27:45 +00:00
WindowPlacement.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
WorkActivityStore.swift fix: use canonical main session keys in apps 2026-01-15 08:59:05 +00:00