GNU bug report logs

#24066 icecat "mailto" handler does not work - and cannot be reconfigured by user

PackageSource(s)Maintainer(s)
guix PTS Buildd Popcon
Full log

Message #5 received at submit@debbugs.gnu.org (full text, mbox, reply):

Received: (at submit) by debbugs.gnu.org; 25 Jul 2016 07:35:07 +0000
From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 25 03:35:07 2016
Received: from localhost ([127.0.0.1]:36268 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
	id 1bRaPr-0005C9-BV
	for submit@debbugs.gnu.org; Mon, 25 Jul 2016 03:35:07 -0400
Received: from eggs.gnu.org ([208.118.235.92]:38237)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dannym@scratchpost.org>) id 1bRaPp-0005Bd-Fx
 for submit@debbugs.gnu.org; Mon, 25 Jul 2016 03:35:06 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <dannym@scratchpost.org>) id 1bRaPi-0001EI-ON
 for submit@debbugs.gnu.org; Mon, 25 Jul 2016 03:35:00 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:40551)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <dannym@scratchpost.org>) id 1bRaPi-0001E5-L3
 for submit@debbugs.gnu.org; Mon, 25 Jul 2016 03:34:58 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:57419)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <dannym@scratchpost.org>) id 1bRaPf-0007fZ-My
 for bug-guix@gnu.org; Mon, 25 Jul 2016 03:34:57 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <dannym@scratchpost.org>) id 1bRaPb-0001DE-EG
 for bug-guix@gnu.org; Mon, 25 Jul 2016 03:34:54 -0400
Received: from dd1012.kasserver.com ([85.13.128.8]:44877)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <dannym@scratchpost.org>)
 id 1bRaPb-0001Bs-4e; Mon, 25 Jul 2016 03:34:51 -0400
Received: from localhost (178.112.94.17.wireless.dyn.drei.com [178.112.94.17])
 by dd1012.kasserver.com (Postfix) with ESMTPSA id 305F11CA0C91;
 Mon, 25 Jul 2016 09:34:46 +0200 (CEST)
Date: Mon, 25 Jul 2016 09:34:40 +0200
From: Danny Milosavljevic <dannym@scratchpost.org>
To: <guix-devel@gnu.org>, bug-guix@gnu.org
Subject: icecat "mailto" handler does not work - and cannot be reconfigured
 by user
Message-ID: <20160725093440.5d4f9c6f@scratchpost.org>
In-Reply-To: <87oa5m6zv9.fsf@mdc-berlin.de>
References: <579027b7.VHXjhpPxQC3AAmeY%pjotr.public12@email>
 <8760rznoh1.fsf@gnu.org> <20160722004130.GA10340@thebird.nl>
 <874m7hk6dz.fsf_-_@gnu.org> <20160724033027.GA20236@thebird.nl>
 <20160724135828.GA6502@solar>
 <20160724152150.GA16481@novena-choice-citizen>
 <20160724191839.10d69bfe@scratchpost.org>
 <20160724192540.35ef4511@scratchpost.org>
 <87oa5m6zv9.fsf@mdc-berlin.de>
X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-unknown-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: submit
Cc: Jookia <166291@gmail.com>, Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request@debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit@debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request@debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request@debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)
> Unless I misunderstood what you mean: this already exists.  On the page
> you linked to above look for “reply via email to”.  It’s followed by a
> button.  When you click on it you get a “mailto”-Link.

Whoops. I should have read the page better.

However, clicking on that button in icecat does not send E-Mail for me. 

Monitoring the network interface I can see that it redirects to a mailto: URL. So that's nice.

