Skip to content

Commit e39176d

Browse files
mercersoftclaude
andcommitted
Clean up debug code and fix linting issues in web components
Remove commented debug logging and fix ESLint/TypeScript warnings: - Remove all commented console.log debug statements from WebSocketContext - Remove unused isConnected variable from DeamonStatus - Replace deprecated substr() with substring() calls - Remove unnecessary contextId dependency from useCallback - Wrap initializeConnection in useCallback to fix dependency warnings - Clean up unused variables and improve code quality 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 03c35ac commit e39176d

File tree

2 files changed

+6
-33
lines changed

2 files changed

+6
-33
lines changed

web/src/components/DeamonStatus.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import { useWebSocket } from "@/context/WebSocketContext"
22

33
export default function DeamonStatus() {
4-
const { status: state, handleButtonClick, isConnected } = useWebSocket()
5-
6-
console.log('🐛 DeamonStatus render:', { state: state.status, isConnected })
4+
const { status: state, handleButtonClick } = useWebSocket()
75

86
const getStatusColor = () => {
97
switch (state.status) {

web/src/context/WebSocketContext.tsx

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,6 @@ export function WebSocketProvider({ children }: WebSocketProviderProps) {
7272
isConnectedRef.current = isConnected
7373
statusRef.current = status
7474

75-
// Add debugging to track state changes
76-
const contextIdRef = useRef(Math.random().toString(36).substr(2, 9))
77-
const contextId = contextIdRef.current
78-
console.log(`🐛 WebSocketProvider[${contextId}] render:`, {
79-
isConnected,
80-
wsExists: !!ws,
81-
wsState: ws?.readyState,
82-
status: status.status
83-
})
8475

8576
const pendingRequests = useRef<Map<string, {
8677
addOutput: (text: string) => void
@@ -125,7 +116,7 @@ export function WebSocketProvider({ children }: WebSocketProviderProps) {
125116
}, 100)
126117
}
127118

128-
const initializeConnection = () => {
119+
const initializeConnection = useCallback(() => {
129120
let localWs: WebSocket | null = null
130121
let timeoutId: NodeJS.Timeout | null = null
131122

@@ -167,12 +158,10 @@ export function WebSocketProvider({ children }: WebSocketProviderProps) {
167158

168159
case 'authenticated':
169160
// Authentication successful, request version
170-
console.log('🐛 WebSocket authenticated, calling setIsConnected(true)')
171161
localWs?.send(JSON.stringify({
172162
type: 'version'
173163
}))
174164
setIsConnected(true)
175-
console.log('🐛 setIsConnected(true) called')
176165
break
177166

178167
case 'version':
@@ -292,7 +281,7 @@ export function WebSocketProvider({ children }: WebSocketProviderProps) {
292281
}
293282

294283
connect()
295-
}
284+
}, [])
296285

297286
const handleCommandResult = (result: CommandResult) => {
298287
const request = pendingRequests.current.get(result.requestId)
@@ -332,20 +321,6 @@ export function WebSocketProvider({ children }: WebSocketProviderProps) {
332321
// Use refs to get current values (not stale closure values)
333322
const currentIsConnected = isConnectedRef.current
334323
const currentWs = wsRef.current
335-
const currentStatus = statusRef.current
336-
337-
// Add extensive debugging
338-
console.log(`🐛 executeCommand[${contextId}] called:`, {
339-
command,
340-
stateIsConnected: isConnected,
341-
refIsConnected: currentIsConnected,
342-
stateWs: !!ws,
343-
refWs: !!currentWs,
344-
wsState: currentWs?.readyState,
345-
statusState: currentStatus
346-
})
347-
348-
// addOutput(`🐛 DEBUG: refIsConnected=${currentIsConnected}, refWs=${!!currentWs}, wsState=${currentWs?.readyState}, status=${currentStatus.status}`)
349324

350325
if (!currentIsConnected || !currentWs) {
351326
addOutput('Error: Not connected to daemon')
@@ -378,7 +353,7 @@ export function WebSocketProvider({ children }: WebSocketProviderProps) {
378353
}
379354

380355
// Generate unique request ID
381-
const requestId = Date.now().toString() + Math.random().toString(36).substr(2, 9)
356+
const requestId = Date.now().toString() + Math.random().toString(36).substring(2, 11)
382357

383358
// Store the request callbacks
384359
pendingRequests.current.set(requestId, { addOutput, endOutput })
@@ -401,12 +376,12 @@ export function WebSocketProvider({ children }: WebSocketProviderProps) {
401376
addOutput('Error: Failed to send command to daemon')
402377
setTimeout(endOutput, 100)
403378
}
404-
}, [contextId]) // Only depend on contextId since we use refs for state
379+
}, []) // Use refs for state to avoid stale closures
405380

406381
// Auto-connect on mount
407382
useEffect(() => {
408383
initializeConnection()
409-
}, [])
384+
}, [initializeConnection])
410385

411386
const contextValue: WebSocketContextType = {
412387
status,

0 commit comments

Comments
 (0)