Status: 📋 PENDING Phase 4 Completion
Prerequisites: ✅ Phase 4 (Scripting & Plugins) completion required
Dependencies: Lua/Python scripting engines, plugin architecture, comprehensive testing framework
Estimated Duration: 4-6 weeks
Note: Phase 5 will build upon the scripting capabilities established in Phase 4
-
Core DCC Manager
- DccManager struct
- Connection tracking
- Transfer management
- Port allocation
- UPnP support
-
Configuration
- Auto-accept rules
- Download directory
- Port range settings
- Security settings
- Resume preferences
-
Chat Implementation
- Initiate chat request
- Accept chat offers
- TCP connection handling
- Message protocol
- Chat UI window
-
Chat Features
- Encryption support
- Chat logging
- Notification support
- Status tracking
- Error handling
-
File Transfer Core
- Send implementation
- Receive implementation
- Progress tracking
- Speed calculation
- Queue management
-
Transfer Features
- Multiple transfers
- Bandwidth limiting
- File validation
- Checksum verification
- Cancel/pause support
-
Resume Protocol
- RESUME command
- ACCEPT response
- Position tracking
- Partial file handling
- State persistence
-
Resume Features
- Auto-resume
- Resume history
- Corruption detection
- Fallback handling
- UI integration
-
Passive Implementation
- Zero port handling
- Role reversal
- Connection negotiation
- NAT traversal
- Timeout handling
-
UPnP Integration
- Port mapping
- Router discovery
- Automatic setup
- Fallback options
- Status reporting
-
Tag Parsing
- Standard tags
- Vendor tags
- Client tags
- Tag validation
- Escaping/unescaping
-
Tag Support
- time tag
- msgid tag
- account tag
- batch tag
- label tag
- reply tag
- react tag
-
History Commands
- BEFORE query
- AFTER query
- BETWEEN query
- AROUND query
- LATEST query
-
History Management
- Request tracking
- Response batching
- Duplicate handling
- Gap detection
- UI integration
-
Batch Handling
- Batch start/end
- Message buffering
- Type handlers
- Nested batches
- Error recovery
-
Batch Types
- netjoin
- netsplit
- chathistory
- labeled-response
- Custom types
-
labeled-response
- Label generation
- Response correlation
- Timeout handling
- Error mapping
- Async support
-
echo-message
- Message echoing
- Deduplication
- UI handling
- State sync
- Offline support
-
message-ids
- ID generation
- ID tracking
- Reply threading
- Edit support
- Delete support
-
draft/multiline
- Multiline parsing
- Concat handling
- Max-lines support
- UI rendering
- Input handling
-
Implementation
- Client first message
- Server first parsing
- Proof calculation
- Verification
- Error handling
-
Crypto Functions
- PBKDF2 implementation
- HMAC-SHA256
- SHA256 hashing
- Nonce generation
- Base64 encoding
-
Certificate Auth
- Certificate loading
- TLS integration
- Fingerprint validation
- Chain verification
- UI for cert selection
-
Management
- Certificate storage
- Multiple certificates
- Expiration warnings
- Renewal support
- Backup/restore
-
SCRAM-SHA-512
- SHA-512 variant
- Compatibility
- Fallback logic
-
OAUTHBEARER
- OAuth2 flow
- Token management
- Refresh support
-
Core Implementation
- Handshake protocol
- Authentication
- Connection requests
- UDP associate
- Error handling
-
SOCKS5 Features
- Username/password auth
- IPv6 support
- Domain names
- Bind support
- Performance optimization
-
Implementation
- CONNECT method
- Header handling
- Authentication
- Response parsing
- Tunnel establishment
-
HTTP Features
- Basic auth
- Digest auth
- Custom headers
- Proxy chains
- PAC file support
- Configuration
- Per-server proxies
- Global proxy
- Proxy exceptions
- Auto-detection
- Testing tools
-
Windows Notifications
- Toast notifications
- Action center
- Action buttons
- Images/icons
- Sound support
-
macOS Notifications
- Notification Center
- Actions/buttons
- Sounds
- Badges
- Do Not Disturb
-
Linux Notifications
- D-Bus interface
- Desktop notifications
- Sound support
- Actions
- Urgency levels
-
Rules Engine
- Highlight words
- Nick mentions
- Channel filters
- User filters
- Time-based rules
-
Quiet Hours
- Schedule setting
- Override options
- Weekend handling
- Timezone support
- Quick toggle
-
History
- Notification log
- Missed notifications
- Click actions
- Clear/dismiss
- Search
-
Window Management
- Detach tabs
- Multiple windows
- Window positions
- State persistence
- Focus handling
-
Window Types
- Main window
- Channel windows
- Query windows
- DCC windows
- Server windows
-
Search Engine
- Full-text indexing
- Query parser
- Result ranking
- Faceted search
- Search history
-
Search Features
- Date ranges
- User filtering
- Channel filtering
- Regex support
- Export results
-
Preview System
- URL detection
- Metadata fetching
- Image previews
- Video thumbnails
- Security checks
-
Preview Features
- Hover previews
- Inline expansion
- History tracking
- Blacklist/whitelist
- Custom handlers
- Certificate Store
- Import/export
- Validation
- Pinning support
- Chain verification
- Revocation checks
- Rate Limiting
- Message throttling
- Command queuing
- Burst handling
- Per-server limits
- Adaptive throttling
-
Transfer Tests
- Small files
- Large files
- Resume tests
- Cancel tests
- Error cases
-
Chat Tests
- Connection tests
- Message tests
- Encryption tests
- Timeout tests
- Multi-chat tests
- IRCv3 Tests
- Capability tests
- Tag parsing
- Batch handling
- History queries
- Error handling
- Proxy Tests
- SOCKS5 tests
- HTTP tests
- Auth tests
- Failure tests
- Performance tests
-
DCC Guide
- Setup instructions
- Usage examples
- Troubleshooting
- Security notes
- Best practices
-
Advanced Features
- IRCv3 features
- Proxy setup
- Notifications
- Search guide
- Multi-window
- DCC core working
- Basic IRCv3 support
- Proxy connections
- All DCC features
- Complete IRCv3
- Notifications working
- File transfers reliable
- All IRCv3 specs implemented
- Proxy support complete
- Native notifications
- Advanced UI features