Frontend: - P0: Replace constant estimateSize(40px) with content-based estimation using line count and reply presence for accurate virtual list scroll - P1: Replace Shadow DOM custom elements with styled spans for @mentions, eliminating expensive attachShadow calls per mention instance - P1: Remove per-message ResizeObserver (one per bubble), replace with static inline toolbar layout to avoid observer overhead - P2: Fix WS token re-fetch on every room switch by preserving token across navigation and not clearing activeRoomIdRef on cleanup Backend: - P1: Fix reaction check+insert race condition by moving into transaction instead of separate query + on-conflict insert - P2: Fix N+1 queries in get_mention_notifications with batch fetch for users and rooms using IN clauses - P2: Update room_last_activity in broadcast_stream_chunk to prevent idle room cleanup during active AI streaming - P3: Use enum comparison instead of to_string() in room_member_leave |
||
|---|---|---|
| .. | ||
| ai.rs | ||
| category.rs | ||
| connection.rs | ||
| draft_and_history.rs | ||
| error.rs | ||
| helpers.rs | ||
| lib.rs | ||
| member.rs | ||
| message.rs | ||
| metrics.rs | ||
| notification.rs | ||
| pin.rs | ||
| reaction.rs | ||
| room_ai_queue.rs | ||
| room.rs | ||
| search.rs | ||
| service.rs | ||
| thread.rs | ||
| types.rs | ||
| ws_context.rs | ||