#include <sys/time.h>
#include <signal.h>
-#include <xapian.h>
#include <glib.h> /* g_free, GPtrArray, GHashTable */
_notmuch_message_add_filename (message, filename);
+ /* This is a new message or it has a new filename and as such,
+ * its tags in database either do not exists or might be out
+ * of date. We assign the tags later in notmuch new, but until
+ * then we should not synchronize the tags back to the maildir
+ * flags (if notmuch is configured to do so). */
+ notmuch_message_set_flag(message, NOTMUCH_MESSAGE_FLAG_TAGS_INVALID, TRUE);
+
/* Is this a newly created message object? */
if (private_status == NOTMUCH_PRIVATE_STATUS_NO_DOCUMENT_FOUND) {
_notmuch_message_add_term (message, "type", "mail");
DONE:
if (message) {
- if (ret == NOTMUCH_STATUS_SUCCESS && message_ret)
+ if ((ret == NOTMUCH_STATUS_SUCCESS ||
+ ret == NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID) && message_ret)
*message_ret = message;
else
notmuch_message_destroy (message);