Commit Graph
30 Commits
Author SHA1 Message Date
javier f798f7ecc0 feat: mailio-based IMAP synchronizer (option USE_MAILIO_IMAP)
- Added ImapSynchronizerMailio using mailio library (C++17, Boost)
- CMake option USE_MAILIO_IMAP (OFF by default) to avoid Boost dependency
- Fetches Boost + mailio via FetchContent when enabled
- Implements full IMAP: connect, auth (LOGIN/XOAUTH2), LIST, SELECT, FETCH, STORE, APPEND, EXPUNGE
- SyncFolder: detects deletions, fetches new messages, updates flags in batches
- XOAUTH2 support for Gmail/Outlook OAuth2 tokens
- Falls back to original ImapSynchronizer when USE_MAILIO_IMAP=OFF
- Ready to enable with: cmake -DUSE_MAILIO_IMAP=ON
2026-08-18 02:30:23 +02:00
javier a004bdd60f feat: IMAP sync incremental + Account Setup Wizard + robust FETCH parser
- ImapSynchronizer::syncFolder(): detecta eliminados (UIDs locales no en servidor), fetch nuevos (sinceUid), actualiza flags (FLAGS batch)
- fetchAllUids(): SELECT + SEARCH ALL para lista completa UIDs servidor
- parseAndUpdateFlags(): FETCH FLAGS en lotes 100, update DB si cambió read/flagged
- AccountSetupDialog: integra ConnectionWizard para IMAP/POP3 con test de conexión real
- IMAP FETCH parser robusto: logging respuesta servidor + fallback UID-by-UID
- Fix: FETCH failed logging muestra first/last UID + respuesta truncada
2026-08-17 15:34:49 +02:00
javier 364624aada Fix IMAP FETCH parsing to correctly handle multi-line literal bodies, ensuring subject, sender, recipient, and date are populated from headers 2026-07-10 00:09:16 +02:00
javier 66d62d0635 Fix: Ensure ImapSynchronizer::initialize() is called before using synchronizer in MailService::fetchMails()
- Added missing initialization of IMAP synchronizer before fetching mail items
- Fixed missing semicolon in error message
- This ensures IMAP connection parameters (host, port, SSL, credentials) are properly set
- Fixes the issue where breakpoints in ImapSynchronizer::initialize() were never hit
- Enables both manual folder sync and automatic SyncScheduler to work correctly
2026-07-08 22:53:27 +02:00
javier f90ae7440d Fix Parameter count mismatch in AccountDao::insert by adding missing :signature placeholder 2026-07-08 11:49:29 +02:00
javier 0674fe4944 Replace simulated IMAP delay with real connection test using AccountService::testConnection 2026-07-06 16:25:43 +02:00
javier e81bb0d5fe Actualización de CMakeLists.txt y composeview (añadido getTableView, manejo de carpeta seleccionada, sync, delete, flag) 2026-07-05 23:20:35 +02:00
javier 933cce39b9 Backup before implementing tag editor for To/Cc/Bcc fields 2026-07-05 15:32:12 +02:00
javier 4569c174f0 Actualizaciones varias: mejoras en cuenta, sincronización, UI 2026-07-05 10:45:44 +02:00
javier 8799633447 fix: fetch emails when folder is selected in tree view 2026-06-25 18:10:49 +02:00
javier 967231db3b Base: fix compile errors in wino-mail-dtkqt (composeview UI, initializeComposition, startNewEmail, authenticator includes) 2026-06-23 01:34:13 +02:00
javier 2a3a1a0470 Baseline for wino-mail-dtkqt UI migration 2026-06-18 18:58:27 +02:00
javier 0e9f620fe0 Fix build: synchronize Request API, fix GmailSynchronizer, and migrate UI to Qt6 Widgets 2026-06-17 22:44:27 +02:00
Padrino c5704b78a4 Update: minor adjustments to CMakeLists.txt, ComposePage.qml, emailmanager.cpp, main.cpp 2026-06-04 18:29:16 +02:00
Padrino acaf741eb9 Complete phases 6 and 7: Notifications & System Tray, Background Sync & Scheduling 2026-05-29 22:53:57 +02:00
Padrino 4fdd95c979 Complete implementation of Phase 6 (Notifications & System Tray) and enhance Phase 7 (Background Sync) to actually perform synchronizations 2026-05-29 11:43:44 +02:00
Padrino c3567f93d5 Add event publishing to Outlook and Gmail synchronizers for AccountConnected, SyncStarted/Finished, and MailItemAdded/Updated/Removed events 2026-05-29 10:51:49 +02:00
Padrino 2821647574 Fix compilation errors and implement Phase 6 & 7: NotificationManager and SyncScheduler with real synchronizer integration 2026-05-24 21:01:05 +02:00
Padrino 70700524e0 Implement Fase 7: sincronización en segundo plano con SyncScheduler que verifica cada hora y ejecuta sincronización después de las 5 AM y al menos cada 3 días; integrado en main.cpp y actualizado CMakeLists.txt 2026-05-24 03:43:59 +02:00
Padrino 496fc43f60 Implement Fase 5 lectura de correos y Fase 6 notificaciones: ReaderPage muestra correos reales vía EmailManager, añadido NotificationManager con QSystemTrayIcon y suscripción al Event Bus; actualizados EmailManager y DbChangeProcessor; creado estructura de notificaciones básica 2026-05-24 00:02:19 +02:00
Padrino 4a6551642a Advance Phase 5: added EmailManager, updated main.cpp, improved ReaderPage placeholder, added ComposePage form 2026-05-17 03:08:16 +02:00
Padrino 822ed5db47 Complete Phase 4: Basic UI with QML - MailListPage with folder/email navigation, models connected to DAOs, placeholder pages for Calendar/Contacts/Settings 2026-05-17 01:52:34 +02:00
Padrino acec320222 Implement basic UI with QML (MailListPage) and batching DbChangeProcessor (Step 3-4 of transition plan) 2026-05-17 01:09:01 +02:00
Padrino e3071a23e0 Paso 2: Implementar sistema de mensajería/eventos con Event Bus y actualizar synchronizers para publicar eventos 2026-05-13 01:18:04 +02:00
Padrino b6c5dea86e Add FolderDao and MailItemDao, update MailItem model to include folderId, fileId, size, messageId 2026-05-12 01:08:09 +02:00
Padrino 7f2e546380 Add AccountDao with CRUD operations 2026-05-12 00:54:37 +02:00
Padrino 2722e40696 Add DatabaseManager singleton with SQLite initialization and basic tables (Account, Folder, MailCopy, Attachment) 2026-05-12 00:29:49 +02:00
Padrino 6022aeafae Add IMAP synchronizer stub, update CMakeLists.txt 2026-05-12 00:26:27 +02:00
Padrino c97740c17b Add Account and Folder models, update CMakeLists.txt with source files, add MailItem implementation 2026-05-12 00:23:13 +02:00
Padrino a1c2b97dee Add translator core, mailitem model, main.cpp, and en translation 2026-05-12 00:14:43 +02:00