feat: implement group chat sidebar using localStorage (#57)#120
feat: implement group chat sidebar using localStorage (#57)#120nifanpinc wants to merge 1 commit intosorosave-protocol:mainfrom
Conversation
- Add GroupChat component with real-time messaging UI - Messages stored in localStorage (off-chain) - Wallet-based message signing for authentication - 3-second polling for real-time updates - Member-only chat access control - Dark mode compatible - Auto-scroll, Enter to send, 500 char limit - Integrated chat button in group detail Actions panel Closes sorosave-protocol#19
Code Review SummaryStatus: Request Changes Critical Architecture Issue:The chat implementation uses localStorage polling (3s interval) for real-time messaging. This is problematic:
Required:Update PR description to clearly state this is TEMPORARY MOCK implementation pending XMTP integration. Or implement proper message relay. |
|
Hey, Been looking at the GroupChat implementation and wanted to flag something about the architecture. Current approach uses localStorage with polling for real-time messaging - that's fine for a demo but comes with some limitations worth documenting:
Suggestion: Add a note at the top of the file explaining this is a temporary implementation. Something like: ` ypescript
This helps future contributors understand it's a placeholder, not the final architecture. Would also be good to create a follow-up issue tracking the XMTP integration if that's the planned direction. Code itself looks good otherwise - clean component structure. |
Summary
Implements a collapsible group chat sidebar for group members to communicate off-chain.
Closes #57
Changes
New Component:
src/components/GroupChat.tsx(200 lines)Updated:
src/app/groups/[id]/page.tsxFeatures
Technical Details
Testing
Screenshots
Chat sidebar showing message history with timestamps and member addresses