Checking the application preferences of icecat, it only gives "always ask" (note: it doesn't ask) and not an application for "mailto". (in GuixSD)

Creating my own HTML page with a mailto link doesn't work either.

Therefore, I reported a bug to Guix too.

Bug report follows:

"mailto:" links don't work in icecat.

Checking the icecat source code, there are several ways to handle E-Mail. One of them is as "external helper app". One of those (not sure whether it's the correct one) uses gio's g_app_info_launch_default_for_uri in order to launch helper applications.

There is a test icecat-38.8.0/uriloader/exthandler/tests/unit/test_handlerService.js that does:

  let isLinux = ("@mozilla.org/gio-service;1" in Components.classes);
  if (isLinux) {
    // Check mailto handler from GIO
    // If there isn't one, then we have no mailto handler
    let gIOSvc = Cc["@mozilla.org/gio-service;1"].
                 createInstance(Ci.nsIGIOService);
    try {
      gIOSvc.getAppForURIScheme("mailto");
      noMailto = false;
    } catch (ex) {
      noMailto = true;
    }
  }

And this ./toolkit/system/gnome/nsGIOService.cpp uses g_app_info_launch_default_for_uri .

Therefore, I tried it out:

#include <glib.h>
#include <gio/gio.h>
#include <stdlib.h>

int main() {
        GError* error;
        g_app_info_launch_default_for_uri("mailto:foo@example.com", NULL, &error);
        // g_app_info_launch_default_for_uri("http://www.google.at/", NULL, &error);
        if (error) {
                g_warning("err %s", error->message);
                g_error_free(error);
                return 1;
        } else
                return 0;
}

I get:

** (process:12464): WARNING **: err Operation not supported

If I debug it some more I get:

$ strace -f ./g 2>&1 |grep open |grep -v ENOENT

open("/home/dannym/.local/share//mime/mime.cache", O_RDONLY) = 3
open("/home/dannym/.guix-profile/share/mime/mime.cache", O_RDONLY) = 3
open("/run/current-system/profile/share/mime/mime.cache", O_RDONLY) = 3
open("/home/dannym/.guix-profile/share/mime/mime.cache", O_RDONLY) = 3
open("/run/current-system/profile/share/mime/mime.cache", O_RDONLY) = 3
open("/home/dannym/.guix-profile/lib/gio/modules", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/home/dannym/.guix-profile/lib/gio/modules/giomodule.cache", O_RDONLY) = 4
open("/home/dannym/.guix-profile/lib/gio/modules/libdconfsettings.so", O_RDONLY|O_CLOEXEC) = 4
open("/run/current-system/profile/lib/gio/modules", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/run/current-system/profile/lib/gio/modules/giomodule.cache", O_RDONLY) = 4
open("/gnu/store/6qrijb6cfyvs8svacr0l9a75vcpypr5f-glib-2.48.0/lib/gio/modules", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/gnu/store/4lbgxvsk8xl75hlkjqgrqvmpq74app73-dconf-0.26.0/lib/gio/modules", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/gnu/store/4lbgxvsk8xl75hlkjqgrqvmpq74app73-dconf-0.26.0/lib/gio/modules/giomodule.cache", O_RDONLY) = 4
open("/home/dannym/.guix-profile/lib/gio/modules", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/home/dannym/.guix-profile/lib/gio/modules/giomodule.cache", O_RDONLY) = 4
open("/run/current-system/profile/lib/gio/modules", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/run/current-system/profile/lib/gio/modules/giomodule.cache", O_RDONLY) = 4
open("/gnu/store/m3py3rk71ihlfgvj2kss7054hwfqwkpq-glib-2.48.0/lib/gio/modules", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
[pid 12632] open("/usr/share/locale/locale.alias", O_RDONLY <unfinished ...>
[pid 12632] open("/home/dannym/.config/mimeapps.list", O_RDONLY) = 5
[pid 12632] open("/gnu/store/8m00x5x8ykmar27s9248cmhnkdb2n54a-glibc-2.22/lib/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = 5
[pid 12632] open("/home/dannym/.local/share/applications", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
[pid 12632] open("/home/dannym/.local/share/applications/mimeapps.list", O_RDONLY) = 5
[pid 12632] open("/home/dannym/.local/share/applications/mimeinfo.cache", O_RDONLY) = 5
[pid 12632] open("/home/dannym/.guix-profile/share/applications", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
[pid 12632] open("/run/current-system/profile/share/applications", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
[pid 12632] open("/run/current-system/profile/share/applications/mimeinfo.cache", O_RDONLY) = 5
[pid 12632] open("/home/dannym/.guix-profile/share/applications", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
[pid 12632] open("/run/current-system/profile/share/applications", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
[pid 12632] open("/run/current-system/profile/share/applications/mimeinfo.cache", O_RDONLY) = 5

There would be g_app_info_set_as_default_for_type () to set a new default application in nsGIOService - which is exposed and used by ./browser/components/shell/nsGNOMEShellService.cpp on setting icecat up as default browser (so not always).

I'm using Fluxbox.




Send a report that this bug log contains spam.


debbugs.gnu.org maintainers <help-debbugs@gnu.org>. Last modified: Tue Sep 9 08:32:55 2025; Machine Name: wallace-server

GNU bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.