Die feste Adresse 192.168.180.135 der SwyxTray-App wird überall durch 127.0.0.1 ersetzt: Die App läuft auf dem Arbeitsplatz des Anwenders, die Verbindung bleibt damit auf dem Rechner und braucht keine Firewall-Freigabe. Scheitert der Verbindungsaufbau, weil eine über HTTPS ausgelieferte Seite kein unverschlüsseltes ws:// öffnen darf, meldet der Browser nur "The operation is insecure." – describeConnectFailure() benennt stattdessen den Grund und den Ausweg (wss:// oder Loopback). node_modules/ wird nun auf jeder Ebene ignoriert, nicht nur unter frontend/. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
87 lines
2.7 KiB
JSON
87 lines
2.7 KiB
JSON
{
|
||
// Gesamtsystem starten: im Debug-Panel "SwyxWeb starten (Backend + Frontend)" wählen.
|
||
"version": "0.2.0",
|
||
"configurations": [
|
||
{
|
||
"type": "java",
|
||
"name": "Backend (Spring Boot)",
|
||
"request": "launch",
|
||
"mainClass": "de.appcreation.swyxweb.BackendApplication",
|
||
"projectName": "backend",
|
||
"cwd": "${workspaceFolder}/backend",
|
||
"console": "internalConsole"
|
||
},
|
||
{
|
||
// Wie oben, aber der eingebaute SwyxTray-Mock wird über das Profil "mock"
|
||
// eingeschaltet (ohne das Profil gibt es ihn nicht) und /api/config zeigt
|
||
// auf ihn statt auf 127.0.0.1:17654 – so lässt sich die Startseite
|
||
// ohne echte Telefonanlage ausprobieren (eingehenden Anruf auslösen:
|
||
// siehe README).
|
||
"type": "java",
|
||
"name": "Backend (lokaler Test gegen SwyxTray-Mock)",
|
||
"request": "launch",
|
||
"mainClass": "de.appcreation.swyxweb.BackendApplication",
|
||
"projectName": "backend",
|
||
"cwd": "${workspaceFolder}/backend",
|
||
"console": "internalConsole",
|
||
"args": [
|
||
"--spring.profiles.active=mock",
|
||
"--app.websocket.host=localhost",
|
||
"--app.websocket.port=8080"
|
||
]
|
||
},
|
||
{
|
||
"type": "node-terminal",
|
||
"name": "Frontend (Vite + Chrome)",
|
||
"request": "launch",
|
||
"command": "npm run dev",
|
||
"cwd": "${workspaceFolder}/frontend",
|
||
// Wartet auf die von Vite ausgegebene URL und öffnet dann Chrome mit Debugger.
|
||
// Bewusst ohne "Local:"-Präfix im Muster: im Terminal steht dazwischen ANSI-Farbcode.
|
||
"serverReadyAction": {
|
||
"pattern": "(https?://localhost:[0-9]+)",
|
||
"uriFormat": "%s",
|
||
"action": "debugWithChrome",
|
||
"webRoot": "${workspaceFolder}/frontend"
|
||
}
|
||
},
|
||
{
|
||
"type": "node-terminal",
|
||
"name": "Frontend (nur Vite-Dev-Server)",
|
||
"request": "launch",
|
||
"command": "npm run dev",
|
||
"cwd": "${workspaceFolder}/frontend"
|
||
},
|
||
{
|
||
"type": "chrome",
|
||
"name": "Browser an laufenden Dev-Server hängen",
|
||
"request": "launch",
|
||
"url": "http://localhost:5173",
|
||
"webRoot": "${workspaceFolder}/frontend"
|
||
}
|
||
],
|
||
"compounds": [
|
||
{
|
||
"name": "SwyxWeb starten (Backend + Frontend)",
|
||
"configurations": ["Backend (Spring Boot)", "Frontend (Vite + Chrome)"],
|
||
"stopAll": true,
|
||
"presentation": {
|
||
"group": "swyxweb",
|
||
"order": 1
|
||
}
|
||
},
|
||
{
|
||
"name": "SwyxWeb starten (lokaler Test gegen SwyxTray-Mock)",
|
||
"configurations": [
|
||
"Backend (lokaler Test gegen SwyxTray-Mock)",
|
||
"Frontend (Vite + Chrome)"
|
||
],
|
||
"stopAll": true,
|
||
"presentation": {
|
||
"group": "swyxweb",
|
||
"order": 2
|
||
}
|
||
}
|
||
]
|
||
}
|