Bug report follow-ups: don't notify replies on closed reports, and don't notify again while a notification is unseen #853

Closed
opened 2026-10-19 00:14:44 +00:00 by sky_line · 1 comment
Owner

The in-viewer follow-up for bug reports (LLReportTracker, indra/newview/llreporttracker.cpp) notifies too often.

Today

pollCoro asks the relay for status every 30+ minutes:

  • applyStatus (around line 290) returns reply whenever the reply count goes up or last_reply_at advances, and status whenever state or labels change;
  • the poller (around line 395) then shows a ReportBugUpdated notification for each one, with no further checks.

So:

  • replies on a closed report still notify. The close-on-ship comment ("Fixed in 1.3.0 ...") notified the reporter, as does every later comment on a closed ticket;
  • a reporter who hasn't opened the last notification yet (mUnseen still true) gets another one for the next reply or label change on the same report.

Wanted

  1. Closed reports: no notification for replies on a report that is closed. Its state, reply count and timestamp still update silently, and the report list in the viewer can still show it as (new). The transition to closed itself still notifies once ("your report was closed" carries the fix/release information), and a reopen notifies once.
  2. One notification per report until seen: if the report already has an unseen notification (mUnseen), further replies or status changes update the stored data without a new popup. The next notification only happens after the user has seen the previous one (clicked it, or opened the report from the list).
  3. Several changes in one poll: if both a reply and a status change arrive in the same poll, show one notification that covers both, not two.
  4. Across sessions: this needs no persistence beyond what is already saved (unseen, state, reply_count, last_reply_at are in the tracker's file), but verify it: after a restart, a reporter with an unseen notification must not be notified again for the same data.

Done when

  • Closing a report with a comment produces exactly one notification ("closed"); later comments on it produce none.
  • Three replies in a row on an open report, unseen, produce one notification.
  • After seeing it, the next reply notifies again.
  • A restart doesn't re-notify.
The in-viewer follow-up for bug reports (`LLReportTracker`, `indra/newview/llreporttracker.cpp`) notifies too often. ## Today `pollCoro` asks the relay for status every 30+ minutes: - `applyStatus` (around line 290) returns `reply` whenever the reply count goes up or `last_reply_at` advances, and `status` whenever state or labels change; - the poller (around line 395) then shows a `ReportBugUpdated` notification for each one, with no further checks. So: - replies on a closed report still notify. The close-on-ship comment ("Fixed in 1.3.0 ...") notified the reporter, as does every later comment on a closed ticket; - a reporter who hasn't opened the last notification yet (`mUnseen` still true) gets another one for the next reply or label change on the same report. ## Wanted 1. **Closed reports:** no notification for replies on a report that is closed. Its state, reply count and timestamp still update silently, and the report list in the viewer can still show it as (new). The transition to closed itself still notifies once ("your report was closed" carries the fix/release information), and a reopen notifies once. 2. **One notification per report until seen:** if the report already has an unseen notification (`mUnseen`), further replies or status changes update the stored data without a new popup. The next notification only happens after the user has seen the previous one (clicked it, or opened the report from the list). 3. **Several changes in one poll:** if both a reply and a status change arrive in the same poll, show one notification that covers both, not two. 4. **Across sessions:** this needs no persistence beyond what is already saved (`unseen`, `state`, `reply_count`, `last_reply_at` are in the tracker's file), but verify it: after a restart, a reporter with an unseen notification must not be notified again for the same data. ## Done when - [ ] Closing a report with a comment produces exactly one notification ("closed"); later comments on it produce none. - [ ] Three replies in a row on an open report, unseen, produce one notification. - [ ] After seeing it, the next reply notifies again. - [ ] A restart doesn't re-notify.
sky_line added this to the Slipstream project 2026-10-19 00:14:44 +00:00
Author
Owner

Shipped in 1.4.0 Beta 1 (viewer); the report relay change is deployed as of 2026-10-20. Closing; reopen if it misbehaves.

Shipped in 1.4.0 Beta 1 (viewer); the report relay change is deployed as of 2026-10-20. Closing; reopen if it misbehaves.
sky_line 2026-10-20 15:03:21 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#853
No description provided.