Skip to content

[judy] fix(web): live-dot only when unread (dot \u2192 unread signal)#43

Merged
SymbolStar merged 1 commit into
mainfrom
judy/live-dot-unread-only
May 28, 2026
Merged

[judy] fix(web): live-dot only when unread (dot \u2192 unread signal)#43
SymbolStar merged 1 commit into
mainfrom
judy/live-dot-unread-only

Conversation

@SymbolStar

Copy link
Copy Markdown
Owner

scott + @dora \u5728 thread th_19e67fde6f4_c69e1a \u5b9a\u4e0b\u7684\u89c4\u5219\u3002

\u539f\u5148\u7eff\u70b9\u6309 t.in_progress \u4eae\uff0c\u800c close \u662f\u4f4e\u9891\u52a8\u4f5c\uff0c\u7ed3\u679c\u4e00\u80a1\u7c91\u90fd\u662f\u7eff\u70b9 = \u6ca1\u4fe1\u53f7\u3002\u73b0\u5728 dot \u662f\u4e25\u683c\u7684\u201c\u6709\u672a\u8bfb\u201d\u4fe1\u53f7\uff1a

state dot
open + unread \ud83d\udfe2 pulse
open + read \u2014
closed + unread \ud83d\udd34 solid
closed + read \u2014

open/closed \u672c\u8eab\u9760 \ud83d\udd12 chip + closed \u5206\u7ec4 label \u8868\u8fbe\u3002squad badge / preview \u52a0\u7c97 / (N) OpenForge title \u4e0d\u52a8\u3002

\u70b9\u5f00 unread thread \u540e\u7eff\u70b9\u4f1a\u7acb\u523b\u6d88\u5931 \u2014\u2014 \u9760 isThreadUnread \u5bf9 state.currentThreadId \u7684 short-circuit\uff08PR #36 \u4fee\u7684\u90a3\u6761\u8def\u5f84\uff09\uff0cbadge \u51cf 1 \u548c dot \u6d88\u5931\u540c\u4e00\u5e27\u53d1\u751f\uff0c\u4e0a\u6b21\u90a3\u4e2a string/number \u7c7b\u578b\u574b\u5df2\u4fee\u4e0d\u4f1a\u7ffb\u8f66\u3002

Thread: th_19e67fde6f4_c69e1a

Per scott + dora: live-dot triggered on t.in_progress means every open
thread always lights up \u2014 since close is rare, 'all green' == 'no
signal'. Switch dot semantics to 'has unread':

  open   + unread \u2192 green pulse dot
  open   + read   \u2192 no dot
  closed + unread \u2192 red dot (unchanged, from PR #25)
  closed + read   \u2192 no dot

open/closed is already conveyed by the \ud83d\udd12 chip and the closed group label,
so dot can be reclaimed for the higher-priority 'is there new stuff'
signal. squad badge / preview bold / '(N) OpenForge' title untouched.

Open thread that is currently focused also stays dot-less because
isThreadUnread() already short-circuits for state.currentThreadId, so
clicking an unread thread \u2192 dot vanishes + badge decrements in one
render pass (the PR #36 type-fix path).
@SymbolStar SymbolStar merged commit 9b71222 into main May 28, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant