Skip to content

Commit 3afd866

Browse files
raludiclaude
andcommitted
- farouqaldori#37: SubagentStop sets status to "processing" instead of "waiting_for_input" — prevents notification sound when subagents complete - farouqaldori#26: Add trailing padding to spinner/checkmark in collapsed notch to prevent clipping into the notch border - farouqaldori#43: Lower macOS deployment target from 15.6 to 15.0 for broader compatibility. Add @mainactor to WindowManager for concurrency safety - farouqaldori#51: Support Local.xcconfig for signing overrides in build script. Add Local.xcconfig to .gitignore Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 73b7eae commit 3afd866

7 files changed

Lines changed: 22 additions & 7 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ Pods/
3333
*.iml
3434
.vscode/
3535

36+
# Local build configuration (signing overrides)
37+
Local.xcconfig
38+
3639
# Sparkle signing keys (NEVER commit these!)
3740
.sparkle-keys/
3841

ClaudeIsland.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@
225225
GCC_WARN_UNUSED_FUNCTION = YES;
226226
GCC_WARN_UNUSED_VARIABLE = YES;
227227
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
228-
MACOSX_DEPLOYMENT_TARGET = 15.6;
228+
MACOSX_DEPLOYMENT_TARGET = 15.0;
229229
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
230230
MTL_FAST_MATH = YES;
231231
ONLY_ACTIVE_ARCH = YES;
@@ -283,7 +283,7 @@
283283
GCC_WARN_UNUSED_FUNCTION = YES;
284284
GCC_WARN_UNUSED_VARIABLE = YES;
285285
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
286-
MACOSX_DEPLOYMENT_TARGET = 15.6;
286+
MACOSX_DEPLOYMENT_TARGET = 15.0;
287287
MTL_ENABLE_DEBUG_INFO = NO;
288288
MTL_FAST_MATH = YES;
289289
SDKROOT = macosx;

ClaudeIsland/App/WindowManager.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import os.log
1111
/// Logger for window management
1212
private let logger = Logger(subsystem: "com.claudeisland", category: "Window")
1313

14+
@MainActor
1415
class WindowManager {
1516
private(set) var windowController: NotchWindowController?
1617

ClaudeIsland/UI/Views/NotchView.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,11 +283,13 @@ struct NotchView: View {
283283
ProcessingSpinner()
284284
.matchedGeometryEffect(id: "spinner", in: activityNamespace, isSource: showClosedActivity)
285285
.frame(width: viewModel.status == .opened ? 20 : sideWidth)
286+
.padding(.trailing, viewModel.status == .opened ? 0 : 4)
286287
} else if hasWaitingForInput {
287288
// Checkmark for waiting-for-input on the right side
288289
ReadyForInputIndicatorIcon(size: 14, color: TerminalColors.green)
289290
.matchedGeometryEffect(id: "spinner", in: activityNamespace, isSource: showClosedActivity)
290291
.frame(width: viewModel.status == .opened ? 20 : sideWidth)
292+
.padding(.trailing, viewModel.status == .opened ? 0 : 4)
291293
}
292294
}
293295
}

ClaudeIslandBridge/main.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,8 @@ func main() {
219219
state["status"] = "waiting_for_input"
220220

221221
case "SubagentStop":
222-
state["status"] = "waiting_for_input"
222+
// SubagentStop fires when a subagent completes - main session continues processing
223+
state["status"] = "processing"
223224

224225
case "SessionStart":
225226
state["status"] = "waiting_for_input"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ This fork removes telemetry, replaces the Python bridge with a compiled Swift bi
4141

4242
## Requirements
4343

44-
- macOS 15.6+
44+
- macOS 15.0+
4545
- Claude Code CLI
4646

4747
## Install

scripts/build.sh

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,30 @@ mkdir -p "$BUILD_DIR"
1717

1818
cd "$PROJECT_DIR"
1919

20+
# Use Local.xcconfig for signing overrides if it exists
21+
XCCONFIG_FLAG=""
22+
if [ -f "$PROJECT_DIR/Local.xcconfig" ]; then
23+
XCCONFIG_FLAG="-xcconfig $PROJECT_DIR/Local.xcconfig"
24+
echo "Using Local.xcconfig for signing configuration"
25+
echo ""
26+
fi
27+
2028
# Build and archive
2129
echo "Archiving..."
2230
xcodebuild archive \
2331
-scheme ClaudeIsland \
2432
-configuration Release \
2533
-archivePath "$ARCHIVE_PATH" \
2634
-destination "generic/platform=macOS" \
35+
$XCCONFIG_FLAG \
2736
ENABLE_HARDENED_RUNTIME=YES \
28-
CODE_SIGN_STYLE=Automatic \
2937
| xcpretty || xcodebuild archive \
3038
-scheme ClaudeIsland \
3139
-configuration Release \
3240
-archivePath "$ARCHIVE_PATH" \
3341
-destination "generic/platform=macOS" \
34-
ENABLE_HARDENED_RUNTIME=YES \
35-
CODE_SIGN_STYLE=Automatic
42+
$XCCONFIG_FLAG \
43+
ENABLE_HARDENED_RUNTIME=YES
3644

3745
# Create ExportOptions.plist if it doesn't exist
3846
EXPORT_OPTIONS="$BUILD_DIR/ExportOptions.plist"

0 commit comments

Comments
 (0)