discourse/app
Martin Brennan 2920988b3a
FIX: IMAP sync email update uniqueness across groups and minor improvements (#10332)
Adds a imap_group_id column to IncomingEmail to deal with an issue where we were trying to update emails in the mailbox, calling IncomingEmail.where(imap_sync: true). However UID and UIDVALIDITY could be the same across accounts. So if group A used IMAP details for Gmail account A, and group B used IMAP details for Gmail account B, and both tried to sync changes to an email with UID of 3 (e.g. changing Labels), one account could affect the other. This even applied to Archiving!

Also in this PR:

* Fix error occurring if we do a uid_fetch and no emails are returned
* Allow for creating labels within the target mailbox (previously we would not do this, only use existing labels)
* Improve consistency for log messages
* Add specs for generic IMAP provider (Gmail specs still to come)
* Add custom archiving support for Gmail
* Only use Message-ID for uniqueness of IncomingEmail if it was generated by us
* Various refactors and improvements
2020-08-03 13:10:17 +10:00
..
assets DEV: allows to decouple csv-uploader texts from bulk invite (#10344) 2020-08-01 10:29:09 +02:00
controllers DEV: Show message when cannot invite user to PM (#10336) 2020-07-31 09:52:19 -06:00
helpers Revert "PERF: Move highlightjs to a background worker, and add result cache (#10191)" 2020-07-15 13:52:35 +01:00
jobs DEV: make rubocop 🤖 happy 2020-07-31 18:16:54 +02:00
mailers FIX: Add strip_secure_urls method to GroupSmtpMailer 2020-07-24 13:55:07 +10:00
models FIX: IMAP sync email update uniqueness across groups and minor improvements (#10332) 2020-08-03 13:10:17 +10:00
serializers FIX: Rename delete_when_reminder_sent? bookmark method to avoid conflict with AR (#10333) 2020-07-29 17:02:36 +10:00
services DEV: Show message when cannot invite user to PM (#10336) 2020-07-31 09:52:19 -06:00
views Change pp to published-page (#10343) 2020-07-31 09:24:08 -05:00