EntwicklerMitarbeiter-Handbuch

Troubleshooting

Bekannte Probleme und ihre Loesungen - von Setup-Wizard ueber Sidecar bis Plugin-Installation, WebView-Probleme und Full-Reset.

Entwickler-Handbuch · Development

Setup-Wizard

Registry nicht lesbar

Symptom: Schritt 1 zeigt leere Felder, obwohl JTL-Wawi installiert ist.

Ursache: Der Win32-Registry-Zugriff (winreg-Crate) braucht User-Rechte. In seltenen Fällen blockt Anti-Virus den Zugriff.

Lösung:

  1. Felder manuell ausfüllen
  2. JTL-Wawi-Registry-Pfad prüfen: regedit HKEY_CURRENT_USER\Software\JTL\WAWI\Database
  3. Werte übernehmen

Verbindung schlägt fehl mit „Login failed“

Symptom: test_connection gibt Login failed for user 'sa'. zurück.

Ursache: Falscher SQL-Auth-Modus oder falsches Passwort.

Lösung:

  1. In SSMS prüfen, ob die Windows-Authentifizierung funktioniert
  2. Wenn ja: Im Wizard auf Windows-Authentifizierung umstellen
  3. Wenn nein: SQL-Server-Auth aktivieren, Passwort vom JTL-Admin holen

Verbindung schlägt fehl mit „Cannot connect to server“

Symptom: Timeout oder A network-related or instance-specific error occurred.

Ursache: SQL-Server läuft nicht, Firewall blockt, oder falscher Server-Name.

Lösung:

cmdsql-check.cmd
# 1. SQL-Server-Status prüfen
services.msc → SQL Server (JTLWAWI) → Status: Running?

# 2. TCP/IP aktiviert?
sqlservermanager.msc → SQL-Server-Network-Configuration → TCP/IP → Enabled

# 3. Firewall?
netsh advfirewall firewall add rule name="SQL Server JTL" ^
  dir=in action=allow protocol=TCP localport=1433

Sidecar

Sidecar startet nicht

Symptom: Tauri öffnet sich, aber Workspace bleibt leer. In Logs: Failed to start sidecar.

Diagnose:

cmdsidecar-diag.cmd
# Sidecar manuell starten
"%APPDATA%sellx-hubsellx-sidecarSellxSidecar.exe"

# Sollte Konsole öffnen mit:
# "Now listening on: http://localhost:54321"

Häufigste Ursache: Fehlende DLLs. Sidecar-Ordner muss enthalten:

textsidecar-files.txt
SellxSidecar.exe
e_sqlite3.dll
Microsoft.Data.SqlClient.SNI.dll
msalruntime.dll
WebView2Loader.dll

Sidecar startet mit Konsolen-Fenster

Symptom: Beim Hub-Start öffnet sich kurz ein leeres CMD-Fenster.

Ursache: <OutputType>Exe</OutputType> statt <OutputType>WinExe</OutputType> in SellxSidecar.csproj.

Lösung:

xmlSellxSidecar.csproj
<PropertyGroup>
  <OutputType>WinExe</OutputType>
  <TargetFramework>net8.0</TargetFramework>
  <RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>

Dann dotnet publish erneut ausführen.

Port bereits belegt

Symptom: Sidecar-Log: Address already in use.

Ursache: Mehrere Hub-Instanzen gleichzeitig laufen, oder Sidecar-Prozess hängt.

Lösung:

cmdkill-sidecar.cmd
# Alle SellxSidecar-Prozesse beenden
taskkill /F /IM SellxSidecar.exe

# Alle Hub-Instanzen schließen
taskkill /F /IM sellx-hub.exe

Plugin

SQL_SECURITY_VIOLATION

Symptom: Plugin-Ausführung scheitert mit SQL_SECURITY_VIOLATION.

Diagnose: SqlSecurityValidator hat etwas gefunden. Log-Eintrag enthält das verbotene Pattern.

Häufigste Ursachen:

PatternLösung
; im SQLEntfernen — ein Query pro Datei
-- KommentarKommentar entfernen
EXECSystem-Prozeduren sind verboten — Plugin umschreiben
INSERT in report-Plugincategory: "automation" setzen + requiresDbRole: "write"

PARSE_ERROR bei Installation

Symptom: .sellxpkg lässt sich nicht installieren: PARSE_ERROR.

Diagnose: ZIP korrupt oder manifest.json fehlt.

Lösung:

bashplugin-diag.sh
# Inhalt prüfen
unzip -l mein-plugin.sellxpkg

# Manifest lesen
unzip -p mein-plugin.sellxpkg manifest.json | jq .

Falls manifest.json fehlt: ZIP falsch erstellt. Keine führende Verzeichnis-Ebene!

LICENSE_INACTIVE

Symptom: Plugin startet, scheitert aber mit LICENSE_INACTIVE.

Ursache:

  • Subscription abgelaufen
  • Heartbeat > 7 Tage her (Grace-Period gestartet)
  • Token-Version in Central erhöht → lokales JWT ungültig

Lösung:

  1. Internet-Verbindung prüfen → Heartbeat triggern
  2. In Central prüfen, ob Subscription aktiv ist
  3. Falls Token-Version erhöht: Hub neu aktivieren über Setup-Wizard

WebView

Plain white window

Symptom: Hub-Fenster öffnet sich, bleibt aber weiß.

Diagnose:

  1. DevTools öffnen (in main.rs aktiviert: win.open_devtools())
  2. Console-Tab prüfen — typischer Fehler:
    • Cannot find module '@tauri-apps/api'
    • Uncaught (in promise) Error: Failed to invoke ...
    • Error: ENOENT: no such file or directory

Häufigste Ursachen:

FehlerLösung
dist/ nicht gebautnpm run build im sellx-hub/-Ordner
Sidecar-Files nicht im Bundletauri.conf.json resources prüfen
CSP blockiert Inline-Scriptstauri.conf.json security.csp prüfen

DevTools automatisch öffnen

Datei: sellx-hub/src-tauri/src/main.rs, setup-Hook:

rustmain.rs
.setup(|app| {
    if let Some(win) = app.get_webview_window("main") {
        win.open_devtools();
    }
    // …
})

Vor Release: Mit #[cfg(debug_assertions)] verstecken.

Logs

Log-Dateien liegen in %APPDATA%\sellx-hub\logs\. Pro Tag eine Datei:

textlog-pfad.txt
%APPDATA%\sellx-hub\logs\2026-06-30.log

Format:

textlog-format.txt
[LEVEL] YYYY-MM-DD HH:MM:SS — message

Beispiel:

textlog-example.log
[INFO] 2026-06-30 12:35:12 — Sidecar started on port 54321
[INFO] 2026-06-30 12:35:13 — Plugin installed: sellx.artikel-kpi v1.0.0
[WARN] 2026-06-30 12:36:01 — Heartbeat failed: connection timeout
[ERROR] 2026-06-30 12:36:02 — SQL execution failed: Login failed for user 'sa'.

Reset

Full-Reset, falls nichts mehr hilft:

cmdfull-reset.cmd
# Hub komplett zurücksetzen
rmdir /s /q "%APPDATA%sellx-hub"

# WebView-Cache löschen
rmdir /s /q "%LOCALAPPDATA%com.sellx.hubEBWebView"

# Hub neu starten → Setup-Wizard läuft wieder