akregator: Left/Right arrows fail to navigate articles

Bug #137409 reported by xhantt
14
Affects Status Importance Assigned to Milestone
KDE PIM
Invalid
High
kdepim (Ubuntu)
Invalid
Low
Rich Johnson

Bug Description

Binary package hint: akregator

Short description: Left/Right arrows fail to navigate articles.

Description: In on folder I've the feeds from KDE Planet, Ubuntu Planet, Debian planet (and some developers appear in both).
When I read messages from the folder, which display messages from all de above feed, I've them sorted by date, if the same article appear in two planet and this article are one next to the other, then left/right arrows fails to navigate to the previous/next article.

Example: If I've four articles
1) article a / planet ubuntu
2) article b / planet ubuntu
3) article b / planet kde
4) article c / planet debian

[article b is by the same person ie jridell]

case i: If I've selected 1) right arrow moves to the next article 2) right arrow again doesn't advance and keep stuck in article 2).

case ii: If I've selected 4) left arrow should move to the previous article 3), but incorrectly moves to the article 2).

dpkg -l | grep akregator says version 3.5.6-0ubuntu6.

This bug is more a wish, than a bug.

Revision history for this message
In , Fpylin (fpylin) wrote :

Version: (using KDE KDE 3.4.92)
Installed from: Slackware Packages
OS: Linux

Ok ... this bug did *not* exist in KDE 3.4.3 ... someone must have broken something in the new 1.2 ;)

What happened:
1. Switch to normal view and choose any feed, preferably a feed with a long list.

2. Try to scroll through the articles with left/right keys and occassionally:
 a) the left/right key will get stuck/not jump to the next/prev article
 b) it jumps to a random article (i.e. not in order shown in the list)

3. Duplicated articles are shown twice at least

4. If you click on an unread title, another title in the list (unrelated) will change its name to the article you just clicked. The article that has its name changed is lost afterwards.

I do not have full source in hand, but I suspect some of the ?new duplication detection mechanism was not working the way it should be.

Cheers,

Frank

Revision history for this message
In , Fpylin (fpylin) wrote :

Created attachment 13924
Example of the bug (screenshot series in .tar.gz format)

A picture is better than 1000+ words. Here I post a series of screenshots
describing this bug.

Revision history for this message
In , Osterfeld (osterfeld) wrote :

I confirm 2a). Sometimes, the prev/next actions get stuck.
I've seen 3 and 4, too. But this is only "visual", i.e. if you switch to another feed and back, all should be fine again, right?
It's not about dupe detection, it has to do with the list items (which are created per article). Thus, when switching to another feed and back, the items are cleared and recreated properly.

Revision history for this message
In , Fpylin (fpylin) wrote :

> I've seen 3 and 4, too. But this is only "visual", i.e. if you switch to another feed and back, all should be fine again, right?
That is correct.

> It's not about dupe detection, it has to do with the list items (which are created per article).
Thanks -- sounds very logical. The reason I suspected "dupe detection" originally was that it only happens with new (red) and unread (blue) items. The read items (black) items does not seem to be affected.

> Thus, when switching to another feed and back, the items are cleared and recreated properly.
Yes. That is also correct.

Revision history for this message
In , Osterfeld (osterfeld) wrote :

*** Bug 119669 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Osterfeld (osterfeld) wrote :

SVN commit 495480 by osterfeld:

Fix comparison operators of Article, such as < and <=.
This fixes problems with QMap and articles having identical pubdate (operator< just compared pubdates, and QMap consideres
articles as equal when items are not comparable).
Fixes 114997 navigation problems and prevents creation of a new item when selecting an unread dupe article. (a new item was
created as map lookup failed).

BUG: 114997

 M +6 -4 article.cpp

--- branches/KDE/3.5/kdepim/akregator/src/article.cpp #495479:495480
@@ -241,22 +241,24 @@

 bool Article::operator<(const Article &other) const
 {
- return pubDate() > other.pubDate();
+ return pubDate() > other.pubDate() ||
+ (pubDate() == other.pubDate() && guid() < other.guid() );
 }

 bool Article::operator<=(const Article &other) const
 {
- return pubDate() >= other.pubDate();
+ return (pubDate() > other.pubDate() || *this == other);
 }

 bool Article::operator>(const Article &other) const
 {
- return pubDate() < other.pubDate();
+ return pubDate() < other.pubDate() ||
+ (pubDate() == other.pubDate() && guid() > other.guid() );
 }

 bool Article::operator>=(const Article &other) const
 {
- return pubDate() <= other.pubDate();
+ return (pubDate() > other.pubDate() || *this == other);
 }

 bool Article::operator==(const Article &other) const

