From b48458da700a172d105f043e6f552566691d20e1 Mon Sep 17 00:00:00 2001 From: intr <15019654+intr-cx@users.noreply.github.com> Date: Mon, 31 Jul 2023 10:42:44 +0200 Subject: [PATCH 1/2] ignore fake Protonmail message ids --- mthread.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mthread.c b/mthread.c index d200879..42f044f 100644 --- a/mthread.c +++ b/mthread.c @@ -159,6 +159,12 @@ thread(char *file) mid = strndup(m+1, v-m-1); // XXX free? + //protonmail.internalid + if (mid && strlen(mid) >= 22) { + const char *pi = "@protonmail.internalid"; + if (strcmp(mid + strlen(mid) - 22, pi)) + continue; + } me = midcont(mid); if (me == c) From 659ca8bf9fc84b21e5734be3e9e514a9f57faf5f Mon Sep 17 00:00:00 2001 From: interloper <15019654+intr-cx@users.noreply.github.com> Date: Mon, 31 Jul 2023 18:31:36 +0200 Subject: [PATCH 2/2] fixup --- mthread.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/mthread.c b/mthread.c index 42f044f..16affac 100644 --- a/mthread.c +++ b/mthread.c @@ -159,17 +159,18 @@ thread(char *file) mid = strndup(m+1, v-m-1); // XXX free? - //protonmail.internalid - if (mid && strlen(mid) >= 22) { - const char *pi = "@protonmail.internalid"; - if (strcmp(mid + strlen(mid) - 22, pi)) - continue; - } me = midcont(mid); if (me == c) continue; + // ugly, skip fake Protonmail mids + if (strlen(mid) >= 22) { + const char *pi = "@protonmail.internalid"; + if (strcmp(mid + strlen(mid) - 22, pi)) + continue; + } + if (parent && !me->parent && !reachable(me, parent) && !reachable(parent, me)) { me->parent = parent;