chore: final integration polish - harden join ux, refine connection state, and sanitize logs

This commit is contained in:
Timo
2026-04-22 11:04:51 +02:00
parent 92cbd7172a
commit f1dae0ef4e
3 changed files with 51 additions and 31 deletions
+4 -3
View File
@@ -227,7 +227,8 @@ function broadcastConnectionStatus(status) {
}
function updateBadgeStatus() {
const status = socket ? (socket.readyState === WebSocket.OPEN ? 'connected' : (isConnecting || socket.readyState === WebSocket.CONNECTING ? 'connecting' : 'disconnected')) : 'disconnected';
const isConnected = socket && socket.readyState === WebSocket.OPEN && isNamespaceJoined;
const status = isConnected ? 'connected' : (isConnecting || (socket && socket.readyState === WebSocket.CONNECTING) ? 'connecting' : 'disconnected');
if (reconnectFailed) {
chrome.action.setBadgeText({ text: 'ERR' });
@@ -309,7 +310,6 @@ function addToHistory(action, senderId) {
// --- Event Handlers ---
function handleServerEvent(event, data) {
// console.log(`[RECV] ${event}`, data);
switch (event) {
case EVENTS.ROOM_DATA:
@@ -473,7 +473,8 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
reconnectDelay = 1000;
connect();
} else if (message.type === 'GET_STATUS') {
let status = socket ? (socket.readyState === WebSocket.OPEN ? 'connected' : (isConnecting || socket.readyState === WebSocket.CONNECTING ? 'connecting' : 'disconnected')) : 'disconnected';
const isConnected = socket && socket.readyState === WebSocket.OPEN && isNamespaceJoined;
let status = isConnected ? 'connected' : (isConnecting || (socket && socket.readyState === WebSocket.CONNECTING) ? 'connecting' : 'disconnected');
if (reconnectFailed) status = 'reconnect_failed';
sendResponse({ status, peerId, peers: currentRoom ? currentRoom.peers : [] });
// Global return true at the end handles this