Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#1486701 closed Bugs (worksforme)

The threaded view doesn't is not get bold on unread messages

Reported by: mrfrank Owned by:
Priority: 5 Milestone: 0.4-stable
Component: User Interface Version: 0.4-beta
Severity: normal Keywords:
Cc:

Description

Hi folks,

if there are some read and some unread messages in a threaded view, the collapsed messages will be displayed with the read state of the Message in the highest level(the first message).

Let me give you an example:
Somebody wrote me, I 've createed a reply and the other one replyed too.
The gui displays the collapesd mails always as "read" because i read the first email. This is not very well because i don't recognize new mails easyly.

Attachments (2)

thread-flags-ticket-1486701 (12.2 KB) - added by kaz 3 years ago.
patch
thread-flags-ticket-1486701.2 (10.5 KB) - added by kaz 3 years ago.
Patch against 0.4 release.

Download all attachments as: .zip

Change History (14)

comment:1 Changed 3 years ago by alec

  • Component changed from Addressbook to User Interface
  • Milestone changed from later to 0.4-stable

Works for me, but maybe I don't understand. Add some screenshots, describe your environment/browser.

comment:2 Changed 3 years ago by alec

  • Resolution set to worksforme
  • Status changed from new to closed

If thread is collapsed, the root message's subject is underlined. Works for me.

comment:3 Changed 3 years ago by kaz

  • Resolution worksforme deleted
  • Status changed from closed to reopened

The UI is confusing because it introduces a different, inconsistent convention for indicating the unread status. I didn't notice this underline at all.

Moreover, the collapsed thread view still shows the properties of the root message in the conventional way.

Also, there is no thread-level indication for there being flagged messages in the thread. (And no, please don't jump the gun make the text italic to show this, LOL!)

There is too much overloading going on here. The collapsed thread should be regarded as a thread object, and show properties about the thread rather than those of the root message. A design which seems decent would be this:

  • if the thread contains unread messages, show the subject in bold, and also turn on the blue star icon.
  • if the thread contains flagged messages, show the subject in red, and also turn on the yellow star icon.

Basically, all of the visual indicators can simply be a boolean "OR" over the thread.

comment:4 Changed 3 years ago by alec

  • Resolution set to worksforme
  • Status changed from reopened to closed

This is your opinion, our (and Thunderbird's developers) is different. You need to leave with this ;)

comment:5 Changed 3 years ago by kaz

Thunderbird is a pile of crap I don't use.

Thanks for the CSS tip! Looking into the source, I can see how the mail states are incorporated into the document structure, and then visualized with CSS.

So the bolding behavior is achieved trivially:

--- roundcube.orig/skins/default/mail.css 2010-08-10 09:58:22.000000000 -0700
+++ roundcube/skins/default/mail.css 2010-08-10 10:00:29.000000000 -0700
@@ -816,7 +816,8 @@

/* thread parent message with unread children */
#messagelist tbody tr.unroot td.subject a
{

  • text-decoration: underline;

+ font-weight: bold;
+ background-color: #FFFFFF;

}

#messagelist tr td.size

This is a good start; but I will refine the patch to get the nice icon behavior also.

comment:6 Changed 3 years ago by kaz

Uh, it turns out there is already support in the skins for having an icon on the thread parent for denoting that it has unread children. It is the "unreadChildrenIcon", which is left undefined in the default/templates/mail.html. The code already handles this!

So now I have the text bolding, as well as the unread icon behavior. I'm hacking on the flag icon behavior.

comment:7 Changed 3 years ago by kaz

My above CSS patch is idiotic; take out the background-color: #FFFFFF;. That only screws up the text when the list row is selected (and thus has a red background with white text).

All you want is:

/* thread parent message with unread children */
#messagelist tbody tr.unroot td.subject a
{

font-weight: bold;

}

Changed 3 years ago by kaz

patch

comment:8 Changed 3 years ago by kaz

I added a patch which implements the behaviors I wanted (and presumably will work for the person who opened this bug also):

  • if a collapsed thread has unread messages, the subject is bold, and the unread icon (blue star) shows in that list row.
  • if a collapsed thread has flagged messages, the subject is colored red, and the flag icon (yellow star) appears in that list row.

Cheers ...

Note 1: I did not patch all of the .css files that work around for various version of explorer, etc.
Note 2: The patch also includes a fix for the bin/jsshrink.sh script not to bother shrinking files that are up to date (timestamp check, similar to the make utility).

comment:9 Changed 3 years ago by sergiocambra

I like this patch because enable skins to set an icon and CSS to collapsed threads with flagged messages as you can do now with collapsed threads with unread messages.

Could you apply it leaving CSS changes out if you don't want them? Although I would move unread children icon below forwarded icon, just before unread icon.

comment:10 follow-up: Changed 3 years ago by kaz

sergiocambra wrote:

Could you apply it leaving CSS changes out if you don't want them?

Yes. In that case in the default skin the subject will be underlined if the thread has unread children, and will not be colored red if the thread has flagged children.
You can edit out that part of the patch. I should perhaps have separated it into two.

Also controversial may be that I patched in a choice for the unread children icon, which is left blank, and that I just used the unread message icon. It would be good if we had dedicated icons for this.

Although I would move unread children icon below forwarded icon, just before unread icon.

You mean if the thread root has been replied/forwarded, you want that icon to show, regardless of unread children? This is the original design and makes sense, because it's more important to know that the thread has unread messages than to know that the root message has been replied/forwarded. The list row for the collapsed thread should convey information about the thread as a whole.

comment:11 in reply to: ↑ 10 Changed 3 years ago by sergiocambra

Replying to kaz:

You mean if the thread root has been replied/forwarded, you want that icon to show, regardless of unread children? This is the original design and makes sense, because it's more important to know that the thread has unread messages than to know that the root message has been replied/forwarded. The list row for the collapsed thread should convey information about the thread as a whole.

I think replied/forwarded can have priority over unread icon because you know thread have unread children because is bold too.

Changed 3 years ago by kaz

Patch against 0.4 release.

comment:12 Changed 3 years ago by kaz

I have updated myself to the 0.4 release and rebased this patch.
In the 0.4 release, the behavior is much more stable. Bug #1486907 does not occur. The state of the icons always appears consistent (as far as I have been able to test so far). In 0.4-beta, you will see an inconsistent state of the thread parent subject underline, and this affects the patch also: the flagged and unread icons, and the subject line effects, will be somewhat unreliable (see #1486907 for details).

Note: See TracTickets for help on using tickets.