Revision history for this message
In , Osterfeld (osterfeld) wrote :

SVN commit 495485 by osterfeld:

forward port: fix semantics of comparison operators <, <=, >, >=. Bug 114997 as seen in 3.5 should be fixed in trunk anyway,
as we use QHash there (using operator==) instead of QMap (using operator<), however, the operators should work correctly
nevertheless.
CCBUG: 114997

 M +6 -4 article.cpp

--- trunk/KDE/kdepim/akregator/src/article.cpp #495484:495485
@@ -241,22 +241,24 @@

 bool Article::operator<(const Article &other) const
 {
- return pubDate() > other.pubDate();
+ return pubDate() > other.pubDate() ||
+ (pubDate() == other.pubDate() && guid() < other.guid() );
 }

 bool Article::operator<=(const Article &other) const
 {
- return pubDate() >= other.pubDate();
+ return (pubDate() > other.pubDate() || *this == other);
 }

 bool Article::operator>(const Article &other) const
 {
- return pubDate() < other.pubDate();
+ return pubDate() < other.pubDate() ||
+ (pubDate() == other.pubDate() && guid() > other.guid() );
 }

 bool Article::operator>=(const Article &other) const
 {
- return pubDate() <= other.pubDate();
+ return (pubDate() > other.pubDate() || *this == other);
 }

 bool Article::operator==(const Article &other) const

Revision history for this message
In , Marcin Trybus (mtrybus-x) wrote :

Excuse, but when exactly has this bug been resolved? If it's fixed for more that 2 years now, then why in my latest akregator 1.2.8 (KDE 3.5.8, Debian testing), the bug is still there?

Try subscribing a feed from Slashdot and e.g. Slashdot Linux. Whenever they double (which happens more often than not), the problem occurs.

Same with my brother's akregator (same version, under Kubuntu 7.10).

Revision history for this message
Rich Johnson (nixternal) wrote :

I can confirm this bug because I experience it as well. I am searching for an upstream bug report, which I know there used to be one, and I swore there was already a report of this in Launchpad, but I can't find either of them right now. Thanks!

Changed in kdepim:
assignee: nobody → nixternal
importance: Undecided → Low
status: New → Confirmed
Revision history for this message
Rich Johnson (nixternal) wrote :

Found the upstream report, however it is marked as Fixed Released, which is far from true unfortunately.

Revision history for this message
In , Rjohnson-m (rjohnson-m) wrote :

I have to second Marcin on this, this has not been fixed and is actually known about on IRC in #kontact.

This issue happens to me on:

3x Kubuntu Hardy boxes (2 just fresh install today)
1x Debian Experimental
1x OpenSUSE
1x Fedora 8 & 9
1x Slackware

I haven't tested my KDE SVN checkout yet because I can't get kdepim to build correctly on my amd64 box right now.

Changed in kdepim:
status: Unknown → Fix Released
Revision history for this message
In , Harald Sitter (apachelogger) wrote :

Reopen as per comment #8

Is this issue still valid for KDE 4.1?

Changed in kdepim:
status: Fix Released → Confirmed
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Is this still an issue in KDE 4.1.1 or Intrepid?

Changed in kdepim:
status: Confirmed → Incomplete
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

We are closing this bug report because it lacks the information we need to investigate the problem, as described in the previous comments. Please reopen it if you can give us the missing information, and don't hesitate to submit bug reports in the future. To reopen the bug report you can click on the current status, under the Status column, and change the Status back to "New". Thanks again!

Changed in kdepim:
status: Incomplete → Invalid
Revision history for this message
In , Dominik-tritscher-l (dominik-tritscher-l) wrote :

I just checked with Akregator 1.3.3 (KDE 4.1.3) and couldn't reproduce the described behaviour.

Revision history for this message
In , 3-christophe (3-christophe) wrote :

Due to lack of feedback, we will now change this bug status.

Changed in kdepim:
status: Confirmed → Unknown
Changed in kdepim:
importance: Unknown → High
Changed in kdepim:
status: Unknown → Incomplete
Revision history for this message
In , Andrew-crouthamel (andrew-crouthamel) wrote :

Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!

Revision history for this message
In , Andrew-crouthamel (andrew-crouthamel) wrote :

This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!

Changed in kdepim:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.