mirror of
https://github.com/discourse/discourse.git
synced 2024-12-01 01:15:47 +08:00
2920988b3a
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 |
||
---|---|---|
.. | ||
backup_restore | ||
compression | ||
content_security_policy | ||
i18n | ||
imap/providers | ||
seed_data | ||
site_settings | ||
validators | ||
webauthn | ||
bookmark_manager_spec.rb | ||
bookmark_query_spec.rb | ||
bookmark_reminder_notification_handler_spec.rb | ||
browser_detection_spec.rb | ||
content_security_policy_spec.rb | ||
db_helper_spec.rb | ||
discourse_js_processor_spec.rb | ||
encodings_spec.rb | ||
introduction_updater_spec.rb | ||
mini_sql_multisite_connection_spec.rb | ||
search_spec.rb | ||
shrink_uploaded_image_spec.rb | ||
theme_flag_modifier_spec.rb | ||
theme_javascript_compiler_spec.rb | ||
topic_upload_security_manager_spec.rb | ||
upload_creator_spec.rb | ||
upload_recovery_spec.rb | ||
upload_security_spec.rb |