Bug 287470 - [KDE 4.8 Beta 1] Can't open an email, indexed with Nepomuk, in KRunner.
Summary: [KDE 4.8 Beta 1] Can't open an email, indexed with Nepomuk, in KRunner.
Status: RESOLVED FIXED
Alias: None
Product: nepomuk
Classification: Miscellaneous
Component: queryservice (show other bugs)
Version: 4.8
Platform: Chakra Linux
: NOR normal
Target Milestone: ---
Assignee: Sebastian Trueg
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-24 15:51 UTC by Alejandro Nova
Modified: 2012-08-01 09:19 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.9.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alejandro Nova 2011-11-24 15:51:38 UTC
Version:           4.8 (using Devel) 
OS:                Linux

When I indexed mail in KDE 4.7, mail got properly identified as "Email", had a "mail" icon, and, when I clicked on it in KRunner, those Nepomuk entries opened KMail, with my requested mail.

When I try to do the same with KDE 4.8 Beta 1, mail gets identified as "Email", has a Nepomuk icon, and, when I click on it in KRunner, Dolphin opens.

This is a regression from KDE 4.7. May be linked to the lack of Nepomuk name resolution I observed in Dolphin 2.

Reproducible: Always

Steps to Reproduce:
1. Let KDE 4.8 Beta 1 index your mail, with an empty database.
2. Try to look for your mail.

Actual Results:  
You get a mail entry, with an "Email" description, and a Nepomuk icon. If you click on it, it will open Dolphin.

Expected Results:  
You get a mail entry, with an "Email" description, and a mail icon. If you click on it, it will open your selected mail in KMail.
Comment 1 Christophe Marin 2011-11-26 13:01:30 UTC
confirmed with master. No idea why
Comment 2 Alejandro Nova 2011-11-26 15:54:40 UTC
I'm widening this bug, since I found this problem with a file indexed with Nepomuk (since bug 287469 was fixed).

Please, check KRunner. I don't have enough powers to reassign this bug to KRunner,  but it now looks like a KRunner bug. Adding Sebastian Trueg to the list.
Comment 3 Christophe Marin 2011-11-27 19:12:33 UTC
from krunner (using Qt 4.8):

