496eba3c17
- #10/#18/#7: on WebSocket RE-connect, re-pull sidebar + re-open the current thread so the desktop/mobile apps recover missed messages/ticks without a refresh (the old onopen only re-sent chat-hello). - #11: branded bzConfirm() dialog replaces window.confirm for delete (the OS/ Electron default dialog looked off-brand on desktop). - #4: global Esc no longer closes the conversation while an image preview is open — the preview closes first, the conversation on a second Esc. - #6: live 'typing…' now also shows inside the conversation panel (animated), not only the header/sidebar. - #15 (diagnostic): mic/cam failures now report the REAL cause (permission vs no-device vs in-use) with desktop-specific guidance, and log the raw error, instead of always saying 'permission required'. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>