Empfang V4: Auth, Praxis-Tenant, Cockpit, Caddy-Rewrite

Made-with: Cursor
This commit is contained in:
2026-04-19 22:22:11 +02:00
parent 22397f1d28
commit c53bba4587
9 changed files with 885 additions and 94 deletions

View File

@@ -377,9 +377,35 @@ var currentToneIdx = parseInt(localStorage.getItem('empfang_tone_idx') || '0', 1
renderSidebarUsers();
updateSbMe();
renderUserMgmt();
syncUsersFromServer();
loadUserData();
})();
function syncUsersFromServer() {
fetch(API_BASE + '/users').then(function(r) { return r.json(); }).then(function(d) {
var serverUsers = d.users || [];
if (!serverUsers.length) return;
var changed = false;
serverUsers.forEach(function(u) {
if (!knownUsers.includes(u)) {
knownUsers.push(u);
changed = true;
}
});
knownUsers.forEach(function(u) {
if (!serverUsers.includes(u)) {
fetch(API_BASE + '/users', {method:'POST', headers:{'Content-Type':'application/json'},
body:JSON.stringify({name:u})}).catch(function(){});
}
});
if (changed) {
localStorage.setItem('empfang_known_users', JSON.stringify(knownUsers));
renderSidebarUsers();
renderUserMgmt();
}
}).catch(function(){});
}
/* ===================================================================
SIDEBAR
=================================================================== */
@@ -1141,8 +1167,9 @@ function copyText(el) {
=================================================================== */
loadMessages();
setInterval(loadMessages, 10000);
setInterval(syncUsersFromServer, 30000);
document.addEventListener('visibilitychange', function() {
if (!document.hidden) { lastDataHash = ''; loadMessages(); }
if (!document.hidden) { lastDataHash = ''; loadMessages(); syncUsersFromServer(); }
});
var bc = null;