A macOS-native Flutter application that imports and manages Messages and AddressBook data from the system databases.
This application provides:
- Messages Import: Complete import of iMessage and SMS data from macOS Messages app
- AddressBook Integration: Contact information from macOS Contacts app
- Rich Text Extraction: Rust-powered extraction from attributed message bodies
- Database Management: Import and working databases with full referential integrity
- Domain Driven Development (DDD) structure
- Riverpod for state management (hooks_riverpod)
- Drift for database operations
- macOS UI components for native feel
- Rust FFI for high-performance text extraction
The Rust extractor is critical for proper message text extraction. Without it, ~90% of messages will appear empty because macOS stores the actual message content in binary attributedBody fields rather than plain text fields.
target/release/extract_messages_limited
rust/
├── rust/
│ └── attributed-string-decoder/
│ ├── Cargo.toml
│ ├── src/
│ │ ├── lib.rs
│ │ ├── api.rs
│ │ └── frb_generated.rs
│ └── target/
│ └── release/
│ └── extract_messages_limited
If the binary is missing, build it with:
cd rust/rust/attributed-string-decoder
cargo build --release --bin extract_messages_limited
cp target/release/extract_messages_limited ../../../target/release/The app will automatically check for the extractor on startup:
🔍 Checking Rust extractor availability at: target/release/extract_messages_limited
📁 File exists: true
📊 File mode: 100755
If the extractor is missing, imports will still work but message text will be largely empty.
- macOS (required for Messages/Contacts database access)
- Flutter SDK
- Rust toolchain (for building extractor)
- Clone the repository
- Run
flutter pub get - Ensure Rust extractor binary exists (see above)
- Run
flutter run -d macos
- Grant Full Disk Access to the app when prompted
- Navigate to Import section
- Select Messages and AddressBook import
- Wait for completion (typically 1-2 minutes)
See _AGENT_CONTEXT/AGENT_CONTEXT.md for comprehensive development guidelines and architecture documentation.