diff --git a/README.md b/README.md index a4c1957..4afe766 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,10 @@ Following is a read-first, account-scoped collection: it is encrypted at rest, r pull-request Search Preview; confirmed **Stop watching** removes an open item. When watched work closes or merges, the sequential review exposes **Stop watching & next** so the completed item can be retired without leaving the preview; the next captured change opens immediately, and retiring the -final item completes the Following phase. For open work that still needs thought, **Keep for later & next** +final item completes the Following phase. Changed cards explain whether work closed, reopened, changed title, or +received other activity. During review, conversation messages newer than the prior reviewed revision are highlighted, +and the revision is acknowledged only after both detail and conversation context load; a failed conversation load keeps +that exact change unseen for Retry or **Keep for later & next**. For open work that still needs thought, **Keep for later & next** restores only the loaded revision to the unseen queue and continues the captured pass without changing Gitea state, ownership, planning, or watch status. Failed or unconfirmed Gitea mutations leave the collection and current review position unchanged. Following counts never influence the recommended Work queue. Set diff --git a/frontend/dashboard.css b/frontend/dashboard.css index 8a97c70..4b28b87 100644 --- a/frontend/dashboard.css +++ b/frontend/dashboard.css @@ -1040,6 +1040,7 @@ textarea { resize: vertical; min-height: 120px; } .search-preview-conversation { display:grid; gap:8px; padding-top:8px; border-top:1px solid #2a496e; } .search-preview-conversation h2 { margin:0; font-size:1rem; } .search-preview-comment { min-width:0; padding:10px 0; border-bottom:1px solid #1b2d45; overflow-wrap:anywhere; } +.search-preview-comment.new-since-review { padding-left:10px; border-left:3px solid var(--accent); background:#10233a; } .search-preview-conversation button { min-height:44px; width:100%; } .search-preview-reply { display:grid; gap:8px; padding-top:8px; border-top:1px solid #2a496e; } .search-preview-reply[hidden] { display:none; } diff --git a/frontend/following.js b/frontend/following.js index 17b9486..f3f87c4 100644 --- a/frontend/following.js +++ b/frontend/following.js @@ -184,7 +184,7 @@ list.innerHTML = state.items.map((item, index) => '