From 294710b4158a7ff9b954d489f87e4b90623c60f0 Mon Sep 17 00:00:00 2001 From: ValueOn AG Date: Sun, 1 Mar 2026 09:26:46 +0100 Subject: [PATCH] fix(teamsbot): always save user credentials before session start, fix SSE reconnect loop, add stop button for pending Made-with: Cursor --- .../views/teamsbot/TeamsbotDashboardView.tsx | 37 +++++++------------ .../views/teamsbot/TeamsbotSessionView.tsx | 24 ++++++++---- 2 files changed, 30 insertions(+), 31 deletions(-) diff --git a/src/pages/views/teamsbot/TeamsbotDashboardView.tsx b/src/pages/views/teamsbot/TeamsbotDashboardView.tsx index 7bf1b88..acabf68 100644 --- a/src/pages/views/teamsbot/TeamsbotDashboardView.tsx +++ b/src/pages/views/teamsbot/TeamsbotDashboardView.tsx @@ -35,7 +35,6 @@ export const TeamsbotDashboardView: React.FC = () => { const [showCredentialForm, setShowCredentialForm] = useState(false); const [credEmail, setCredEmail] = useState(''); const [credPassword, setCredPassword] = useState(''); - const [saveCredentials, setSaveCredentials] = useState(true); const [savingCredentials, setSavingCredentials] = useState(false); // MFA state @@ -128,20 +127,18 @@ export const TeamsbotDashboardView: React.FC = () => { return; } - // Save credentials if requested (first-time entry) + // userAccount with new credentials: always save to DB (backend loads from there) if (joinMode === 'userAccount' && showCredentialForm && credEmail && credPassword) { - if (saveCredentials) { - try { - setSavingCredentials(true); - await teamsbotApi.saveUserAccount(instanceId, credEmail, credPassword); - setUserAccount({ hasSavedCredentials: true, email: credEmail }); - } catch (err: any) { - setError(err.message || 'Fehler beim Speichern der Zugangsdaten'); - setSavingCredentials(false); - return; - } finally { - setSavingCredentials(false); - } + try { + setSavingCredentials(true); + await teamsbotApi.saveUserAccount(instanceId, credEmail, credPassword); + setUserAccount({ hasSavedCredentials: true, email: credEmail }); + } catch (err: any) { + setError(err.message || 'Fehler beim Speichern der Zugangsdaten'); + setSavingCredentials(false); + return; + } finally { + setSavingCredentials(false); } setShowCredentialForm(false); } @@ -373,15 +370,9 @@ export const TeamsbotDashboardView: React.FC = () => { disabled={savingCredentials} /> -
- setSaveCredentials(e.target.checked)} - /> - -
+ + Zugangsdaten werden verschluesselt gespeichert. + {userAccount?.hasSavedCredentials && ( )}