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





<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for Kubuntu and Muon Package Management Suite.</div>
<div>By Harald Sitter.</div>


<p style="color: grey;"><i>Updated Jan. 8, 2015, 1:36 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
muon
</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">For as of right now unknown reasons looking for providers
plasmoids.knsrc and getting opendesktop.org and then asking it for valid
categories can return no category match for plasmoids.
Which in turn makes us query for content pertaining to an invalid category.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">What happens is that Provider::searchContents will come back with content
matching every category of that provider (and every name), so we are
looking at thousands of entries in 100-entry batches to receive which is
neither fast nor efficient nor anything really.
To safe guard against this sort of misbehavior explicitly remove all
?possible-category? entries that have not been matched up to a valid
Attica::Category and return if there are none to search for.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Random background:
m_categories keys get filled based on configuration values for possible
resources, only in categoriesLoaded those entries are then matched up with
actual categories the provider knows about. If one of the expected keys
does not exist on the Provider we have a dangling entry in the Map ala
<"Kitten", Category()>. There is no point in hurling those at Attica
regardless of the cause that ultimately causes the present category
problems. This is worsened by the fact that muon-updater needs to wait
for all resources to fetching=false before it can display anything which
means that having KSNBackend stuck in fetching on account of getting
all the data a provider has on everything will block the entire upgrade
and either making it appear as though muon is broken or there are no
updates.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">without patch: muon-updater never shows anything (as long as opendesktop is resolved as provider, which actually doesn't happen all that often for some reason Oo)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">patch & make & make install & muon-updater => everything awesome again</p></pre>
  </td>
 </tr>
</table>


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

 <li>libmuon/backends/KNSBackend/KNSBackend.cpp <span style="color: grey">(edc4f0ac6d2060930ab00c698a60cff74ad64107)</span></li>

</ul>

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






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




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