# PAILot Flutter - TODO ## Pending Features ### File Transfer (send/receive arbitrary files) - File picker in app (PDFs, Word docs, attachments, etc.) - New `file` message type in WebSocket protocol - Gateway handler to save received files and route to session - Session can send files back via `pailot_send_file` - Display file attachments in chat bubbles (icon + filename + tap to open) ### Voice+Image Combined Message - When voice caption is recorded with images, hold images on server until voice transcript arrives - Deliver transcript + images together as one message to Claude - Ensures voice prefix sets reply channel correctly ### Push Notifications (iOS APNs) - Notify when messages arrive while app is backgrounded/closed - Requires Apple Developer Portal APNs key setup - Server-side message queue for offline delivery ### App Name Renaming (Runner → PAILot) - Rename Xcode target from Runner to PAILot (like Glidr did) - Update scheme names, bundle paths ## Known Issues ### Audio - Background audio may not survive full app termination (only screen lock) - Audio session category may conflict with phone calls ### UI - Launch image still uses default Flutter placeholder - No app splash screen with PAILot branding ### Navigation - vi keys (0, G, dd) are sent as literal text paste — works for Claude Code but may not for other terminals