krunner(9808)/plasma Nepomuk::SearchRunner::match: Plasma::RunnerContext(0x86a498) "kio slave deref"
krunner(9808)/plasma Nepomuk::QueryClientWrapper::runQuery: KROP: query: "kio slave deref"
krunner(9808)/nepomuk (library) Nepomuk::Query::QueryParser::parse: matched literal at 0 "kio"
krunner(9808)/nepomuk (library) Nepomuk::Query::QueryParser::parse: Skipping space at 3
krunner(9808)/nepomuk (library) Nepomuk::Query::QueryParser::parse: matched literal at 4 "slave"
krunner(9808)/nepomuk (library) Nepomuk::Query::QueryParser::parse: Skipping space at 9
krunner(9808)/nepomuk (library) Nepomuk::Query::QueryParser::parse: matched literal at 10 "deref"
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808) ResultScene::setQueryMatches: creating all items took 2
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x8803c0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::protoQ: creating ProtoQueue instance for "file"
krunner(9808)/kio (Scheduler) KIO::ProtoQueue::ProtoQueue: m_maxConnectionsTotal: 5 m_maxConnectionsPerHost: 5
krunner(9808)/kio (Slave) KIO::Slave::createSlave: createSlave "file" for KUrl("file:///res/29e0c30f-3fd0-4555-ba68-215019998dcb")
krunner(9808)/kio (KIOConnection) KIO::ConnectionServer::listenForRemote: Listening on  "local:/tmp/ksocket-krop/krunneraq9808.slave-socket"
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/29e0c30f-3fd0-4555-ba68-215019998dcb"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x8803c0) KIO::Slave(0x872ad0)
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x865fc0)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/29e0c30f-3fd0-4555-ba68-215019998dcb"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x865fc0) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0xb14bc0)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/cc8b37b4-1000-4bf4-be0a-8e136eb8ffc6"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0xb14bc0) KIO::Slave(0x872ad0)
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x849390)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/49a030cb-d4bc-4e64-8c1b-f08df0d526ec"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x849390) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x7ade30)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/29e0c30f-3fd0-4555-ba68-215019998dcb"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x7ade30) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x772530)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/cc8b37b4-1000-4bf4-be0a-8e136eb8ffc6"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x772530) KIO::Slave(0x872ad0)
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x81b090)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/29e0c30f-3fd0-4555-ba68-215019998dcb"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x81b090) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x7c8660)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/49a030cb-d4bc-4e64-8c1b-f08df0d526ec"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x7c8660) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x857550)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/cc8b37b4-1000-4bf4-be0a-8e136eb8ffc6"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x857550) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x7d1950)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/d5030c26-561f-4962-ae51-dffd055b70f5"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x7d1950) KIO::Slave(0x872ad0)
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x7e21a0)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/29e0c30f-3fd0-4555-ba68-215019998dcb"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x7e21a0) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x817170)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/49a030cb-d4bc-4e64-8c1b-f08df0d526ec"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x817170) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x800650)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/4b735bfe-7c2d-4b45-8333-36c70c068b7b"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x800650) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x808e10)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/cc8b37b4-1000-4bf4-be0a-8e136eb8ffc6"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x808e10) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x86f4b0)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/d5030c26-561f-4962-ae51-dffd055b70f5"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x86f4b0) KIO::Slave(0x872ad0)
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/nepomuk (library) Nepomuk::Query::QueryServiceClient::close:
krunner(9808)/plasma Nepomuk::QueryClientWrapper::runQuery: "kio slave deref" done
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x866a20)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/29e0c30f-3fd0-4555-ba68-215019998dcb"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x866a20) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x857550)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/49a030cb-d4bc-4e64-8c1b-f08df0d526ec"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x857550) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x874bb0)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/4b735bfe-7c2d-4b45-8333-36c70c068b7b"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x874bb0) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x84ef30)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/cc8b37b4-1000-4bf4-be0a-8e136eb8ffc6"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x84ef30) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x81e650)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/7339c2b7-c2ab-4349-83bc-1304f305532a"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x81e650) KIO::Slave(0x872ad0)
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x74fb70)
krunner(9808)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111   "/res/d5030c26-561f-4962-ae51-dffd055b70f5"
krunner(9808)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::StatJob(0x74fb70) KIO::Slave(0x872ad0)
krunner(9808)/plasma Nepomuk::QueryClientWrapper::slotNewEntries: KROP: type.isEmpty
krunner(9808)/nepomuk (library) Nepomuk::Query::QueryServiceClient::close:
krunner(9808)/plasma Nepomuk::QueryClientWrapper::runQuery: "kio slave" done
krunner(9808)/kio (Slave) KIO::Slave::kill: killing slave pid 9829 ( "file://" )
Comment 4 Sebastian Trueg 2011-11-30 12:52:13 UTC
This is related to the changed email feeder in Akonadi which does not create akonadi:?item=xyz URIs anymore but uses nepomuk:/res/xyz URIs now as everything else does. However, normally the feeder should also provide a nie:url with the akonadi: URL as endpoint which should then be used by the runner to redirect to KMail.
Comment 5 Christophe Marin 2011-12-01 13:13:08 UTC
(In reply to comment #4)
> This is related to the changed email feeder in Akonadi which does not create
> akonadi:?item=xyz URIs anymore but uses nepomuk:/res/xyz URIs now as everything
> else does. However, normally the feeder should also provide a nie:url with the
> akonadi: URL as endpoint which should then be used by the runner to redirect to
> KMail.

Adding Christian
Comment 6 Christian Mollekopf 2011-12-01 13:21:16 UTC
(In reply to comment #4)
> This is related to the changed email feeder in Akonadi which does not create
> akonadi:?item=xyz URIs anymore but uses nepomuk:/res/xyz URIs now as everything
> else does. However, normally the feeder should also provide a nie:url with the
> akonadi: URL as endpoint which should then be used by the runner to redirect to
> KMail.

All items get a nie:url in the style of "akonadi:?item=12312", so I suppose the bug is in the runner.
Comment 7 Alejandro Nova 2012-01-03 04:05:53 UTC
Where are the runners? I'm still getting this in KDE 4.8 Rc1 and I don't know enev where to look for. Also, can someone with rights modify this bug so it says that the buggy component is the relevant runner?
Comment 8 Christophe Marin 2012-01-04 13:07:05 UTC
in kde-workspace/plasma/generic/runners/nepomuksearch
Comment 9 Vishesh Handa 2012-08-01 09:19:44 UTC
Git commit edd4ee05f50eb84d6ed3eb87696fb9350d2b6b37 by Vishesh Handa.
Committed on 26/07/2012 at 19:18.
Pushed by vhanda into branch 'KDE/4.9'.

Make the Nepomuk runner forward all the nie:urls

Not just the ones that are local files. This fixes opening of emails,
and other akonadi resources directly from the runner.

REVIEW: 105738
FIXED-IN: 4.9.1

M  +5    -3    plasma/generic/runners/nepomuksearch/nepomuksearchrunner.cpp

http://commits.kde.org/kde-workspace/edd4ee05f50eb84d6ed3eb87696fb9350d2b6b37
Comment 10 Vishesh Handa 2012-08-01 09:19:50 UTC
Git commit 377db51e4ccf74dd0055f40bbb055f31ec49916e by Vishesh Handa.
Committed on 26/07/2012 at 19:18.
Pushed by vhanda into branch 'master'.

Make the Nepomuk runner forward all the nie:urls

Not just the ones that are local files. This fixes opening of emails,
and other akonadi resources directly from the runner.

REVIEW: 105738
FIXED-IN: 4.9.1

Cherry-picked from edd4ee05f50eb84d6ed3eb87696fb9350d2b6b37

M  +5    -3    plasma/generic/runners/nepomuksearch/nepomuksearchrunner.cpp

http://commits.kde.org/kde-workspace/377db51e4ccf74dd0055f40bbb055f31ec49916e