fix: Harden socket security and add hook installation consent#48
Open
pablotp wants to merge 1 commit into
Open
fix: Harden socket security and add hook installation consent#48pablotp wants to merge 1 commit into
pablotp wants to merge 1 commit into
Conversation
- Change Unix socket permissions from 0o777 to 0o600 (owner-only) - Move socket from /tmp/claude-island.sock to ~/.claude/claude-island.sock - Add token-based authentication to the socket protocol - Require user consent before modifying ~/.claude/settings.json Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
012ef9e to
e461a4c
Compare
Author
|
@farouqaldori JFYI I have been testing #53 #52 #51 and #48 together on my machine (Mac Tahoe 26.3) for the last 2 days and are working without issues. Thanks for creating this amazing project! |
This was referenced Feb 25, 2026
rosuH
pushed a commit
to rosuH/claude-island
that referenced
this pull request
Apr 14, 2026
…ri#48) * refactor(perf): adopt Swift 6.2 concurrency and performance patterns - Fix ConversationParser actor starvation by extracting file I/O into nonisolated static methods, preventing actor lock during disk ops - Add swift-subprocess package for async process execution, replacing Foundation.Process + DispatchQueue boilerplate in ProcessExecutor - Optimize HookSocketServer buffer with withUnsafeTemporaryAllocation for stack allocation instead of per-read heap allocation - Use lazy split() in incremental parsing to avoid full array allocation - Move NotchHeaderView animation arrays to static properties * perf: implement Swift 6.2 performance optimizations - Cache LCS computation in SimpleDiffView to avoid redundant calculations - Use space-optimized LCS algorithm with UInt8 direction matrix - Add ProcessTree struct with O(1) parent→children index for descendant lookup - Replace components(separatedBy:) with split() for efficient Substring handling - Add reserveCapacity() calls for predictable array sizes - Unify ClaudeSessionMonitor Task bridging to reduce executor hops - Document @Concurrent candidates in ProcessExecutor for Swift 6.2 adoption * perf: add Swift 6.2 concurrency optimizations - Enable nonisolated(nonsending) by default via compiler flag - Enable global concurrency feature for @Concurrent attribute support - Add @Concurrent to ProcessExecutor async methods for explicit concurrent execution - Defer String allocation in ConversationParser incremental parsing hot path * Address review comments from PR farouqaldori#48 - Fix SimpleDiffView computed property recomputation: cachedDiffResult was a computed property, causing the expensive LCS algorithm to run multiple times per render pass. Now computed once at the start of body. - Fix misleading "off-actor" comment in ConversationParser: nonisolated static methods called synchronously from within an actor still execute on the actor's executor. Updated documentation to accurately describe the behavior. - Fix processIncrementalContent returning all messages on no-op reads: when there's no new content, the function now returns an empty array instead of state.messages, which would incorrectly report all messages as "new" in the IncrementalParseResult.newMessages field.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
connection and reject unauthorized events; clean up legacy /tmp/ socket on start; add token field to HookEvent
Security considerations