- Converted vCard parsing from array-based to generator pattern (use less memory so bigger batch imports are possible)
- Centralized name/slug creation into nameUtils module
- Support organization contacts that don't require given/family names - slug/file names are now based on N components if they exist, with FN, NICKNAME, ORG, and UUID as fallbacks
- Contacts that miss all of those fields are considered invalid and skipped on batch import
- Update UI to handle batch imports with proper skip reporting
- Improved error handling and reporting during VCF imports
- Add test coverage for organization contacts, file and slug creation utilities
This allows proper import/export of organization contacts (companies,
businesses) that only have an ORG field without requiring artificial
name fields, matching the behavior of standard contact applications.