A comprehensive debugging tool for PubNub real-time messaging features.
-
Real-time Message Testing
- Send messages to channels (Publish, Signal, Fire)
- Subscribe to channels with live updates
- Message format validation (JSON, text)
- Message size testing (up to 32KB limit)
- Custom message types support
-
Connection Monitoring
- Connection status indicators
- Reconnection handling
- Network latency measurement
- Error logging and debugging
-
Channel Management
- Subscribe/unsubscribe to multiple channels
- Real-time channel monitoring
- Channel-specific message filtering
-
Message Feed
- Live message stream
- Message filtering by channel and type
- Message export functionality
- Detailed message metadata display
-
User Tracking
- Real-time user join/leave events
- Occupancy count monitoring
- User state management
- Channel-specific presence rules
-
Presence Events
- Live presence event stream
- State change notifications
- Timeout detection
- Multi-channel presence monitoring
-
User State Management
- Set user state on channels
- Retrieve user state
- State change tracking
- JSON state format support
-
Message Storage
- Fetch historical messages
- Pagination support
- Time range filtering
- Message count queries
-
Storage Management
- Retention policy testing
- Message deletion
- Storage limits validation
- Cross-channel history
-
Reactions System
- Add/remove reactions
- Reaction type management
- User-specific reactions
- Reaction analytics
-
Custom Actions
- Custom action types
- Action metadata
- Action history
- Action filtering
-
User Management
- Create/update user profiles
- User metadata management
- User search and filtering
- User relationships
-
Channel Management
- Channel metadata
- Channel descriptions
- Channel custom fields
- Channel membership
-
Membership Management
- User-channel relationships
- Membership permissions
- Bulk membership operations
-
File Operations
- Upload files (up to 5MB)
- Download files
- File metadata
- File sharing across channels
-
File Management
- File listing
- File deletion
- File URL generation
- File encryption support
-
Notification Testing
- Send push notifications
- Platform-specific testing (iOS/Android/Windows)
- Notification payload validation
- Delivery confirmation
-
Device Management
- Device token management
- Platform registration
- Notification preferences
-
Group Management
- Create/manage channel groups
- Add/remove channels from groups
- Group subscription management
- Wildcard subscriptions
-
Multi-channel Operations
- Bulk operations
- Group-based messaging
- Group presence monitoring
- Node.js 18+
- npm or yarn
- PubNub account with API keys
- Clone the repository:
git clone <repository-url>
cd pubnub-debug-console- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser to
http://localhost:3000
- Get your PubNub keys from the PubNub Admin Portal
- Enter your keys in the Configuration panel:
- Publish Key (starts with
pub-c-) - Subscribe Key (starts with
sub-c-) - User ID (unique identifier for this debug session)
- Publish Key (starts with
- Enter your PubNub publish and subscribe keys
- Set a unique User ID for this debug session
- Monitor connection status
- Subscribe to channels you want to monitor
- View all subscribed channels
- Unsubscribe from channels when done
- Publish: Send regular messages with history storage
- Signal: Send lightweight messages (64 chars max, no history)
- Fire: Send messages without history storage
- Support for both text and JSON message formats
- View real-time messages from subscribed channels
- Filter messages by channel or type
- Export messages to JSON file
- Clear message history
- View real-time presence events (join, leave, timeout, state-change)
- Monitor occupancy counts per channel
- Filter presence events by channel and action type
- Refresh current presence status
- Set user state on multiple channels
- Retrieve current user state
- JSON format state management
- Multi-channel state operations
- Fetch historical messages from Message Persistence
- Search and filter historical messages
- Delete messages from history (requires secret key)
- Export history to JSON file
- Time range filtering with timetokens
- Add reactions to messages (👍, ❤️, etc.)
- Create custom message actions
- Remove message actions
- Fetch and display action history
- Export actions to JSON file
- Manage user metadata (name, email, profile, custom data)
- Manage channel metadata (name, description, custom data)
- Manage user-channel memberships
- Export context data to JSON file
- Upload files up to 5MB
- Download files from channels
- List files in channels
- Delete files
- Drag & drop file upload
- Send push notifications to iOS, Android, Windows
- Platform-specific payload configuration
- Custom notification data
- Multi-channel notification sending
- Create and manage channel groups
- Add/remove channels from groups
- Subscribe/unsubscribe to groups
- List channels in groups
- Message: Regular publish/subscribe messages with full history support
- Signal: Lightweight messages for real-time notifications (64 character limit)
- Fire: Messages sent without storing in history
| Feature | Status | Description |
|---|---|---|
| Pub/Sub | ✅ Complete | Real-time messaging with all message types |
| Presence | ✅ Complete | User online/offline tracking and state management |
| History | ✅ Complete | Message persistence and retrieval |
| Actions | ✅ Complete | Message reactions and metadata |
| App Context | ✅ Complete | User/channel metadata management |
| Files | ✅ Complete | File sharing (up to 5MB) |
| Push | ✅ Complete | Mobile push notifications |
| Channel Groups | ✅ Complete | Multi-channel subscriptions |
src/
├── components/ # React components
│ ├── ConfigurationPanel.tsx
│ ├── MessageComposer.tsx
│ ├── ChannelManager.tsx
│ └── MessageFeed.tsx
├── stores/ # Zustand state management
│ └── pubnubStore.ts
├── App.tsx # Main application component
└── main.tsx # Application entry point
- Frontend: React 18 + TypeScript
- Styling: Tailwind CSS
- State Management: Zustand
- PubNub SDK: JavaScript SDK v10.1.0
- Build Tool: Vite
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT License - see LICENSE file for details
For issues and questions:
- Create an issue in this repository
- Contact PubNub support at [email protected]
- Visit PubNub Documentation