Changelog
This document records all version updates and feature changes of RushChat.
Changelog Overview
[Unreleased] - In Development
New Features
- ✅ Channel System: Support for creating and managing private channels
- ✅ Points System: User points management and channel creation costs
- ✅ Wallet Address Verification: EVM and SOL address format validation
- ✅ Rush Executive Privileges: Free channel creation, free access to private channels
- ✅ Invitation System: Personalized invitation codes, share to X, QR code sharing
- ✅ Custom Stickers: Users can upload GIF stickers (10 for regular users, 100 for admins and channel owners)
- ✅ Sticker Duplicate Detection: Uses SHA256 hash to prevent duplicate uploads
- ✅ Voice Chat Feature: WebRTC voice calls, supports multiple users, screen sharing, invitations, permission management
- ✅ Red Packet System: EVM and Solana chain red packets, supports regular and random red packets
- ✅ X402 Protocol: Implementation of Coinbase X402 payment protocol, supports on-chain payment verification
- ✅ Wallet Verification Enhancement: Support for Metaplex Core NFT, DAS API, automatic RPC fallback
- ✅ Pending Mentions: @mention notifications stored for offline users and delivered when they join the channel
Improvements
- ✅ Optimized user list deduplication logic
- ✅ Improved session management to prevent duplicate logins
- ✅ Enhanced real-time feedback for wallet address verification
- ✅ Fixed Avatar Upload Issue: Changed avatar field from VARCHAR(500) to LONGTEXT to support storing large base64 image data
- ✅ Image Compression Feature: Automatic image compression when uploading avatars to reduce data size
- ✅ Unified file path logic: Ensures consistent file paths for uploads and serving
- ✅ Optimized route order: Ensures specific routes take priority over generic static file serving
- ✅ Solana NFT Verification Optimization: Uses getAssetsByOwner (DAS API) to support Metaplex Core NFT
- ✅ RPC Endpoint Optimization: Defaults to Helius RPC, automatically detects DAS API support and falls back
- ✅ Wallet Connection Optimization: Improved connection and switching logic for Phantom, OKX, and other wallets
- ✅ Error Handling Enhancement: Global error handling, suppresses browser extension and wallet-related errors
[v1.0.0] - 2024-01-XX
Core Features
User System
- ✅ Guest Mode: No registration required, one-click entry to chat room
- ✅ User Registration: Supports username, password, and email registration
- ✅ User Login: Password verification login
- ✅ Session Persistence: Automatically restores login state on page refresh
- ✅ Reserved Word Protection: Usernames like admin, root must use password login
Chat Functionality
- ✅ Real-time Messaging: WebSocket-based real-time communication
- ✅ Text Messages: Supports plain text message sending
- ✅ Image Sharing: Supports image upload and sharing (max 5MB)
- ✅ Typing Indicator: Shows users who are typing
- ✅ Online User List: Real-time display of online users
- ✅ Message History: Automatically loads historical messages
Permission Management
- ✅ Three-level Administrator System: A-level (Super Admin), B-level (Rush Executive), C-level (Admin)
- ✅ IP Banning: Administrators can ban violating IPs (60 minutes)
- ✅ User Muting: Administrators can temporarily mute users (15 minutes)
- ✅ Administrator Appointment: Senior administrators can appoint junior administrators
Channel System
- ✅ Public Channels: Default channels accessible to all users
- ✅ Private Channels: Channels that require a password to join
- ✅ Channel Creation:
- Regular users: Requires 100,000 points, creation costs 50,000 points
- Rush executives: Free creation, no points consumed
- ✅ Channel Management: Channel owners can set/modify channel passwords
- ✅ Channel Switching: Users can switch channels at any time
- ✅ Message Isolation: Messages from different channels are isolated from each other
User Profile
- ✅ Profile Management: Can set avatar, email, wallet address
- ✅ Avatar Upload: Supports image upload (max 5MB)
- ✅ Wallet Address:
- EVM addresses (Ethereum, etc.): Format validation
- SOL addresses (Solana): Format validation
- ✅ Password Change: Supports changing login password
Interface Design
- ✅ Slack-style: Modern chat interface design
- ✅ Day/Night Mode: Supports theme switching
- ✅ Responsive Design: Adapts to desktop and mobile devices
- ✅ Multi-language Support: Chinese/English switching
Technical Features
Frontend
- React 18 + Hooks
- Socket.io Client
- CSS Variables (Theme System)
- React Context (State Management)
- Real-time validation and feedback
Backend
- Rust + Axum
- Tokio WebSocket (WebSocket)
- MySQL (Optional, supports in-memory mode)
- bcrypt (Password encryption)
- Session management
Database
Table Structure
users: User tablemessages: Message tablechannels: Channel tablesessions: Session tablebanned_ips: IP ban tablemuted_users: Muted users tableadmin_logs: Administrator operation log table
Security Features
- Password encrypted storage (bcrypt)
- Reserved word protection
- IP banning mechanism
- User muting mechanism
- Administrator operation logs
Built with Rust, React, and MySQL ❤️