From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4983 192.55.52.0/24 X-Spam-Status: No, score=-0.9 required=3.0 tests=AWL,BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 60E181F452 for ; Wed, 12 Apr 2023 18:29:36 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=WPUIRK2+; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681324176; x=1712860176; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=C/6965yRBdNI7h8oxdDwL47/lEcqAlzryOkyUF3BgSg=; b=WPUIRK2+LTFItjrknSRSWU+k4QwBi39S/2Dhtl3kwE24sW5pT2dkUxy5 IpgXqXk1G5sq+F1m6x3vw/6Lq9sGjwgH+4urGT/VdrVhQaEBixMWz2QKf urCJY8yYBRDj8TRtu7dz8qbBn9oesm1p8IvPxndpDcZS+qspSHdC6tnrZ XIjk8ydvG+0OgVkrzzDoWuBY6sE1zG2d4PMxExU55f6BEh/OtlEzocZqn YdwXyDcdebeEkoVeWaNk3AfvVg5OXS8r0UXbk/pjhuqEGB67p4Z5Xuv2M /lDTQi9HhylLmz4tQPvB/iPTepBD3I346iqr3zTJ6FEMlT8G+iw9DfLD4 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10678"; a="342738804" X-IronPort-AV: E=Sophos;i="5.98,339,1673942400"; d="scan'208";a="342738804" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Apr 2023 11:29:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10678"; a="639327991" X-IronPort-AV: E=Sophos;i="5.98,339,1673942400"; d="scan'208";a="639327991" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga003.jf.intel.com with ESMTP; 12 Apr 2023 11:29:28 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 12 Apr 2023 11:29:28 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 12 Apr 2023 11:29:28 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.108) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Wed, 12 Apr 2023 11:29:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=emfUDzWuEh2K9GIRqSkWkN8sHGSWTo3uWcmn+DpAmsZARMgpgSgOmfEb4qVLDrnMnu2t/DVHJt4ZweIt/IAzZfpCBOgzyqZtrWdB8k3dLjeTO999TAgNCmM7ntdsQlzijCeGVF9v2n8qMiXSvqKXx5F2eOy2FYNDXNFmyFklwyiRFUByK1H6AIi9np7PitSpZOij9XW9t03lMzRzZMYoqQZWiVqLdimjbdgtcAVuZDgQwFyduuGSJzaG+mSKq5cIVi0uUP4can5kguMW+y+bGi6EnK554gXexC7xnN36ZdJMDOLpxAgySq4xmSzBeQjtJV4Bla9Q1vub8Y7yeQeNVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VoKGKLDRHWwXEPxQJ5KZD/y6eKqtQ9QEXki8vdt14u4=; b=bmbtQ5IwcXl8S0gEi0nOU2kxHYTWCvlrwx0+JOUT1bhHHYnnxIf8Fjq8YF/aiePBuijo/5EtQErLFvWdk0Q7oVC3HC/Ohby9txpKn5ODfeyhFsbM1xFeZNnLf6EKjHuxDse4tLSvHrvst3C0iE5fG1ILsqvp1FD3RnueC1qe8OjCM8+T+clyprkq/JD6pbz6EP4zy5WreHhWC3d1fU6S24kMsd5UhuU5zS1aHbXpL1RhMOw1PuFsUGfHCvG7gGkxtMmHR3r+ql1kxhvPkuWXw1Opi/Ql0PQJEH3nkC8dl4Fq1/0Am+hMJab8t0pnxQd8JOYDrVvRwxK9cNbd55ESDQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from CO1PR11MB5089.namprd11.prod.outlook.com (2603:10b6:303:9b::16) by IA1PR11MB6465.namprd11.prod.outlook.com (2603:10b6:208:3a7::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Wed, 12 Apr 2023 18:29:25 +0000 Received: from CO1PR11MB5089.namprd11.prod.outlook.com ([fe80::6222:859a:41a7:e55b]) by CO1PR11MB5089.namprd11.prod.outlook.com ([fe80::6222:859a:41a7:e55b%2]) with mapi id 15.20.6298.030; Wed, 12 Apr 2023 18:29:25 +0000 Message-ID: <6d409755-84bf-b88e-4f5b-7b13abe216b0@intel.com> Date: Wed, 12 Apr 2023 11:29:30 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: search by whole thread? To: Eric Wong CC: References: <20230412000654.M9394@dcvr> Content-Language: en-US From: Jacob Keller In-Reply-To: <20230412000654.M9394@dcvr> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BYAPR11CA0061.namprd11.prod.outlook.com (2603:10b6:a03:80::38) To CO1PR11MB5089.namprd11.prod.outlook.com (2603:10b6:303:9b::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB5089:EE_|IA1PR11MB6465:EE_ X-MS-Office365-Filtering-Correlation-Id: 0f0f8ee1-ffd2-4eac-de9c-08db3b83d7b1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2mpOXo2fqW69jIl4WhZWqRZHu+wpm70CzlnuUP+f+p45Jzdvy03sI1R1N4b45rJcyxlid0OVJHFbDwZc0dq+JE/ZViZc1Y+c/uUUEMgL8Xz90qlX6U20UANNkuEWjpZ4VXy9pb6RVxoWEwHHarm4xqN7iiWH9epJmT/52mqDRinOkjKXjbcYoYVeCCGLY+ZIp/TkjoZPIBZa5FLdWsZkeiqCnR7L25+zbCMI32u2EIjfPDITmlo5rMRPP0HzRyUC3YpDpx/IQdePgunEFyJT+Pf5Nizqq12TXB0toI+2Ss46E5tu9seRTGQ521y16PuZj+3fl05n49WN/nY88AD4eZNEzhUUT0YCNYhQ745eWMOwOe09S8suwS1bRx5MWppX5MnUpR9irEqKE86mVfYsLRXXiJyhch12cUrueTEHy241eSTkUBFYIoMPX84IKQerw0/JHjbMQKKTgTXg5sOEGCG8eDuFFGh7nv9pM8kdY+L8t8ZfhdkVZtra3YXwwb2DBkBVxVM6RReQP531P56aS13ScOhYGfczXpsyxC7JKfzm2PVaYFxNYT/wqbbYB3fiZW2t63j+LDhGw4VjC/wPD3Sgs32AuMHKg+jzxzzKqdchqaJxpmAeBshDofq/JPWtIbM84dRfuqxDY5dje/A0lg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB5089.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(39860400002)(396003)(376002)(136003)(451199021)(478600001)(36756003)(5660300002)(8676002)(8936002)(38100700002)(66476007)(66946007)(66556008)(2906002)(41300700001)(82960400001)(4326008)(6916009)(31696002)(6512007)(316002)(26005)(53546011)(6506007)(86362001)(186003)(2616005)(31686004)(83380400001)(66574015)(6486002)(3480700007)(6666004)(966005)(781001)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZG5NYzJGY08xRmt4N1pDbWVua2d3SkZXU3VVQVo5V2tZYjl5OUozZ0ROcXFk?= =?utf-8?B?SE8rT0xXTW94RGdWVW8wLzJQb0thY3doRjc4OWxoS2ZxZjVMNE5INGhpemtl?= =?utf-8?B?M1A1N3hBMjk3VDdSRXN0Tm9UZDdtYjBORTFaMWozQ3hTL0tMeXBLa25KK1lz?= =?utf-8?B?dVo3bDNDSVdnNFR0b1hxRU1QWm1vN20ranJuOVdzb2t3TTJVcFVrcVh6RWlW?= =?utf-8?B?NS9qTzJUWVVaMnNSb0xiTTdRTnppYi9WazFqNnhBUms2dUpBTWtLNS8rWEFi?= =?utf-8?B?bHhZOHlhRW1EQWV1d1pDK2JsZm9NMHNOT2Q1Tjk3c0p1T0dRN0F1NXhNZzNa?= =?utf-8?B?UWNLZVZXMGY4UElpYnhadkxxdDFMK0g1cjl1NzRHMDBaWDBrNGtQWVh5L3dp?= =?utf-8?B?WkNXNy9GNFhGQWZhVXhzNFJham5XaXF5V1BkVnk0RjBWRDlvUy9wK2czVWVV?= =?utf-8?B?NExpTDNRc2tJWDlxOWtEM3kvKzh2SU9wbXF4Vkl2YW80M0JQNUVhVHRnNXVY?= =?utf-8?B?R1VITkVpY1piUzNTdXVPd2JBWmFxdE54QjBpYWk1WTNuRGhvM3c0RWlJRWR0?= =?utf-8?B?Wm1qbmdVRTA5UjljUW1WL00vSkdTZGhONXdUSi9Hcjh2TGs1eTY3K0FaUXBx?= =?utf-8?B?SG5TRURWYWVLL2c4bk9tcXhKc1hhRTdFYXZJNGsyamJqK0FkaEZURkVid0Jl?= =?utf-8?B?YTRvK1RDRFFtRXdNYzZDd1prdGswRUtaY0tnc2t1NnZLUlhWRlYwU0FhZXNq?= =?utf-8?B?SjMzeUo3VWZQWEhEd3Zqc0tka1JQcDBRa2tucytPckVkUGg0VXp0QVpiNmw4?= =?utf-8?B?OVlZWUpxWTlCZ0p3UXJUcVJHUkF4T2djRmUxdFEwSm83bjVYaUZPNmtFSTkx?= =?utf-8?B?dTR4S2Q2T09qUE5XRk1xblJWRGFVdnVqZHgySXFvVnpzMno1cDdZUzBEVVVS?= =?utf-8?B?YXIvSmN6OXplMzdPb3NqUlJTZGR2aTA3SkJNNE9xeXBnRWtCN1hYQ0tDWVhV?= =?utf-8?B?WXpBRE0wQ3lsQU5tR2FxMXBqN1FWTXFUWXJzTHBYbGhteU1uN00rU1hHU1hj?= =?utf-8?B?VzJoRHg3aCtRdnZQWDdRZlQyOHBpT3VCeXM4NzJRUng0STVjZlVyMkEwOVhO?= =?utf-8?B?cnpzbm1zSENlNUE5M1FKMUxoZ0JmYldraVk5amJrWGloSEdKM2hxSUNOd1FJ?= =?utf-8?B?R2xVQlN1UjFPbzlHc3lVOVR6UDZtNVFwNEkveW01NmNKY05uVVdVS2ZJVmFo?= =?utf-8?B?dE45ZDI2MU1UbUk2K0xYT0NsMGtvTzBtODlNbDNIWHl4TmJXYlJTTjV6TE83?= =?utf-8?B?L0I1cm16Z3lDakNwdUYvMWl1VkxGYnR4VUVSd0JwOWsxS2V1RGx4NXdhQ21s?= =?utf-8?B?ZmluT2sxdHQ4dWt5ZzBWcFpNa3RmQkxzdHhURTV2YkthUDBQV3RRM0g2MzR6?= =?utf-8?B?R2Q5L2FYc0MzSWt5YWc1SU9QazdnRlczb2IzWGNzdWNMM0Z5SitReDdjQ0lC?= =?utf-8?B?NUdvYVpiL0lFME9maGlkME51TmZ5cVlKUmltRGhDc3NZbFVCZ0d2WUJxdlhJ?= =?utf-8?B?ME8zdDl4QmtCTkZxVHNtWmZrWnRyVXpMVk11QzJBRGk4ZStHK2RnNE13dWF2?= =?utf-8?B?eXJmWjQwOVM0MHNxWGdZeC9rT1k2UWVsa1BjZ1hxbXhYbUNTTVNNQzcvVnFn?= =?utf-8?B?WXNNTzBqamRPN2NKbUVOVXlFYzRzME5SVUh1RnVDNTVLQ3lJWHdDSWJUS3NZ?= =?utf-8?B?allyY3JpRlQ3Z0tpd0lpZitXSU5TemUrQVFadGhXdmRwaG5hak1DMnBiZk5R?= =?utf-8?B?c0tHT21BR1JISklxRVpRd1RBZzhwV3NITGhNc0dLQ1lLem1ybWxvYXZDS0JV?= =?utf-8?B?OWVjL0Q5ZXhGQkVnN0R6cWlnOHpwZXc2Z3RqQXk1MEtPa1hncDQzbXhQZVJz?= =?utf-8?B?b1RZQURoT0w0ODFxVWdSelJSb0pjVUJkR1hibGFGQzdDZmFvVXR5UWlTSFhj?= =?utf-8?B?UW5FTkhVK0t3SjVodHhQM2laUE0wZ3QzU1RnZnFnaWFiWW1peVV5VjB0VDRp?= =?utf-8?B?Mm85aStEYThoTGNkSDMvNnMvckFRVjNYR2RlcnBsOGQ2SkdwYkh6VkVyaDVF?= =?utf-8?B?OTlQQWJEQUc0cjV2TUQ1SllTNmR3SFJ1Z3lzRWpaL3ZBVFdqd2VobFJyVldm?= =?utf-8?B?Y3c9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 0f0f8ee1-ffd2-4eac-de9c-08db3b83d7b1 X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB5089.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2023 18:29:25.0613 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: aL661ABSXoIZOCuTMboNe2K8vDMMo8TJv4D2XYE0JgIvCJBZI3trr6D1sYfhQM9exMVL5Vmi5TL4SpcvD1mbFvUS5MOl3rytRAhlbZ8NpZQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB6465 X-OriginatorOrg: intel.com List-Id: On 4/11/2023 5:06 PM, Eric Wong wrote: > Jacob Keller wrote: >> Hi, >> >> I'm wondering if there is a way to search a list by the entire thread? > > Not yet... > >> For example, I want to find all threads which have at least one message >> with dfn: and which have no messages containing the text >> "Reviewed-by". >> >> This would for example let me search an open source archive for threads >> (patch series for example) which have not received any reviewed-by reply. > > Yes, that's something I've wanted, too... > >> The current search function available through the HTML website doesn't >> seem to have a "by thread" function. I also haven't been able to find >> any option similar to this in the email client I typically use for >> interacting with the lists (Thunderbird). > > I think the reason it's rare in MUAs is that it's potentially > very expensive. But I think the `thread:{subquery}' feature > from notmuch I discussed with Konstantin the other week[1] can > do what you want it to do. > > Keep in mind, notmuch-search-terms(7) states: > > The performance of such queries can vary wildly. > > And that's for a private client tool for a single user. > > For a public-facing web UI, we'll need proper timeouts (likely > via RLIMIT_CPU + SIGXCPU) in an external process and a C++ build > against libxapian. AFAIK, custom query parsers aren't possible > in Xapian's high-level language bindings; fortunately I can > legally reuse GPL-3+ C++ code from notmuch \o/ > > The external process will probably be similar to > `git cat-file --batch-command' though it can use SOCK_SEQPACKET > for requests and pipes for large responses. > >> Perhaps this is something that I could implement locally from the clone >> of the archive, but I am not quite sure how to go about it.. It seems >> like something that should be reasonably straight forward given the way >> that public inbox already tracks threads. Any suggestions on how to get >> something like this would be appreciated. > > Are you able to confirm notmuch `thread:{subquery}' is what > you're after? Ah. I tried searching but didn't hit upon not much. To be honest, I bet just directly using notmuch and having it subscribe to the messages from the public inbox would be sufficient for my purposes :D I'll explore this and see, but it does sound like the thread:{subquery} is basically what I want. > > I plan on implementing it with proper timeouts for untrusted > clients within the next few weeks/months; assuming some other > stuff works out and I still have Internet + power. > > > [1] https://public-inbox.org/meta/20230328194549.M808175@dcvr/