From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id wGMnI948Y1+1eQAA0tVLHw (envelope-from ) for ; Thu, 17 Sep 2020 10:39:26 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id qC4KH948Y1/SZgAAbx9fmQ (envelope-from ) for ; Thu, 17 Sep 2020 10:39:26 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 4DBD59400D3 for ; Thu, 17 Sep 2020 10:39:26 +0000 (UTC) Received: from localhost ([::1]:60120 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIrK1-00044s-8a for larch@yhetil.org; Thu, 17 Sep 2020 06:39:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38658) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIrJo-00043n-63 for guix-devel@gnu.org; Thu, 17 Sep 2020 06:39:12 -0400 Received: from mail-qt1-x82a.google.com ([2607:f8b0:4864:20::82a]:40988) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIrJl-0006vk-Tn for guix-devel@gnu.org; Thu, 17 Sep 2020 06:39:11 -0400 Received: by mail-qt1-x82a.google.com with SMTP id b2so1417586qtp.8 for ; Thu, 17 Sep 2020 03:39:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=iiVuJG/aXAOUOZ2shvS/0xLWLrQFtifmSFPKUEWB7X4=; b=ks5q4T1IImuT/pF49yJlMhXMKxcdoPoOSkHQ8P90axuJALM1ogltPoJ8q9c0r7vWpK LSaCEns29PsSdDOxAq7FUloJf7692WMb7Nv5/OoxCtF6nsEFxkEppYEcRWH6QE3IJ/pk Uw/LV9Wt3UIUd+t2jp/+Co/EoXfRu6jt8X+Jw4UIiredNd5/v8xrof16htGaLqOQWj/A DNcnjyPyjXpTaE1bmkP8AMYl/To65WOgmxmTjcoGoDF2tf+oLrUeYoo6oDQp9EpgTf/8 fHxt2tKtmzadv1SOQXZALPdthFsxcGQBMyBkvkEv5lHfo56iCBg8awN2XHwepr97NlSG jnlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=iiVuJG/aXAOUOZ2shvS/0xLWLrQFtifmSFPKUEWB7X4=; b=du4iFivB8Nw0A1lW5A346yLKfC6+kMh/LiJv8W5L2cHdPQAffCQvDsVpfKsAG7mZlK EnIcCrsiZI4MOu+I039/WDnCtmXxqb19obVprZ+96wZmmIC0qtPW9bYQ3+eCdap+skvw hZFv1/GWYcCk0E70O2fD62/svD3lhutkHmgpNsuzsWAi9ZhdNjU0YRefeVuDtzRLBpRE fvVHTRNhOOp6oXKnPM2oz4q//e/pxYmU3ZLnrlf4YMvx4GqbllfLtVjb3LD4b//UypvD l80rpOZhHqCeS1heDoAKBh3zp89/TRnSWMIBCpldGi+JcNmyv6xm426PwbUOXbtVLEQs hxqQ== X-Gm-Message-State: AOAM531ShU66KCwvjT0p+sfqEoT8v7+7Cd2vIopaGz0NLb0UW54uRJjh Ymq4S3GbYbDrieY5upDx/9+RGQGRSOvvvYoFwmPJMN8tBRc= X-Google-Smtp-Source: ABdhPJy+7L8VY2B4Y+ZNpvXMJOkvyBB+7Qo7roeNbFfLdOiGOYAj/iJOaVgWpJ6ybEdt9LtJ2NwKV1Q/svwgDIwjFcw= X-Received: by 2002:aed:2fc5:: with SMTP id m63mr14348541qtd.313.1600339147806; Thu, 17 Sep 2020 03:39:07 -0700 (PDT) MIME-Version: 1.0 References: <86sgbhz3fe.fsf@gmail.com> <87ft7gvi1h.fsf@elephly.net> In-Reply-To: <87ft7gvi1h.fsf@elephly.net> From: zimoun Date: Thu, 17 Sep 2020 12:38:56 +0200 Message-ID: Subject: Re: Mummi wishlist: API using Message-ID To: Ricardo Wurmus Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::82a; envelope-from=zimon.toutoune@gmail.com; helo=mail-qt1-x82a.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Guix Devel Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=gmail.com header.s=20161025 header.b=ks5q4T1I; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: 0.09 X-TUID: 1Hoa3YzjxXYO (Sorry for the misspelling of Mumi in the Subject thread.) (For the record, reading [1], I discovered [2,3] with similar goals than Mumi and that the Org-mode community uses public-inbox [4].) [1] https://bzg.fr/en/org-mode-9.4-is-out-can-you-help.html/ [2] https://updates.orgmode.org/ [3] https://github.com/bzg/woof [4] https://orgmode.org/list/87r1vd92eg.fsf@bzg.fr/ On Thu, 17 Sep 2020 at 12:00, Ricardo Wurmus wrote: > zimoun writes: > > Instead, it is easy to get the Message-ID. (Using emacs-notmuch, only > > hit the key =E2=80=99ci=E2=80=99) Therefore, it could be nice to be abl= e to provide > > e.g., the URL: > > > > > > > > redirecting to . > > This is an interesting idea! I don=E2=80=99t know if it=E2=80=99ll work = as a plain URL, > because not all characters of a message id might be usable in a URL (you > may need to URL-encode it and can=E2=80=99t just paste it in the URL bar = of your > browser), but it would certainly work as a search query. The only > problem is that we=E2=80=99re not currently indexing the message ids. I do not know but public-inbox is doing such thing, isn't it? I mean, the example with emacs-debbugs, my "custom" function and the service : > > Another (Emacs related) example is emacs-debbugs. > > C-u M-x debbugs-gnu RET guix RET n y > > M-x debbugs-gnu-bugs RET 33899 RET RET > > Read messages > > > > Well, in the relevant message, I run =E2=80=9CM-x debbugs->url=E2=80=9D= and get the > > ready-to-be-pasted URL: > > > > > > > > with the naive Emacs function: > > > > --8<---------------cut here---------------start------------->8--- > > (defun debbugs->url () > > (interactive) > > (let ((url "https://yhetil.org/guix-bugs/") > > mid) > > (with-current-buffer gnus-article-buffer > > (gnus-summary-toggle-header 1) > > (setq mid (message-fetch-field "Message-ID")) > > (gnus-summary-toggle-header -1)) > > (while (string-match "[<>]" mid) > > (setq mid (replace-match "" t t mid))) > > (kill-new (concat url mid)) > > (message mid))) > > --8<---------------cut here---------------end--------------->8--- Is it not enough? The URL, is it not always ready-to-be-pasted? The link contains '@' but it works (on my webbrowser at least :-)). > Per bug we index the bug id, the submitter, the authors, the subject(s), > the owner, the severity, the tags, the status, the file name of the > original Debbugs =E2=80=9C.log=E2=80=9D file (I forgot why!), and all the= message > bodies. All of these map to the very same =E2=80=9Cdocument=E2=80=9D (in= Xapian > parlance), which is a particular =E2=80=9Cissue=E2=80=9D. Thank you for explaining. > I think we could also index the message id (and expose it to the > search), map that to the =E2=80=9Cissue=E2=80=9D, and then find the corre= sponding anchor > in the HTML later. We wouldn=E2=80=99t be able to *directly* map the mes= sage id > to the actual message in the thread, because the search does not operate > on the concept of messages but only whole bug discussions. But I think > this would get us very close to what you propose. Yes. If the Message-ID is also indexed, the map is almost there. > > And maybe the > > current webpage could provide the Message-ID, easy to copy and then > > paste in my email reader. > > It=E2=80=99s already there but hidden! Every message is rendered in a > div.message. Inside of that is div.card > div.card-header > div.details > (hidden) > div.message-id. > > With custom CSS you could unhide div.details, and with a custom JS you > could grab the contents of div.message-id on the click of a button. > Most browsers make it a little hard to augment the CSS and/or JS of a > served page, but with a little hacking I=E2=80=99m sure you can extract w= hat you > want. Okish... CSS/JS is not really my cup of tea. I will try to rehash your words when giving a look at Mumi source. > > Last and off-topic to the Subject :-), the tool =E2=80=99public-inbox= =E2=80=99 exposes > > such API and then it seems easier to refer to relevant message than > > going by hand on e.g. > > to find it. > > I don=E2=80=99t quite understand how this differs from this: > > https://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=3D%3C86sgbhz3fe.fs= f%40gmail.com%3E&submit=3DSearch%21&idxname=3Dguix-devel Because I did not know. :-) All the best, simon