Change:
<!-- Please search existing issues to avoid creating duplicates. --Currently, differences between resolved and unresolved icons is relatively poor with high contrast color themes. ! compared to default theme ! It is difficult to tell conversations apart in high contrast color themes. <!-- Describe the feature you'd like. --Change the icon of to an unique icon to differentiate the two conversation states.
do you have any ideas for which icon I could use for resolved comments? I tried the "check" but it doesn't seem quite right. !
the original mocks from our side in used the codicon for unresolved comments and for resolved comments, maybe that's an option? Not ideal long-term, if the icon or icon are changed in isolation at some point by someone not aware of their use in the comments panel, but then the only really robust option would be specific icons for resolved and unresolved icons in codicons (or I guess SVGs?).
What about something like this? Not yet in codicons but we could add it. <img width="1447" alt="CleanShot 2022-06-24 at 15 03 38 src="https://user-"cc when he's back from vacation.
it looks like it will fit nicely in with both the comment and discussion icons. Can we add it to codicons?
While the icon in isolation looks perfectly fine, I wanted to point out that resolved comments are generally the ones less relevant to the user at a given time, and for workspaces with many resolved discussions, their icon is going to occur more frequently than the one for unresolved comments, so I am a bit worried that the proposed icon for these would be more visually busy than the icon for unresolved comments, which is what the user should focus on?
That framing makes sense to me. How about introducing an icon-with-dot pattern as we use that for a "this needs attention" pattern in multiple areas. Resolved comments could default to the regular comment icon. <img width="1061" alt="CleanShot 2022-06-27 at 11 37 02 src="https://user-"
I'm happy with that too.
to add the icons in the codicons repo. Miguel is on vacation so it may take a bit to land.
Ok, to codicons
Thanks for the new icon! Adopted: !
Would it make sense to add the dot treatment to the comment thread icon for unresolved comments in a thread?
I think that makes sense. I can add the icon if others are also in agreement.
So long as the icon doesn't look too crowded then it sounds good.
Tried this and I don't think it will work quite as well with the current icon. do you have any ideas for indicating that a thread has unresolved comments in it? <img width="402" alt="CleanShot 2022-07-14 at 11 11 33 src="https://user-"I wonder if we could instead could consider unread dots that are separated from the icon instead of built-in. Just a thought.
An idea that comes to mind is changing the position of the message icons: ! This way placing the circle is less disruptive: !
Can we reevaluate whether we actually need two separate icons for singleton comments and comment threads with replies? The current UI already prominently indicates when a thread has more than one message, with the "[indent] n comments, Last reply from someUser" treatment (which I understand the two icons might slightly predate): <img width="603" alt="Screen Shot 2022-07-15 at 18 15 50" src="https://user-"In our experience, most if not all threads will have 2+ replies after the first review round (initial reviewer comments + author reply), meaning we have the busier icon of the two used for most entries in the panel. I believe it would be completely fine to just use and throughout, what do you think?
I was actually thinking about that myself when I saw this and had to think for a second to realize what was going on. <img width="295" alt="CleanShot 2022-07-15 at 10 00 02 src="https://user-"is a fairly busy icon already so I'd be open to such a change.
I'll remove the uses of .

Discussion:
return renderedComment; } <ins> private getIcon(commentCount: number, threadState?: CommentThreadState): Codicon { if (threadState === CommentThreadState.Unresolved) { return Codicon.commentUnresolved; } else if (commentCount === 1) { return Codicon.comment; } else { return Codicon.commentDiscussion; } } </ins> renderElement(node: ITreeNode<CommentNode>, index: number, templateData: ICommentThreadTemplateData, height: number | undefined): void { const commentCount = node.element.replies.length + 1; <del> templateData.threadMetadata.icon?.classList.add(...ThemeIcon.asClassNameArray((commentCount === 1) ? Codicon.comment : Codicon.commentDiscussion)); </del> <ins> templateData.threadMetadata.icon.classList.remove(...Array.from(templateData.threadMetadata.icon.classList.values()) .filter(value => value.startsWith('codicon'))); templateData.threadMetadata.icon.classList.add(...ThemeIcon.asClassNameArray(this.getIcon(commentCount, node.element.threadState))); </ins> if (node.element.threadState !== undefined) { const color = this.getCommentThreadWidgetStateColor(node.element.threadState, this.themeService.getColorTheme()); templateData.threadMetadata.icon.style.setProperty(commentViewThreadStateColorVar, `${color}`);