- sendMessage: guard with sendingRef to prevent concurrent in-flight sends (was missing — rapid clicks could create duplicate messages) - resubscribeAll: log at warn level instead of silently swallowing, so operators can observe auth expiry or persistent failure patterns - RoomMessageBubble: apply opacity-60 when isPending or isFailed, and hide action toolbar for pending messages (can't react/act on unconfirmed messages) |
||
|---|---|---|
| .. | ||
| app | ||
| assets | ||
| client | ||
| components | ||
| contexts | ||
| hooks | ||
| lib | ||
| App.css | ||
| App.tsx | ||
| index.css | ||
| main.tsx | ||