Summary | Incomplete Thread View |
Queue | IMP |
Queue Version | 4.0.1 |
Type | Bug |
State | Resolved |
Priority | 1. Low |
Owners | slusarz (at) horde (dot) org |
Requester | kteam.eu (at) gmail (dot) com |
Created | 01/27/2005 (7462 days ago) |
Due | |
Updated | 02/16/2005 (7442 days ago) |
Assigned | 02/11/2005 (7447 days ago) |
Resolved | 02/16/2005 (7442 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
State ⇒ Resolved
screen - I thought this was something you were seeing on the mailbox
screen.
I've modified your patch to check for the "nullness" of the return
value, as well as fixing several other functions and the use of $key.
For now, I am not going to address your 3rd point since I have not yet
seen this behavior.
Sorry, I thought it was clear....you just have to send a mail from an
empty mailbox and reply a couple of times, so that you have a thread.
if you sort the mailbox by thread it seems good, but when you read a
message from the thread, if you click on "View Thread" it shows just
the message you were reading. After investigating a while I noticed
that _getKey sometimes returns key=0 for the first mail in thread. in
getThreadBase this test:
if ($key = $this->_getKey($index))
fails if $key is 0, so I modifyed it in
$key = $this->_getKey($index); + if (isset($key))
and set return value to null in _getKey when it fails.
I also changed $key++ to ++$key for the same reason, the while loop
breaks soon if $key is 0.
As far as regards the third point, I've run into a situation in which
a deleted message breaks the thread and it displays nothing, so
thought it was better to end the cycle and just skip the message.
Hope it's clearer now
K-team
State ⇒ Feedback
situation that leads to incomplete thread view (viewing/deleting a
thread item that is the first item in the mailbox, for example,
doesn't cause any error for me). There is no detailed description in
this bug report on how to reliably reproduce unwanted behavior.
value of getKey from false to null? That doesn't get you anywhere.
Second, why are you using ++$key instead of $key++? You are missing a
whole potential case by doing this. Third, if ($this->_thread[$key])
doesn't exist, you have a mailbox that is corrupt - that code should
never be reached or else there are issues elsewhere. So it makes a
whole bunch of sense to exit the loop rather than ignore the entry -
which may lead to some very weird output.
State ⇒ Assigned
New Attachment: Thread.patch
(you get a broken thread if the thread contains the first message of
the mailbox)
State ⇒ Feedback
Priority ⇒ 1. Low
Priority ⇒ 3. High
Type ⇒ Bug
Summary ⇒ Incomplete Thread View
Queue ⇒ IMP
State ⇒ Unconfirmed
structure is missing the matching index, and this is correct. but when
you try to get the thread list iterating $key it breaks and you get an
incomplete list. The right behaviour should be to continue with next step.