bump
This commit is contained in:
101
TIMEOUT_UPDATE_SUMMARY.md
Normal file
101
TIMEOUT_UPDATE_SUMMARY.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# Default Timeout Update Summary
|
||||
|
||||
## Overview
|
||||
Updated all default timeout values from **5 seconds to 30 seconds** across the cremote codebase to provide more reasonable defaults for browser automation operations.
|
||||
|
||||
## Files Modified
|
||||
|
||||
### 1. daemon/daemon.go
|
||||
Updated all default timeout values:
|
||||
- **General operations**: 5s → 30s (86 instances)
|
||||
- **Selection timeouts**: 5s → 30s (form operations, element selection)
|
||||
- **Action timeouts**: 5s → 30s (clicks, form submissions, file uploads)
|
||||
- **Comments**: Updated all "default to 5 seconds" → "default to 30 seconds"
|
||||
|
||||
**Exceptions kept at higher values:**
|
||||
- Bulk operations: 30s (unchanged)
|
||||
- Axe-core testing: 30s (unchanged)
|
||||
- OCR processing: 30s (unchanged)
|
||||
- Library injection: 10s (unchanged)
|
||||
- Keyboard testing: 15s (unchanged)
|
||||
- Various accessibility tests: 10-15s (unchanged)
|
||||
|
||||
### 2. main.go
|
||||
Updated CLI flag defaults:
|
||||
- `openTabTimeout`: 5s → 30s
|
||||
- `loadURLTimeout`: 5s → 30s
|
||||
|
||||
### 3. mcp/main.go
|
||||
Updated MCP server defaults:
|
||||
- **Tool schema defaults**: Updated all `"default": 5` → `"default": 30` in InputSchema definitions
|
||||
- **getIntParam calls**: Updated all `getIntParam(params, "timeout", 5)` → `getIntParam(params, "timeout", 30)`
|
||||
- **Description strings**: Updated all "(default: 5)" → "(default: 30)"
|
||||
|
||||
**Total changes in mcp/main.go:**
|
||||
- ~40+ tool schema default values
|
||||
- ~35+ getIntParam default values
|
||||
- ~40+ description strings
|
||||
|
||||
## Rationale
|
||||
|
||||
### Why 30 seconds?
|
||||
1. **Browser automation is inherently slow**: Modern web pages with heavy JavaScript can take 10-20 seconds to fully load
|
||||
2. **Network variability**: Users may have slower connections or be testing remote sites
|
||||
3. **Reduces timeout errors**: 5 seconds was too aggressive and caused frequent timeout failures
|
||||
4. **Industry standard**: Most browser automation tools (Selenium, Playwright, Puppeteer) use 30s as default
|
||||
5. **Better user experience**: Users can always override with shorter timeouts if needed, but starting with a reasonable default prevents frustration
|
||||
|
||||
### Operations that benefit most:
|
||||
- Page navigation and loading
|
||||
- Element selection (waiting for elements to appear)
|
||||
- Form interactions (especially with validation)
|
||||
- File uploads
|
||||
- JavaScript execution
|
||||
- Screenshot capture
|
||||
|
||||
## Testing
|
||||
✅ Code compiles successfully
|
||||
✅ All timeout values updated consistently
|
||||
✅ Comments and documentation updated
|
||||
✅ No breaking changes (users can still override timeouts)
|
||||
|
||||
## Migration Notes
|
||||
- **No breaking changes**: This only affects default values
|
||||
- **Backward compatible**: Users who explicitly set timeout parameters will see no change
|
||||
- **Performance impact**: Operations may take longer to timeout, but this is intentional
|
||||
- **User override**: All timeout parameters can still be explicitly set to any value
|
||||
|
||||
## Examples
|
||||
|
||||
### Before:
|
||||
```go
|
||||
timeout := 5 // Default: 5 seconds
|
||||
```
|
||||
|
||||
### After:
|
||||
```go
|
||||
timeout := 30 // Default: 30 seconds
|
||||
```
|
||||
|
||||
### MCP Tool Before:
|
||||
```go
|
||||
"timeout": map[string]any{
|
||||
"type": "integer",
|
||||
"description": "Timeout in seconds (default: 5)",
|
||||
"default": 5,
|
||||
}
|
||||
```
|
||||
|
||||
### MCP Tool After:
|
||||
```go
|
||||
"timeout": map[string]any{
|
||||
"type": "integer",
|
||||
"description": "Timeout in seconds (default: 30)",
|
||||
"default": 30,
|
||||
}
|
||||
```
|
||||
|
||||
## Related Documentation
|
||||
- See `mcp/PERFORMANCE_BEST_PRACTICES.md` for timeout recommendations
|
||||
- See individual tool documentation for specific timeout guidance
|
||||
|
||||
Reference in New Issue
Block a user