-
Notifications
You must be signed in to change notification settings - Fork 73
Open
Description
I'm interested in contributing WhatsApp support. I've read through the codebase and noticed the unified schema already accounts for WhatsApp (source_type, message_type, raw_format, phone numbers on participants, reactions table, etc.) — so the storage layer looks ready.
What I'd build:
Phase 1 — Live sync via whatsmeow:
- New
internal/whatsapp/package using whatsmeow for the WhatsApp Web multi-device API - QR code authentication flow (similar to how
add-accountopens a browser for Gmail OAuth) - Session persistence so re-auth isn't needed on every sync
- Live sync: pull message history, map to existing schema (conversations, participants by phone number, attachments, reactions)
- CLI commands:
add-account --whatsapp, sync dispatching by source type
Phase 2 — Backup import:
- Import from WhatsApp's "Export Chat" .txt files (quick win, but lossy — no metadata/reactions)
- Import from encrypted WhatsApp backups (Google Drive / local
msgstore.db) if feasible — this is harder due to encryption key extraction
Questions before I start:
- Does this align with your current priorities, or is there other work you'd want landed first?
- Any preferences on whatsmeow vs other approaches?
- For backup import — any preference on which format to prioritise (export .txt vs encrypted backup)?
- Are there any architectural decisions or constraints I should know about for the sync pipeline?
Happy to start with a design doc or go straight to a draft PR — whatever works best for the project.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels