6.0.0-beta1
7/3/25

[#1257] Incomplete Thread View
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

History
02/16/2005 07:56:00 AM Michael Slusarz Comment #8 Reply to this comment
The fix has been applied to HEAD and Horde 3.0.4, BTW.
02/16/2005 07:55:24 AM Michael Slusarz Comment #7
State ⇒ Resolved
Reply to this comment
OK - I wasn't understanding that you were seeing this on the thread 
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.
02/16/2005 07:50:08 AM Michael Slusarz Comment #6 Reply to this comment
Response from K-team:

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
02/11/2005 03:54:06 AM Michael Slusarz Comment #5
State ⇒ Feedback
Reply to this comment
Also wanted to mention that I have not been able to reproduce a 
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.
02/11/2005 03:52:08 AM Michael Slusarz Comment #4 Reply to this comment
This patch makes no sense.  First, why are you changing the return 
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.
02/10/2005 11:26:04 AM Jan Schneider Assigned to Michael Slusarz
State ⇒ Assigned
 
02/10/2005 11:07:48 AM kteam (dot) eu (at) gmail (dot) com Comment #3
New Attachment: Thread.patch Download
Reply to this comment
ok, this is the patch for this problem that fixes also another issue, 
(you get a broken thread if the thread contains the first message of 
the mailbox)
01/27/2005 03:15:40 PM Chuck Hagenbuch Comment #2
State ⇒ Feedback
Priority ⇒ 1. Low
Reply to this comment
Please attach the patch you mentioned to this ticket.
01/27/2005 07:59:04 AM kteam (dot) eu (at) gmail (dot) com Comment #1
Priority ⇒ 3. High
Type ⇒ Bug
Summary ⇒ Incomplete Thread View
Queue ⇒ IMP
State ⇒ Unconfirmed
Reply to this comment
When you delete a message the resulting array containing thread

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.

Saved Queries