Update submodule references
- botserver: Fix notify dependency and source files - botbook: Update PROMPT.md - botui: Update UI components and themes Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
5b34b21622
commit
b798123f14
6 changed files with 80 additions and 31 deletions
58
README.md
58
README.md
|
|
@ -439,6 +439,64 @@ cargo test -p bottest
|
||||||
3. Run [Weekly Maintenance Tasks](#-weekly-maintenance-tasks) to keep codebase healthy
|
3. Run [Weekly Maintenance Tasks](#-weekly-maintenance-tasks) to keep codebase healthy
|
||||||
4. Read project-specific READMEs in [Project-Specific Guidelines](#-project-specific-guidelines)
|
4. Read project-specific READMEs in [Project-Specific Guidelines](#-project-specific-guidelines)
|
||||||
|
|
||||||
|
## 🎭 Playwright Browser Testing - YOLO Mode
|
||||||
|
|
||||||
|
### YOLO Mode Instructions for LLMs
|
||||||
|
|
||||||
|
**When user requests to start YOLO mode with Playwright:**
|
||||||
|
|
||||||
|
1. **Start the browser** - Use `mcp__playwright__browser_navigate` to open http://localhost:3000
|
||||||
|
2. **Take snapshot** - Use `mcp__playwright__browser_snapshot` to see current page state
|
||||||
|
3. **Test user flows** - Use click, type, fill_form, etc. to interact with UI
|
||||||
|
4. **Verify results** - Check for expected content, errors in console, network requests
|
||||||
|
5. **Report findings** - Always include screenshot evidence with `browser_take_screenshot`
|
||||||
|
|
||||||
|
**Available Playwright MCP Tools:**
|
||||||
|
- `browser_navigate` - Navigate to URL
|
||||||
|
- `browser_snapshot` - Get accessibility tree (better than screenshots for analysis)
|
||||||
|
- `browser_take_screenshot` - Capture visual state
|
||||||
|
- `browser_click` - Click elements (provide ref from snapshot)
|
||||||
|
- `browser_type` - Type text into inputs
|
||||||
|
- `browser_fill_form` - Fill multiple form fields at once
|
||||||
|
- `browser_console_messages` - Check for JavaScript errors
|
||||||
|
- `browser_network_requests` - Inspect API calls
|
||||||
|
- `browser_close` - Close browser when done
|
||||||
|
|
||||||
|
**YOLO Testing Workflow:**
|
||||||
|
```
|
||||||
|
1. Navigate → http://localhost:3000
|
||||||
|
2. Snapshot → Analyze page structure
|
||||||
|
3. Click → Target element using ref from snapshot
|
||||||
|
4. Wait → For navigation/updates (browser_wait_for)
|
||||||
|
5. Verify → Console messages, network status
|
||||||
|
6. Screenshot → Document test results
|
||||||
|
```
|
||||||
|
|
||||||
|
**Testing Checklist:**
|
||||||
|
- ✅ UI loads without errors
|
||||||
|
- ✅ Navigation works between sections
|
||||||
|
- ✅ Forms submit correctly
|
||||||
|
- ✅ WebSocket connections establish
|
||||||
|
- ✅ Console shows no JavaScript errors
|
||||||
|
- ✅ Network requests return 200/201/204
|
||||||
|
|
||||||
|
**Critical Test Flows:**
|
||||||
|
- **Login/Authentication** → Navigate, enter credentials, verify session
|
||||||
|
- **Bot Creation** → Click "New Bot", fill form, verify creation
|
||||||
|
- **Chat Interface** → Send message, verify WebSocket response
|
||||||
|
- **File Upload** → Upload .bas file, verify compilation
|
||||||
|
- **Drive Sync** → Trigger sync, verify files appear
|
||||||
|
|
||||||
|
**Error Handling in YOLO Mode:**
|
||||||
|
- If navigation fails: Check if servers running (`ps aux | grep botserver`)
|
||||||
|
- If element not found: Take snapshot to debug current page state
|
||||||
|
- If console errors: Extract and report to user for fixing
|
||||||
|
- If network failures: Check API endpoints and CORS configuration
|
||||||
|
|
||||||
|
### Integration Testing
|
||||||
|
|
||||||
|
For automated test suites, prefer `cargo test -p bottest` for backend logic and Playwright YOLO mode for full-stack UI testing.
|
||||||
|
|
||||||
## 🧪 Testing Strategy
|
## 🧪 Testing Strategy
|
||||||
|
|
||||||
### Unit Tests
|
### Unit Tests
|
||||||
|
|
|
||||||
2
botbook
2
botbook
|
|
@ -1 +1 @@
|
||||||
Subproject commit 3e418df1a854fb2c98258b0c454082cd751a8123
|
Subproject commit 6d48dbba1b21f7fdefd4dfa30d0e33e2879980bb
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 5ea171d12617751283c50c955635135a10a52ad7
|
Subproject commit 17cb4ef1479c50c0ed9708fc5862a176b1c9a61f
|
||||||
2
botui
2
botui
|
|
@ -1 +1 @@
|
||||||
Subproject commit af78f3156594c3bdbb9d76c31b26bcaf30abf77c
|
Subproject commit 161012c6a699625e86f08e190f198cd428b9f83d
|
||||||
19
console-errors.txt
Normal file
19
console-errors.txt
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
Total messages: 587 (Errors: 16, Warnings: 4)
|
||||||
|
Returning 16 messages for level "error"
|
||||||
|
|
||||||
|
[ERROR] Failed to load resource: the server responded with a status of 404 (Not Found) @ http://localhost:3000/public/themes/vapordream.css:0
|
||||||
|
[ERROR] ✗ Failed: 💭 Vapor Dream @ http://localhost:3000/cristo/suite/js/theme-manager.js:85
|
||||||
|
[ERROR] Failed to load resource: the server responded with a status of 404 (Not Found) @ http://localhost:3000/public/themes/saturdaycartoons.css:0
|
||||||
|
[ERROR] ✗ Failed: 📺 Cartoons @ http://localhost:3000/cristo/suite/js/theme-manager.js:85
|
||||||
|
[ERROR] Failed to load resource: the server responded with a status of 404 (Not Found) @ http://localhost:3000/public/themes/cyberpunk.css:0
|
||||||
|
[ERROR] ✗ Failed: 🌃 Cyberpunk @ http://localhost:3000/cristo/suite/js/theme-manager.js:85
|
||||||
|
[ERROR] WebSocket connection to 'ws://localhost:3000/ws/chat?session_id=f48dd5f0-662b-49bb-a9a6-4039f6e143e7&user_id=9f6c12e7-15b7-4443-bb4a-15b8e17ba076&bot_name=cristo' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED @ :819
|
||||||
|
[ERROR] WebSocket error: Event @ :879
|
||||||
|
[ERROR] WebSocket connection to 'ws://localhost:3000/ws/chat?session_id=f48dd5f0-662b-49bb-a9a6-4039f6e143e7&user_id=9f6c12e7-15b7-4443-bb4a-15b8e17ba076&bot_name=cristo' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED @ :819
|
||||||
|
[ERROR] WebSocket error: Event @ :879
|
||||||
|
[ERROR] WebSocket connection to 'ws://localhost:3000/ws/chat?session_id=f48dd5f0-662b-49bb-a9a6-4039f6e143e7&user_id=9f6c12e7-15b7-4443-bb4a-15b8e17ba076&bot_name=cristo' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED @ :819
|
||||||
|
[ERROR] WebSocket error: Event @ :879
|
||||||
|
[ERROR] WebSocket connection to 'ws://localhost:3000/ws/chat?session_id=f48dd5f0-662b-49bb-a9a6-4039f6e143e7&user_id=9f6c12e7-15b7-4443-bb4a-15b8e17ba076&bot_name=cristo' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED @ :819
|
||||||
|
[ERROR] WebSocket error: Event @ :879
|
||||||
|
[ERROR] WebSocket connection to 'ws://localhost:3000/ws/chat?session_id=f48dd5f0-662b-49bb-a9a6-4039f6e143e7&user_id=9f6c12e7-15b7-4443-bb4a-15b8e17ba076&bot_name=cristo' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED @ :819
|
||||||
|
[ERROR] WebSocket error: Event @ :879
|
||||||
28
restart.sh
28
restart.sh
|
|
@ -1,28 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
echo "🛑 Stopping existing processes..."
|
|
||||||
pkill -f botserver || true
|
|
||||||
pkill -f botui || true
|
|
||||||
pkill -f rustc || true
|
|
||||||
|
|
||||||
echo "🧹 Cleaning logs..."
|
|
||||||
rm -f botserver.log botui.log
|
|
||||||
|
|
||||||
echo "🔨 Building botserver..."
|
|
||||||
cargo build -p botserver
|
|
||||||
|
|
||||||
echo "🔨 Building botui..."
|
|
||||||
cargo build -p botui
|
|
||||||
|
|
||||||
echo "🚀 Starting botserver..."
|
|
||||||
RUST_LOG=info ./target/debug/botserver --noconsole > botserver.log 2>&1 &
|
|
||||||
BOTSERVER_PID=$!
|
|
||||||
|
|
||||||
echo "🚀 Starting botui..."
|
|
||||||
BOTSERVER_URL="https://localhost:8088" ./target/debug/botui > botui.log 2>&1 &
|
|
||||||
BOTUI_PID=$!
|
|
||||||
|
|
||||||
echo "✅ Started botserver (PID: $BOTSERVER_PID) and botui (PID: $BOTUI_PID)"
|
|
||||||
echo "📊 Monitor with: tail -f botserver.log botui.log"
|
|
||||||
echo "🌐 Access at: http://localhost:3000"
|
|
||||||
Loading…
Add table
Reference in a new issue