mirror of
https://github.com/thomasnordquist/MQTT-Explorer.git
synced 2026-09-11 17:13:53 +00:00
Remove temporary debug files
Co-authored-by: thomasnordquist <7721625+thomasnordquist@users.noreply.github.com>
This commit is contained in:
co-authored by
thomasnordquist
parent
66515bd2ed
commit
20befcd6fd
@@ -1,83 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script to debug AI Assistant chat with Playwright
|
||||
|
||||
set -e
|
||||
|
||||
echo "=== Starting Chat Debug Test ==="
|
||||
|
||||
# Check for API key
|
||||
if [ -z "$OPENAI_API_KEY" ] && [ -z "$GEMINI_API_KEY" ] && [ -z "$LLM_API_KEY" ]; then
|
||||
echo "Error: No LLM API key found. Please set OPENAI_API_KEY, GEMINI_API_KEY, or LLM_API_KEY"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✓ API key found"
|
||||
|
||||
# Start mosquitto if not running
|
||||
if ! pgrep -x "mosquitto" > /dev/null; then
|
||||
echo "Starting mosquitto..."
|
||||
mosquitto -c /dev/null -p 1883 &
|
||||
MOSQUITTO_PID=$!
|
||||
sleep 2
|
||||
else
|
||||
echo "✓ Mosquitto already running"
|
||||
fi
|
||||
|
||||
# Build the server
|
||||
echo "Building server..."
|
||||
yarn build:server
|
||||
|
||||
# Start the server in background
|
||||
echo "Starting server..."
|
||||
export MQTT_EXPLORER_USERNAME=test
|
||||
export MQTT_EXPLORER_PASSWORD=test123
|
||||
export PORT=3000
|
||||
export TESTS_MQTT_BROKER_HOST=127.0.0.1
|
||||
export TESTS_MQTT_BROKER_PORT=1883
|
||||
|
||||
node dist/src/server.js &
|
||||
SERVER_PID=$!
|
||||
|
||||
echo "Server PID: $SERVER_PID"
|
||||
|
||||
# Wait for server to start
|
||||
echo "Waiting for server to be ready..."
|
||||
for i in {1..30}; do
|
||||
if curl -s http://localhost:3000 > /dev/null 2>&1; then
|
||||
echo "✓ Server is ready"
|
||||
break
|
||||
fi
|
||||
if [ $i -eq 30 ]; then
|
||||
echo "Error: Server failed to start"
|
||||
kill $SERVER_PID 2>/dev/null || true
|
||||
kill $MOSQUITTO_PID 2>/dev/null || true
|
||||
exit 1
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# Run the test
|
||||
echo ""
|
||||
echo "=== Running Playwright Test ==="
|
||||
echo ""
|
||||
|
||||
npx playwright test test-chat-debug.ts --headed || TEST_FAILED=1
|
||||
|
||||
# Cleanup
|
||||
echo ""
|
||||
echo "=== Cleanup ==="
|
||||
kill $SERVER_PID 2>/dev/null || true
|
||||
if [ ! -z "$MOSQUITTO_PID" ]; then
|
||||
kill $MOSQUITTO_PID 2>/dev/null || true
|
||||
fi
|
||||
|
||||
if [ "$TEST_FAILED" = "1" ]; then
|
||||
echo ""
|
||||
echo "Test failed. Check the screenshots:"
|
||||
ls -lh screenshot-*.png 2>/dev/null || echo "No screenshots found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "✓ Test completed successfully"
|
||||
@@ -1,83 +0,0 @@
|
||||
import { test, expect } from '@playwright/test'
|
||||
import * as path from 'path'
|
||||
|
||||
test.setTimeout(120000) // 2 minutes for LLM responses
|
||||
|
||||
test('Debug AI Assistant Chat', async ({ page }) => {
|
||||
// Start server is handled by the script
|
||||
|
||||
// Go to the page
|
||||
await page.goto('http://localhost:3000')
|
||||
|
||||
// Wait for page to load
|
||||
await page.waitForLoadState('networkidle')
|
||||
|
||||
// Take screenshot of initial state
|
||||
await page.screenshot({ path: 'screenshot-initial.png', fullPage: true })
|
||||
|
||||
// Check console for errors
|
||||
const consoleMessages: string[] = []
|
||||
const consoleErrors: string[] = []
|
||||
|
||||
page.on('console', msg => {
|
||||
const text = msg.text()
|
||||
consoleMessages.push(`[${msg.type()}] ${text}`)
|
||||
if (msg.type() === 'error') {
|
||||
consoleErrors.push(text)
|
||||
}
|
||||
})
|
||||
|
||||
// Look for the AI Assistant
|
||||
const aiAssistant = page.getByTestId('ai-assistant')
|
||||
await expect(aiAssistant).toBeVisible({ timeout: 10000 })
|
||||
|
||||
console.log('AI Assistant found')
|
||||
|
||||
// Expand the AI Assistant
|
||||
const header = page.getByTestId('ai-assistant-header')
|
||||
await header.click()
|
||||
await page.waitForTimeout(1000)
|
||||
|
||||
// Take screenshot of expanded state
|
||||
await page.screenshot({ path: 'screenshot-expanded.png', fullPage: true })
|
||||
|
||||
console.log('AI Assistant expanded')
|
||||
|
||||
// Try to send a message
|
||||
const input = page.getByTestId('ai-assistant-input')
|
||||
await expect(input).toBeVisible()
|
||||
|
||||
await input.fill('Test message')
|
||||
|
||||
const sendButton = page.getByTestId('ai-assistant-send')
|
||||
await sendButton.click()
|
||||
|
||||
console.log('Message sent, waiting for response...')
|
||||
|
||||
// Wait for a response (up to 60 seconds)
|
||||
try {
|
||||
await page.waitForSelector('[data-testid="ai-message-assistant"]', { timeout: 60000 })
|
||||
console.log('Response received!')
|
||||
|
||||
// Take screenshot of response
|
||||
await page.screenshot({ path: 'screenshot-response.png', fullPage: true })
|
||||
} catch (error) {
|
||||
console.log('No response after 60 seconds')
|
||||
console.log('Console messages:', consoleMessages)
|
||||
console.log('Console errors:', consoleErrors)
|
||||
|
||||
// Take screenshot of error state
|
||||
await page.screenshot({ path: 'screenshot-error.png', fullPage: true })
|
||||
|
||||
throw error
|
||||
}
|
||||
|
||||
// Log console output
|
||||
console.log('\n=== Console Messages ===')
|
||||
consoleMessages.forEach(msg => console.log(msg))
|
||||
|
||||
if (consoleErrors.length > 0) {
|
||||
console.log('\n=== Console Errors ===')
|
||||
consoleErrors.forEach(err => console.log(err))
|
||||
}
|
||||
})
|
||||
-870
@@ -1,870 +0,0 @@
|
||||
Using OpenAI API key (length: 167)
|
||||
LLM Provider: openai
|
||||
1769844756: mosquitto version 2.0.18 starting
|
||||
1769844756: Using default config.
|
||||
1769844756: Starting in local only mode. Connections will only be possible from clients running on this machine.
|
||||
1769844756: Create a configuration file which defines a listener to allow remote access.
|
||||
1769844756: For more details see https://mosquitto.org/documentation/authentication-methods/
|
||||
1769844756: Opening ipv4 listen socket on port 1883.
|
||||
1769844756: Error: Address already in use
|
||||
1769844756: Opening ipv6 listen socket on port 1883.
|
||||
1769844756: Error: Address already in use
|
||||
Downloading Chromium 143.0.7499.4 (playwright build v1200) from https://cdn.playwright.dev/dbazure/download/playwright/builds/chromium/1200/chromium-linux.zip
|
||||
| | 0% of 164.7 MiB
|
||||
|■■■■■■■■ | 10% of 164.7 MiB
|
||||
|■■■■■■■■■■■■■■■■ | 20% of 164.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■ | 30% of 164.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 40% of 164.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 50% of 164.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 60% of 164.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 70% of 164.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 80% of 164.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 90% of 164.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■| 100% of 164.7 MiB
|
||||
Chromium 143.0.7499.4 (playwright build v1200) downloaded to /home/runner/.cache/ms-playwright/chromium-1200
|
||||
Downloading Chromium Headless Shell 143.0.7499.4 (playwright build v1200) from https://cdn.playwright.dev/dbazure/download/playwright/builds/chromium/1200/chromium-headless-shell-linux.zip
|
||||
| | 0% of 109.7 MiB
|
||||
|■■■■■■■■ | 10% of 109.7 MiB
|
||||
|■■■■■■■■■■■■■■■■ | 20% of 109.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■ | 30% of 109.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 40% of 109.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 50% of 109.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 60% of 109.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 70% of 109.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 80% of 109.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 90% of 109.7 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■| 100% of 109.7 MiB
|
||||
Chromium Headless Shell 143.0.7499.4 (playwright build v1200) downloaded to /home/runner/.cache/ms-playwright/chromium_headless_shell-1200
|
||||
Downloading Firefox 144.0.2 (playwright build v1497) from https://cdn.playwright.dev/dbazure/download/playwright/builds/firefox/1497/firefox-ubuntu-24.04.zip
|
||||
| | 0% of 98.4 MiB
|
||||
|■■■■■■■■ | 10% of 98.4 MiB
|
||||
|■■■■■■■■■■■■■■■■ | 20% of 98.4 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■ | 30% of 98.4 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 40% of 98.4 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 50% of 98.4 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 60% of 98.4 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 70% of 98.4 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 80% of 98.4 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 90% of 98.4 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■| 100% of 98.4 MiB
|
||||
Firefox 144.0.2 (playwright build v1497) downloaded to /home/runner/.cache/ms-playwright/firefox-1497
|
||||
Downloading Webkit 26.0 (playwright build v2227) from https://cdn.playwright.dev/dbazure/download/playwright/builds/webkit/2227/webkit-ubuntu-24.04.zip
|
||||
| | 0% of 95.9 MiB
|
||||
|■■■■■■■■ | 10% of 95.9 MiB
|
||||
|■■■■■■■■■■■■■■■■ | 20% of 95.9 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■ | 30% of 95.9 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 40% of 95.9 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 50% of 95.9 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 60% of 95.9 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 70% of 95.9 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 80% of 95.9 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 90% of 95.9 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■| 100% of 95.9 MiB
|
||||
Webkit 26.0 (playwright build v2227) downloaded to /home/runner/.cache/ms-playwright/webkit-2227
|
||||
Downloading FFMPEG playwright build v1011 from https://cdn.playwright.dev/dbazure/download/playwright/builds/ffmpeg/1011/ffmpeg-linux.zip
|
||||
| | 0% of 2.3 MiB
|
||||
|■■■■■■■■ | 10% of 2.3 MiB
|
||||
|■■■■■■■■■■■■■■■■ | 20% of 2.3 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■ | 30% of 2.3 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 40% of 2.3 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 50% of 2.3 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 60% of 2.3 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 70% of 2.3 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 80% of 2.3 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ | 90% of 2.3 MiB
|
||||
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■| 100% of 2.3 MiB
|
||||
FFMPEG playwright build v1011 downloaded to /home/runner/.cache/ms-playwright/ffmpeg-1011
|
||||
Playwright Host validation warning:
|
||||
╔══════════════════════════════════════════════════════╗
|
||||
║ Host system is missing dependencies to run browsers. ║
|
||||
║ Missing libraries: ║
|
||||
║ libgtk-4.so.1 ║
|
||||
║ libgraphene-1.0.so.0 ║
|
||||
║ libwoff2dec.so.1.0.2 ║
|
||||
║ libvpx.so.9 ║
|
||||
║ libevent-2.1.so.7 ║
|
||||
║ libopus.so.0 ║
|
||||
║ libgstallocators-1.0.so.0 ║
|
||||
║ libgstapp-1.0.so.0 ║
|
||||
║ libgstpbutils-1.0.so.0 ║
|
||||
║ libgstaudio-1.0.so.0 ║
|
||||
║ libgsttag-1.0.so.0 ║
|
||||
║ libgstvideo-1.0.so.0 ║
|
||||
║ libgstgl-1.0.so.0 ║
|
||||
║ libgstcodecparsers-1.0.so.0 ║
|
||||
║ libgstfft-1.0.so.0 ║
|
||||
║ libflite.so.1 ║
|
||||
║ libflite_usenglish.so.1 ║
|
||||
║ libflite_cmu_grapheme_lang.so.1 ║
|
||||
║ libflite_cmu_grapheme_lex.so.1 ║
|
||||
║ libflite_cmu_indic_lang.so.1 ║
|
||||
║ libflite_cmu_indic_lex.so.1 ║
|
||||
║ libflite_cmulex.so.1 ║
|
||||
║ libflite_cmu_time_awb.so.1 ║
|
||||
║ libflite_cmu_us_awb.so.1 ║
|
||||
║ libflite_cmu_us_kal16.so.1 ║
|
||||
║ libflite_cmu_us_kal.so.1 ║
|
||||
║ libflite_cmu_us_rms.so.1 ║
|
||||
║ libflite_cmu_us_slt.so.1 ║
|
||||
║ libavif.so.16 ║
|
||||
║ libharfbuzz-icu.so.0 ║
|
||||
║ libsecret-1.so.0 ║
|
||||
║ libhyphen.so.0 ║
|
||||
║ libmanette-0.2.so.0 ║
|
||||
║ libGLESv2.so.2 ║
|
||||
║ libx264.so ║
|
||||
╚══════════════════════════════════════════════════════╝
|
||||
at validateDependenciesLinux (/home/runner/work/MQTT-Explorer/MQTT-Explorer/node_modules/playwright-core/lib/server/registry/dependencies.js:269:9)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||||
at async Registry._validateHostRequirements (/home/runner/work/MQTT-Explorer/MQTT-Explorer/node_modules/playwright-core/lib/server/registry/index.js:990:14)
|
||||
at async Registry._validateHostRequirementsForExecutableIfNeeded (/home/runner/work/MQTT-Explorer/MQTT-Explorer/node_modules/playwright-core/lib/server/registry/index.js:1112:7)
|
||||
at async Registry.validateHostRequirementsForExecutablesIfNeeded (/home/runner/work/MQTT-Explorer/MQTT-Explorer/node_modules/playwright-core/lib/server/registry/index.js:1101:7)
|
||||
at async r.<anonymous> (/home/runner/work/MQTT-Explorer/MQTT-Explorer/node_modules/playwright-core/lib/cli/program.js:176:7)
|
||||
Starting server with LLM support...
|
||||
Waiting for server to start...
|
||||
Using credentials from environment variables
|
||||
Username: test
|
||||
============================================================
|
||||
MQTT Explorer server running on http://localhost:3000
|
||||
============================================================
|
||||
Server started successfully after 2 seconds
|
||||
Using MQTT broker at 127.0.0.1:1883
|
||||
Mobile viewport: DISABLED (desktop 1280x720)
|
||||
yarn run v1.22.22
|
||||
$ tsc && mocha --require source-map-support/register dist/src/spec/ui-tests.spec.js
|
||||
|
||||
|
||||
MQTT Explorer UI Tests
|
||||
Creating test-specific MQTT mock (no timers)...
|
||||
Connecting to MQTT broker at mqtt://127.0.0.1:1883
|
||||
Successfully connected to MQTT broker
|
||||
Connected to MQTT broker at mqtt://127.0.0.1:1883
|
||||
Publishing test topics...
|
||||
Launching browser in browser mode...
|
||||
Browser URL: http://localhost:3000
|
||||
Mobile viewport: false
|
||||
Using desktop viewport: 1280x720
|
||||
Browser console: info %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold
|
||||
Browser console: error Socket connection error: Authentication required
|
||||
Browser console: error Authentication error: Authentication required
|
||||
Waiting for page to initialize and auth check...
|
||||
Checking for login dialog...
|
||||
Login dialog detected, authenticating...
|
||||
Client authenticated: test
|
||||
Client connected, auth disabled: false
|
||||
LLM service is available on backend
|
||||
Browser console: log Socket connected successfully
|
||||
Browser console: log Authentication successful
|
||||
Browser console: log subscribing storage/load/response/a32bdc96-665a-4417-979b-e24d769f31bd
|
||||
Browser console: log Auth status received from server: {authDisabled: false}
|
||||
Browser console: log LLM availability received from server: true
|
||||
storage/load/response/a32bdc96-665a-4417-979b-e24d769f31bd { data: undefined, store: 'Settings' } undefined
|
||||
Browser console: log received {id: a32bdc96-665a-4417-979b-e24d769f31bd, payload: Object}
|
||||
Browser console: log subscribing getAppVersion/response/e8dfcb88-5dee-471b-b1a2-5bb39ac268b6
|
||||
getAppVersion/response/e8dfcb88-5dee-471b-b1a2-5bb39ac268b6 0.4.0-beta.5 undefined
|
||||
Browser console: log subscribing storage/load/response/4f229c5d-647b-4e20-9685-01803420b5c6
|
||||
Browser console: log subscribing getAppVersion/response/2fddfe61-cc1c-4e10-9a0d-008bc26f2350
|
||||
storage/load/response/4f229c5d-647b-4e20-9685-01803420b5c6 { data: undefined, store: 'ConnectionManager_connections' } undefined
|
||||
getAppVersion/response/2fddfe61-cc1c-4e10-9a0d-008bc26f2350 0.4.0-beta.5 undefined
|
||||
Browser console: log received {id: e8dfcb88-5dee-471b-b1a2-5bb39ac268b6, payload: 0.4.0-beta.5}
|
||||
Browser console: error Connecting to 'https://api.github.com/repos/thomasnordquist/mqtt-explorer/releases' violates the following Content Security Policy directive: "connect-src 'self' ws: wss:". The action has been blocked.
|
||||
Browser console: log received {id: 4f229c5d-647b-4e20-9685-01803420b5c6, payload: Object}
|
||||
Browser console: log subscribing storage/store/response/3d2ddb0d-9e94-4c1d-b9e0-059091eee9c3
|
||||
Browser console: log received {id: 2fddfe61-cc1c-4e10-9a0d-008bc26f2350, payload: 0.4.0-beta.5}
|
||||
storage/store/response/3d2ddb0d-9e94-4c1d-b9e0-059091eee9c3 undefined undefined
|
||||
Browser error: [Error [AxiosError]: AxiosError]
|
||||
storage/load/response/5f1b3e00-8e6f-4813-9dda-387baf9f9a64 {
|
||||
data: {
|
||||
'mqtt.eclipseprojects.io': {
|
||||
configVersion: 1,
|
||||
certValidation: true,
|
||||
clientId: 'mqtt-explorer-26e5f5c6',
|
||||
id: 'mqtt.eclipseprojects.io',
|
||||
name: 'mqtt.eclipseprojects.io',
|
||||
encryption: false,
|
||||
subscriptions: [Array],
|
||||
type: 'mqtt',
|
||||
host: 'mqtt.eclipseprojects.io',
|
||||
port: 1883,
|
||||
protocol: 'mqtt'
|
||||
},
|
||||
'test.mosquitto.org': {
|
||||
configVersion: 1,
|
||||
certValidation: true,
|
||||
clientId: 'mqtt-explorer-d6d97851',
|
||||
id: 'test.mosquitto.org',
|
||||
name: 'test.mosquitto.org',
|
||||
encryption: false,
|
||||
subscriptions: [Array],
|
||||
type: 'mqtt',
|
||||
host: 'test.mosquitto.org',
|
||||
port: 1883,
|
||||
protocol: 'mqtt'
|
||||
}
|
||||
},
|
||||
store: 'ConnectionManager_connections'
|
||||
} undefined
|
||||
Browser console: log received {id: 3d2ddb0d-9e94-4c1d-b9e0-059091eee9c3}
|
||||
Browser console: log subscribing storage/load/response/5f1b3e00-8e6f-4813-9dda-387baf9f9a64
|
||||
Browser console: log received {id: 5f1b3e00-8e6f-4813-9dda-387baf9f9a64, payload: Object}
|
||||
Browser console: error Received `%s` for a non-boolean attribute `%s`.
|
||||
|
||||
If you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}. true button button true button
|
||||
Browser console: warning MUI Grid: The `item` prop has been removed and is no longer necessary. You can safely remove it.
|
||||
|
||||
Browser console: warning MUI Grid: The `xs` prop has been removed. See https://mui.com/material-ui/migration/upgrade-to-grid-v2/ for migration instructions.
|
||||
|
||||
Browser console: error Received `%s` for a non-boolean attribute `%s`.
|
||||
|
||||
If you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}. true notched notched true notched
|
||||
Browser console: warning componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.
|
||||
|
||||
* Move data fetching code or side effects to componentDidUpdate.
|
||||
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state
|
||||
* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.
|
||||
|
||||
Please update the following components: %s TreeComponent
|
||||
Browser console: warning componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.
|
||||
|
||||
* Move data fetching code or side effects to componentDidUpdate.
|
||||
* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.
|
||||
|
||||
Please update the following components: %s TreeComponent
|
||||
Browser console: warning MUI: You have provided an out-of-range value `en-US` for the select (name="time-locale") component.
|
||||
Consider providing a value that matches one of the available options or ''.
|
||||
The available values are `en`, `af`, `ar-dz`, `ar-kw`, `ar-ly`, `ar-ma`, `ar-ps`, `ar-sa`, `ar-tn`, `ar`, `az`, `be`, `bg`, `bm`, `bn-bd`, `bn`, `bo`, `br`, `bs`, `ca`, `cs`, `cv`, `cy`, `da`, `de-at`, `de-ch`, `de`, `dv`, `el`, `en-au`, `en-ca`, `en-gb`, `en-ie`, `en-il`, `en-in`, `en-nz`, `en-sg`, `eo`, `es-do`, `es-mx`, `es-us`, `es`, `et`, `eu`, `fa`, `fi`, `fil`, `fo`, `fr-ca`, `fr-ch`, `fr`, `fy`, `ga`, `gd`, `gl`, `gom-deva`, `gom-latn`, `gu`, `he`, `hi`, `hr`, `hu`, `hy-am`, `id`, `is`, `it-ch`, `it`, `ja`, `jv`, `ka`, `kk`, `km`, `kn`, `ko`, `ku-kmr`, `ku`, `ky`, `lb`, `lo`, `lt`, `lv`, `me`, `mi`, `mk`, `ml`, `mn`, `mr`, `ms-my`, `ms`, `mt`, `my`, `nb`, `ne`, `nl-be`, `nl`, `nn`, `oc-lnc`, `pa-in`, `pl`, `pt-br`, `pt`, `ro`, `ru`, `sd`, `se`, `si`, `sk`, `sl`, `sq`, `sr-cyrl`, `sr`, `ss`, `sv`, `sw`, `ta`, `te`, `tet`, `tg`, `th`, `tk`, `tl-ph`, `tlh`, `tr`, `tzl`, `tzm-latn`, `tzm`, `ug-cn`, `uk`, `ur`, `uz-latn`, `uz`, `vi`, `x-pseudo`, `yo`, `zh-cn`, `zh-hk`, `zh-mo`, `zh-tw`.
|
||||
Browser console: warning MUI: You have provided an out-of-range value `en-US` for the select (name="time-locale") component.
|
||||
Consider providing a value that matches one of the available options or ''.
|
||||
The available values are `en`, `af`, `ar-dz`, `ar-kw`, `ar-ly`, `ar-ma`, `ar-ps`, `ar-sa`, `ar-tn`, `ar`, `az`, `be`, `bg`, `bm`, `bn-bd`, `bn`, `bo`, `br`, `bs`, `ca`, `cs`, `cv`, `cy`, `da`, `de-at`, `de-ch`, `de`, `dv`, `el`, `en-au`, `en-ca`, `en-gb`, `en-ie`, `en-il`, `en-in`, `en-nz`, `en-sg`, `eo`, `es-do`, `es-mx`, `es-us`, `es`, `et`, `eu`, `fa`, `fi`, `fil`, `fo`, `fr-ca`, `fr-ch`, `fr`, `fy`, `ga`, `gd`, `gl`, `gom-deva`, `gom-latn`, `gu`, `he`, `hi`, `hr`, `hu`, `hy-am`, `id`, `is`, `it-ch`, `it`, `ja`, `jv`, `ka`, `kk`, `km`, `kn`, `ko`, `ku-kmr`, `ku`, `ky`, `lb`, `lo`, `lt`, `lv`, `me`, `mi`, `mk`, `ml`, `mn`, `mr`, `ms-my`, `ms`, `mt`, `my`, `nb`, `ne`, `nl-be`, `nl`, `nn`, `oc-lnc`, `pa-in`, `pl`, `pt-br`, `pt`, `ro`, `ru`, `sd`, `se`, `si`, `sk`, `sl`, `sq`, `sr-cyrl`, `sr`, `ss`, `sv`, `sw`, `ta`, `te`, `tet`, `tg`, `th`, `tk`, `tl-ph`, `tlh`, `tr`, `tzl`, `tzm-latn`, `tzm`, `ug-cn`, `uk`, `ur`, `uz-latn`, `uz`, `vi`, `x-pseudo`, `yo`, `zh-cn`, `zh-hk`, `zh-mo`, `zh-tw`.
|
||||
Browser console: error Creating a worker from 'blob:http://localhost:3000/81d1c8a2-e19c-40a6-bf56-ef9f878e45d2' violates the following Content Security Policy directive: "script-src 'self' 'unsafe-inline' 'unsafe-eval'". Note that 'worker-src' was not explicitly set, so 'script-src' is used as a fallback. The action has been blocked.
|
||||
Browser console: warning ReactAce: editor option enableBasicAutocompletion was activated but not found. Did you need to import a related tool or did you possibly mispell the option?
|
||||
Browser console: warning ReactAce: editor option enableLiveAutocompletion was activated but not found. Did you need to import a related tool or did you possibly mispell the option?
|
||||
Browser console: warning ReactAce: editor option enableSnippets was activated but not found. Did you need to import a related tool or did you possibly mispell the option?
|
||||
Authentication complete
|
||||
Waiting for MQTT connection dialog...
|
||||
Connecting to MQTT broker...
|
||||
Browser console: log subscribing conn/state/mqtt.eclipseprojects.io
|
||||
Browser console: log subscribing storage/load/response/92360798-5cab-4063-9c05-690b975e678b
|
||||
storage/load/response/92360798-5cab-4063-9c05-690b975e678b { data: undefined, store: 'connection_view_state' } undefined
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: log received {id: 92360798-5cab-4063-9c05-690b975e678b, payload: Object}
|
||||
Setup complete
|
||||
Connection Management
|
||||
expandTopic livingroom/lamp
|
||||
Expanding level 1/2: livingroom
|
||||
Using selector: span[data-test-topic='livingroom']
|
||||
Found 1 elements matching 'livingroom'
|
||||
Using match #0 for 'livingroom'
|
||||
Clicking topic text to expand: livingroom
|
||||
Topic livingroom is collapsed, clicking to expand
|
||||
Waiting for children of 'livingroom' to render...
|
||||
After expanding 'livingroom', found 1 elements for next topic 'lamp'
|
||||
Expanding level 2/2: lamp
|
||||
Using selector: span[data-test-topic='lamp']
|
||||
Found 1 elements matching 'lamp'
|
||||
Using match #0 for 'lamp'
|
||||
Clicking topic text to expand: lamp
|
||||
Topic lamp is collapsed, clicking to expand
|
||||
✔ should connect and expand livingroom/lamp topic (4779ms)
|
||||
Topic Tree Structure
|
||||
expandTopic kitchen/coffee_maker
|
||||
Expanding level 1/2: kitchen
|
||||
Using selector: span[data-test-topic='kitchen']
|
||||
Found 1 elements matching 'kitchen'
|
||||
Using match #0 for 'kitchen'
|
||||
Clicking topic text to expand: kitchen
|
||||
Topic kitchen is collapsed, clicking to expand
|
||||
Waiting for children of 'kitchen' to render...
|
||||
After expanding 'kitchen', found 1 elements for next topic 'coffee_maker'
|
||||
Expanding level 2/2: coffee_maker
|
||||
Using selector: span[data-test-topic='coffee_maker']
|
||||
Found 1 elements matching 'coffee_maker'
|
||||
Using match #0 for 'coffee_maker'
|
||||
Clicking topic text to expand: coffee_maker
|
||||
Topic coffee_maker has no children, clicking to select
|
||||
✔ should expand and display kitchen/coffee_maker with JSON payload (4252ms)
|
||||
expandTopic livingroom/lamp/state
|
||||
Expanding level 1/3: livingroom
|
||||
Using selector: span[data-test-topic='livingroom']
|
||||
Found 1 elements matching 'livingroom'
|
||||
Using match #0 for 'livingroom'
|
||||
Clicking topic text to expand: livingroom
|
||||
Topic livingroom is already expanded, clicking to select
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Waiting for children of 'livingroom' to render...
|
||||
After expanding 'livingroom', found 1 elements for next topic 'lamp'
|
||||
Expanding level 2/3: lamp
|
||||
Using selector: span[data-test-topic='lamp']
|
||||
Found 1 elements matching 'lamp'
|
||||
Using match #0 for 'lamp'
|
||||
Clicking topic text to expand: lamp
|
||||
Topic lamp is collapsed, clicking to expand
|
||||
Waiting for children of 'lamp' to render...
|
||||
After expanding 'lamp', found 1 elements for next topic 'state'
|
||||
Expanding level 3/3: state
|
||||
Using selector: span[data-test-topic='state']
|
||||
Found 1 elements matching 'state'
|
||||
Using match #0 for 'state'
|
||||
Clicking topic text to expand: state
|
||||
Topic state has no children, clicking to select
|
||||
✔ should expand nested topic livingroom/lamp/state (6366ms)
|
||||
Search Functionality
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: error A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
expandTopic kitchen/temperature
|
||||
Expanding level 1/2: kitchen
|
||||
Using selector: span[data-test-topic='kitchen']
|
||||
Found 1 elements matching 'kitchen'
|
||||
Using match #0 for 'kitchen'
|
||||
Clicking topic text to expand: kitchen
|
||||
Topic kitchen is collapsed, clicking to expand
|
||||
Browser console: log destroy 0
|
||||
Waiting for children of 'kitchen' to render...
|
||||
After expanding 'kitchen', found 1 elements for next topic 'temperature'
|
||||
Expanding level 2/2: temperature
|
||||
Using selector: span[data-test-topic='temperature']
|
||||
Found 1 elements matching 'temperature'
|
||||
Using match #0 for 'temperature'
|
||||
Clicking topic text to expand: temperature
|
||||
Topic temperature has no children, clicking to select
|
||||
✔ should search for temperature and expand kitchen/temperature (9966ms)
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log subscribing conn/mqtt.eclipseprojects.io
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: warning destroy
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
Browser console: log destroy 2
|
||||
expandTopic kitchen/lamp
|
||||
Expanding level 1/2: kitchen
|
||||
Using selector: span[data-test-topic='kitchen']
|
||||
Found 1 elements matching 'kitchen'
|
||||
Using match #0 for 'kitchen'
|
||||
Clicking topic text to expand: kitchen
|
||||
Topic kitchen is collapsed, clicking to expand
|
||||
Waiting for children of 'kitchen' to render...
|
||||
After expanding 'kitchen', found 1 elements for next topic 'lamp'
|
||||
Expanding level 2/2: lamp
|
||||
Using selector: span[data-test-topic='lamp']
|
||||
Found 1 elements matching 'lamp'
|
||||
Using match #0 for 'lamp'
|
||||
Clicking topic text to expand: lamp
|
||||
Topic lamp is collapsed, clicking to expand
|
||||
✔ should search for lamp and expand kitchen/lamp (11597ms)
|
||||
Clipboard Operations
|
||||
expandTopic livingroom/lamp/state
|
||||
Expanding level 1/3: livingroom
|
||||
Using selector: span[data-test-topic='livingroom']
|
||||
Found 1 elements matching 'livingroom'
|
||||
Using match #0 for 'livingroom'
|
||||
Clicking topic text to expand: livingroom
|
||||
Topic livingroom is collapsed, clicking to expand
|
||||
Waiting for children of 'livingroom' to render...
|
||||
After expanding 'livingroom', found 2 elements for next topic 'lamp'
|
||||
Expanding level 2/3: lamp
|
||||
Using selector: span[data-test-topic='lamp']
|
||||
Found 2 elements matching 'lamp'
|
||||
Using match #0 for 'lamp'
|
||||
Clicking topic text to expand: lamp
|
||||
Topic lamp is collapsed, clicking to expand
|
||||
Waiting for children of 'lamp' to render...
|
||||
After expanding 'lamp', found 2 elements for next topic 'state'
|
||||
Expanding level 3/3: state
|
||||
Using selector: span[data-test-topic='state']
|
||||
Found 2 elements matching 'state'
|
||||
Using match #0 for 'state'
|
||||
Clicking topic text to expand: state
|
||||
Topic state has no children, clicking to select
|
||||
✔ should copy topic path to clipboard in both Electron and browser modes (10520ms)
|
||||
✔ should copy message value to clipboard in both Electron and browser modes (583ms)
|
||||
File Save/Download Operations
|
||||
Browser mode: File downloaded: mqtt-message-2026-01-31T07-33-59-282Z.bin
|
||||
✔ should save/download message to file in both Electron and browser modes (583ms)
|
||||
AI Assistant Chat
|
||||
expandTopic livingroom/lamp
|
||||
Expanding level 1/2: livingroom
|
||||
Using selector: span[data-test-topic='livingroom']
|
||||
Found 1 elements matching 'livingroom'
|
||||
Using match #0 for 'livingroom'
|
||||
Clicking topic text to expand: livingroom
|
||||
Topic livingroom is already expanded, clicking to select
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Browser console: log destroy 0
|
||||
Waiting for children of 'livingroom' to render...
|
||||
After expanding 'livingroom', found 1 elements for next topic 'lamp'
|
||||
Expanding level 2/2: lamp
|
||||
Using selector: span[data-test-topic='lamp']
|
||||
Found 1 elements matching 'lamp'
|
||||
Using match #0 for 'lamp'
|
||||
Clicking topic text to expand: lamp
|
||||
Topic lamp is already expanded, clicking to select
|
||||
Browser console: log destroy 0
|
||||
Browser console: log subscribing llm/chat/response/492a97e2-bdc4-437b-aa1f-3c000b8db57b
|
||||
|
||||
================================================================================
|
||||
LLM RPC HANDLER - Received Request
|
||||
================================================================================
|
||||
Messages count: 2
|
||||
Topic context provided: false
|
||||
Tool results provided: false
|
||||
|
||||
Last user message:
|
||||
Content length: 260 characters
|
||||
Content starts with "Context:"? false
|
||||
Content preview: Based on this MQTT topic and its context, suggest 3-5 brief, relevant questions a user might want to ask. Return ONLY a JSON array of question strings, nothing else.
|
||||
|
||||
Context:
|
||||
Topic: kitchen/lamp
|
||||
Subtopics: 1
|
||||
|
||||
Format: ["question 1", "question 2", "question 3"]
|
||||
================================================================================
|
||||
|
||||
LLM Provider: openai
|
||||
LLM Model: gpt-5-mini
|
||||
================================================================================
|
||||
|
||||
✔ should expand AI Assistant panel when clicked (5296ms)
|
||||
Browser console: log LLM Service: Topic context added to message
|
||||
Browser console: log Context length: 32 characters
|
||||
Browser console: log Context preview: Topic: kitchen/lamp
|
||||
Subtopics: 1...
|
||||
|
||||
================================================================================
|
||||
LLM RPC HANDLER - Received Request
|
||||
================================================================================
|
||||
Browser console: log LLM Service: User message added to history
|
||||
Messages count: 2
|
||||
Topic context provided: true
|
||||
Browser console: log Message content length: 78 characters
|
||||
Tool results provided: false
|
||||
Topic context length: 32 characters
|
||||
Browser console: log Message preview: Context:
|
||||
Topic: kitchen/lamp
|
||||
Subtopics: 1
|
||||
|
||||
User Question: What is this device?...
|
||||
Topic context preview: Topic: kitchen/lamp
|
||||
Subtopics: 1...
|
||||
|
||||
Last user message:
|
||||
Content length: 78 characters
|
||||
Content starts with "Context:"? true
|
||||
Browser console: log subscribing llm/chat/response/d3ce6696-1a83-48cd-ba62-b692cd8756b0
|
||||
Content preview: Context:
|
||||
Topic: kitchen/lamp
|
||||
Subtopics: 1
|
||||
|
||||
User Question: What is this device?
|
||||
================================================================================
|
||||
|
||||
LLM Provider: openai
|
||||
LLM Model: gpt-5-mini
|
||||
================================================================================
|
||||
|
||||
|
||||
================================================================================
|
||||
LLM RESPONSE
|
||||
================================================================================
|
||||
Duration: 1135 ms
|
||||
Provider: openai
|
||||
Model: gpt-5-mini-2025-08-07
|
||||
Content length: 0
|
||||
Usage: { promptTokens: 1378, completionTokens: 26, totalTokens: 1404 }
|
||||
================================================================================
|
||||
|
||||
|
||||
================================================================================
|
||||
LLM RPC HANDLER - Returning response
|
||||
================================================================================
|
||||
Response length: 0
|
||||
Has debugInfo: true
|
||||
================================================================================
|
||||
|
||||
llm/chat/response/d3ce6696-1a83-48cd-ba62-b692cd8756b0 {
|
||||
response: '',
|
||||
toolCalls: [
|
||||
{
|
||||
id: 'call_rQKzguDNmzGTmXmbQJaviWNW',
|
||||
type: 'function',
|
||||
function: [Object]
|
||||
}
|
||||
],
|
||||
debugInfo: {
|
||||
provider: 'openai',
|
||||
model: 'gpt-5-mini-2025-08-07',
|
||||
request: {
|
||||
url: 'https://api.openai.com/v1/chat/completions',
|
||||
messageCount: 2
|
||||
},
|
||||
response: { contentLength: 0, usage: [Object] },
|
||||
timing: { duration_ms: 1135, timestamp: '2026-01-31T07:34:06.338Z' }
|
||||
}
|
||||
} undefined
|
||||
Browser console: log received {id: d3ce6696-1a83-48cd-ba62-b692cd8756b0, payload: Object}
|
||||
Browser console: log LLM Service: Received result from backend: {response: , toolCalls: Array(1), debugInfo: Object}
|
||||
Browser console: log LLM Service: Has response: false
|
||||
Browser console: log LLM Service: Has toolCalls: true
|
||||
Browser console: log LLM Service: Has debugInfo: true
|
||||
Browser console: error LLM Service: Invalid result from backend: {response: , toolCalls: Array(1), debugInfo: Object}
|
||||
Browser console: error LLM Service Error: Error: No response from AI assistant
|
||||
at LLMService.sendMessage (webpack-internal:///24932:11047:23)
|
||||
at async eval (webpack-internal:///24932:11330:33)
|
||||
Browser console: error AI Assistant error: Error: No response from AI assistant
|
||||
at LLMService.sendMessage (webpack-internal:///24932:11109:19)
|
||||
at async eval (webpack-internal:///24932:11330:33)
|
||||
Browser console: error Error details: Error: No response from AI assistant
|
||||
at LLMService.sendMessage (webpack-internal:///24932:11109:19)
|
||||
at async eval (webpack-internal:///24932:11330:33)
|
||||
|
||||
================================================================================
|
||||
LLM RESPONSE
|
||||
================================================================================
|
||||
Duration: 2904 ms
|
||||
Provider: openai
|
||||
Model: gpt-5-mini-2025-08-07
|
||||
Content length: 612
|
||||
Usage: { promptTokens: 1424, completionTokens: 152, totalTokens: 1576 }
|
||||
================================================================================
|
||||
|
||||
|
||||
================================================================================
|
||||
LLM RPC HANDLER - Returning response
|
||||
================================================================================
|
||||
Response length: 612
|
||||
Has debugInfo: true
|
||||
================================================================================
|
||||
|
||||
llm/chat/response/492a97e2-bdc4-437b-aa1f-3c000b8db57b {
|
||||
response: '[\n' +
|
||||
' "Is the kitchen/lamp topic a controllable device (can I publish to a /set or /cmd topic to switch it)?",\n' +
|
||||
' "What payload format does the kitchen/lamp expect for turning on/off or setting brightness (e.g., \\"ON\\"/\\"OFF\\" or JSON)?",\n' +
|
||||
' "Is the kitchen/lamp retained and does it publish a /state or /status subtopic I can subscribe to for current state?",\n' +
|
||||
' "Are there any automation-friendly topics nearby (like kitchen/lamp/brightness or kitchen/lamp/color) to support dimming or color changes?",\n' +
|
||||
' "Can you provide recent message history for kitchen/lamp to see usage patterns and confirm topic behaviour?"\n' +
|
||||
']',
|
||||
toolCalls: undefined,
|
||||
debugInfo: {
|
||||
provider: 'openai',
|
||||
model: 'gpt-5-mini-2025-08-07',
|
||||
request: {
|
||||
url: 'https://api.openai.com/v1/chat/completions',
|
||||
messageCount: 2
|
||||
},
|
||||
response: { contentLength: 612, usage: [Object] },
|
||||
timing: { duration_ms: 2904, timestamp: '2026-01-31T07:34:06.995Z' }
|
||||
}
|
||||
} undefined
|
||||
Browser console: log received {id: 492a97e2-bdc4-437b-aa1f-3c000b8db57b, payload: Object}
|
||||
Reference in New Issue
Block a user