| App not loading, white screen, update loop | src/main.tsx, src/bootstrapRecovery.ts, src/serviceWorker.ts, app update hooks |
| OOBE, landing, permalink, push-open route issue | src/App.tsx, src/pages/oobe.tsx, landing.tsx, permalink.tsx, push-open.tsx |
| Mobile tabs or desktop split layout broken | src/layouts/MobileLayout.tsx, src/layouts/DesktopSplitLayout.tsx, src/hooks/useChatRoutes.ts, src/utils/navigationHistory.ts |
| Chat thread page issue | src/pages/chat-thread/chat-thread.tsx, src/components/chat/messages/, src/components/chat/compose/ |
| Message not appearing, duplicate, wrong order | src/store/messagesSlice.ts, src/store/messageEvents.ts, src/store/messageProjection.ts, src/api/messages.ts, src/api/ws.ts |
| Optimistic send or confirmation issue | src/components/chat/compose/, src/store/messagesSlice.ts, src/api/messages.ts, src/api/ws.ts, src/utils/clientId.ts |
| Unread counts or app badge wrong | src/store/chatsSlice.ts, src/store/threadsSlice.ts, src/api/sync.ts, src/utils/badges.ts, listener middleware in src/store/index.ts |
| Chat list stale, wrong order, archived/muted state wrong | src/components/chat/lists/, src/store/chatsSlice.ts, src/api/chats.ts, src/api/sync.ts, src/api/ws.ts |
| Thread list, subscription, thread reply issues | src/pages/threads.tsx, src/store/threadsSlice.ts, src/api/threads.ts, websocket thread handlers |
| WebSocket disconnects, reconnect loops, missed events | src/api/ws.ts, src/hooks/useAppLifecycle.ts, src/api/sync.ts, src/store/connectionSlice.ts |
| App resume, background, online/offline sync bugs | src/hooks/useAppLifecycle.ts, src/api/ws.ts, src/api/sync.ts, src/constants/chatTiming.ts |
| Compose, mentions, uploads, voice recording, stickers | src/components/chat/compose/, src/api/upload.ts, sticker APIs and preferences |
| Scroll, virtualized rendering, jump-to-message bugs | src/components/chat/virtualScroll/, src/pages/chat-thread/chat-thread.tsx |
| Reactions or pins not updating | src/store/messageEvents.ts, src/store/pinsSlice.ts, src/components/chat/reactions/, src/components/chat/pins/, src/api/pins.ts, src/api/ws.ts |
| Media, image viewer, video preview, HEIC behavior | src/components/chat/messages/media/, src/utils/heicMedia.ts, src/constants/media.ts |
| Sticker rendering, picker, pack order, settings | src/components/chat/compose/StickerPicker.tsx, src/components/chat/messages/StickerBubble.tsx, src/store/stickerPreferencesSlice.ts, src/pages/settings/stickers.tsx, src/api/stickers.ts |
| Group settings, members, invites, permissions | src/pages/chat-thread/, src/components/chat/settings/, src/components/chat-members/, src/components/permissions/, src/api/group.ts, src/api/invites.ts |
| Auth, JWT, 401 errors, current user | src/api/client.ts, src/utils/jwtToken.ts, src/store/userSlice.ts, src/js/current-user.ts |
| Push notifications, notification tap/open routing | src/hooks/usePushNotifications.ts, src/hooks/useNotificationOpenHandler.ts, src/serviceWorker.ts, src/pages/push-open.tsx, notification navigation utilities |
| Settings not persisting, locale wrong | src/store/settingsSlice.ts, src/utils/db.ts, src/i18n.ts, settings pages |
| Performance or jank | virtual scroll config, Redux selectors, listener middleware, expensive render paths, missing memoization |