Bug 423845 - IM log viewer Contacts and history empty
Summary: IM log viewer Contacts and history empty
Status: RESOLVED FIXED
Alias: None
Product: kpeople
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Telepathy Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-07-03 16:50 UTC by Dimitar Petrovski
Modified: 2020-07-07 00:21 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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