<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/115609/">https://git.reviewboard.kde.org/r/115609/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On February 10th, 2014, 6:19 a.m. UTC, <b>Alexandr Akulich</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">As I see, there is still same problem: you don't remove contacts that have being in cache when you read it, but known to be not existed any more once account become online.

Steps to reproduce:
1) Become online in KTp (to sync cache)
2) Become offline.
3) Delete contact in any other way (KTp on different PC or just another IM).
4) Start KPeople-powered application. Application have to load deleted contact from cache, because cache is not updated.
5) Become online.
Once you become online, you will receive signal like onAllKnownContactsChanged(KTp::contactManager()->allKnownContacts(), Tp::Contacts()). Note, that there is empty "contactsRemoved" list.
As result, you will have deleted contact listed in KPeople.</pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">You're absolutely right.

I'm not sure how much this is a real world problem as opposed to just a hypothetical one. The contact will always be marked as offline, in terms of KTp it won't make it through the filter model and onto the display. Next time you go offline->online again, it will be gone.

Given we are now over a month behind schedule, and I'm pretty sure the Nepomuk nonsense we are currently shipping will have the same issue, can I ship this and open a bug report to fix this later?

--

We also need to move some of this logic into GlobalContactManager - maybe just a few extra parameters on the signals will be enough. I do not want yet another set of contact roster code. </pre>
<br />










<p>- David</p>


<br />
<p>On February 9th, 2014, 9:33 p.m. UTC, David Edmundson wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Telepathy.</div>
<div>By David Edmundson.</div>


<p style="color: grey;"><i>Updated Feb. 9, 2014, 9:33 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
ktp-common-internals
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Load KTp Contacts from a cache

This is so we can display contacts with avatars in kpeople usages
even if we are offline.

This data is then updated with data directly from the connection manager
once it loads/exists.



Avoid crash if account does not exist


</pre>
  </td>
 </tr>
</table>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>KTp/CMakeLists.txt <span style="color: grey">(a3a0120)</span></li>

 <li>KTp/global-contact-manager.cpp <span style="color: grey">(eec0d4f)</span></li>

 <li>KTp/im-persons-data-source.cpp <span style="color: grey">(ee67e83)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/115609/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>