Bug 423845

Summary: IM log viewer Contacts and history empty
Product: [Frameworks and Libraries] kpeople Reporter: Dimitar Petrovski <dimeptr>
Component: generalAssignee: Telepathy Bugs <kde-telepathy-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: aleixpol
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Dimitar Petrovski 2020-07-03 16:50:32 UTC
SUMMARY
The contact list and history is empty in my setup

STEPS TO REPRODUCE
Just start the application

OBSERVED RESULT
empty boxes

EXPECTED RESULT


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.19.2
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 5.71
Qt Version: 5.15

ADDITIONAL INFORMATION
When starting from terminal I have the following:

kf5.kxmlgui: KXMLGUI file found at deprecated location ("/usr/share/ktp-log-viewer/log-viewer.rc") -- please use ${KXMLGUI_INSTALL_DIR} to install this file instead.
Shortcut for action  "jump-prev-conversation" "&Previous Conversation" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
Shortcut for action  "jump-next-conversation" "&Next Conversation" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
ktp-models: Built with kpeople support, using kpeople model
tp-qt 0.9.8 WARN: Error parsing config file for connection manager "haze" - introspecting 
tp-qt 0.9.8 WARN: Error parsing config file for connection manager "haze" - introspecting 
ktp-logger: loaded factory : TpLoggerPluginFactory(0x559187fff520)
ktp-logger: loaded logger plugin :  TpLoggerPlugin(0x559187fff9c0)
Created Utils instance
ktp-logviewer: Skipping initial Kopete logs import, already done.
account= true
objectPath= "/org/freedesktop/Telepathy/Account/gabble/jabber/ktp_2djabber_2dim_14"
account= 0x55918804e160
account= true
objectPath= "/org/freedesktop/Telepathy/Account/gabble/jabber/google_2dim_8"
account= 0x55918804e2f0
account= true
objectPath= "/org/freedesktop/Telepathy/Account/haze/skypeweb/ktp_2dhaze_2dskypeweb_2dim_16"
account= 0x55918804e480
account= true
objectPath= "/org/freedesktop/Telepathy/Account/salut/local_xmpp/account1"
account= 0x55918804e610
ktp-logger: Plugin TpLoggerPlugin(0x559187fff9c0) returned 5 entities
ktp-logger: Plugin TpLoggerPlugin(0x559187fff9c0) returned 0 entities
ktp-logger: Plugin TpLoggerPlugin(0x559187fff9c0) returned 16 entities
ktp-logger: Plugin TpLoggerPlugin(0x559187fff9c0) returned 1 entities
Comment 1 Dimitar Petrovski 2020-07-06 16:34:47 UTC
The actual problem comes from KPeopleVCard plugin which does not emit the initialFetchComplete signal. The plugin is added as a dependency for KDE Connect on Arch, so with KDE Connect installed the ktp-log-viewer is empty.

the following patch fixes the problem:
diff --git a/src/kpeoplevcard.cpp b/src/kpeoplevcard.cpp
index bfaf71e..20531f6 100644
--- a/src/kpeoplevcard.cpp
+++ b/src/kpeoplevcard.cpp
@@ -153,6 +153,8 @@ KPeopleVCard::KPeopleVCard()
 
     processDirectory(QFileInfo(*vcardsLocation));
 
+    emitInitialFetchComplete(true);
+
     connect(m_fs, &KDirWatch::dirty, this, [this](const QString& path) {
         const QFileInfo fi(path);
         if (fi.isFile())

I will try to make a fork and commit the patch.

It is my opinion that some timeout mechanism should be added in KPeople so that the other plugins still get displayed even if one plugin fails.
Comment 2 Bug Janitor Service 2020-07-06 16:43:04 UTC
A possibly relevant merge request was started @ https://invent.kde.org/pim/kpeoplevcard/-/merge_requests/1
Comment 3 Dimitar Petrovski 2020-07-07 00:21:27 UTC
Git commit 778d03445f41c536f2ca9116ee6acb5f4f01b868 by Dimitar Petrovski.
Committed on 06/07/2020 at 16:36.
Pushed by apol into branch 'master'.

Emit the Initial Fetch Complete signal
The plugin does not emit the initialFetchComplete signal which seems
needed by AllContactsMonitor and PersonsModel does not get initialized
since it waitd for the signal from all plugins

M  +2    -0    src/kpeoplevcard.cpp

https://invent.kde.org/pim/kpeoplevcard/commit/778d03445f41c536f2ca9116ee6acb5f4f01b868