Skip to content

Commit 4ffc1cd

Browse files
committed
chore: clean & improve code
1 parent 23422b4 commit 4ffc1cd

1 file changed

Lines changed: 77 additions & 0 deletions

File tree

todo.MD

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,83 @@ Urgent:
22
- cancelling tasks
33
- AI asking follow up questions to a task
44

5+
chore:
6+
### **🔴 CRITICAL ISSUES**
7+
8+
#### **1. Excessive Console Logging (Production Risk)**
9+
- **50+ console.log statements** across files should be replaced with proper logging
10+
- **50+ console.error statements** need structured logging
11+
- Key files with excessive logging:
12+
- `public/dashboard/script.js`: 25+ console.log statements
13+
- `index.js`: 15+ console.log statements
14+
- `socket.js`: 10+ console.log statements
15+
- `database.js`: 10+ console.log statements
16+
17+
#### **2. Overly Large Files (Maintainability Risk)**
18+
- `index.js`: **1,055 lines** - central orchestrator doing too much
19+
- `database.js`: **1,581 lines** - should be split into modules
20+
- `public/dashboard/script.js`: **2,290 lines** - massive frontend file
21+
- `socket.js`: **761 lines** - mixing HTTP and WebSocket concerns
22+
23+
#### **3. Hard-coded Values (Configuration Risk)**
24+
- **Localhost URLs hardcoded in 8+ locations**:
25+
```javascript
26+
// socket.js line 81
27+
origin: ["http://localhost:3001", "http://127.0.0.1:3001", "http://localhost:3000", "http://127.0.0.1:3000"]
28+
```
29+
- **Docker image hardcoded**: `python:3.9-slim` in `tools/docker.js`
30+
- **Magic numbers**: `SCREENSHOT_INTERVAL = 5000`, `MAX_HISTORY_LENGTH`
31+
32+
### **🟡 SECURITY CONCERNS**
33+
34+
#### **4. Environment Variable Issues**
35+
- `JWT_SECRET` used without validation in multiple files
36+
- Missing defaults for critical env vars: `OPENROUTER_API_KEY`, `SMTP_*`
37+
- Potential security risk if env vars are undefined
38+
39+
#### **5. File Path Security**
40+
- Direct file path manipulation in `tools/docker.js` without sufficient validation
41+
- Path normalization that could be vulnerable to traversal attacks
42+
43+
### **🟠 CODE STRUCTURE ISSUES**
44+
45+
#### **6. Function Complexity**
46+
- `centralOrchestrator()` in `index.js`: **250+ lines**, too many responsibilities
47+
- Multiple functions with 10+ parameters
48+
- Deep nesting levels (4-5 levels in some functions)
49+
50+
#### **7. Error Handling Problems**
51+
- **Complex JSON parsing fallbacks** in `database.js` lines 1365-1427:
52+
```javascript
53+
function tryParseJSON(str, defaultValue) {
54+
// 60+ lines of fallback parsing logic
55+
}
56+
```
57+
- Inconsistent error message formats across the codebase
58+
59+
#### **8. Mixed Responsibilities**
60+
- `socket.js` handles both HTTP routes and WebSocket events
61+
- `database.js` contains both data access and utility functions
62+
- Frontend files mix UI logic with API calls
63+
64+
### **🔵 CODE QUALITY ISSUES**
65+
66+
#### **9. Inconsistent Coding Patterns**
67+
- Mixed arrow functions and regular functions
68+
- Inconsistent variable naming (camelCase vs snake_case)
69+
- Some files use semicolons, others don't
70+
71+
#### **10. Missing Documentation**
72+
- Limited JSDoc comments on public functions
73+
- No inline documentation for complex logic
74+
- Missing README sections for tool development
75+
76+
#### **11. Frontend Code Issues**
77+
- **Global function pollution** in `public/dashboard/script.js`
78+
- Mixed concerns: DOM manipulation + API calls + state management
79+
- No proper state management pattern
80+
81+
582
Nice to have:
683
- voice mode
784
- API

0 commit comments

Comments
 (0)