Is there an existing issue for this?
Describe the bug
SqliteResourceRepository.AddConsoleLogsAsync correctly filters duplicate, replayed, and pre-clear rows before writing to SQLite, but publishes the original unfiltered batch to active subscribers.
As a result, cleared lines can reappear in an open Console Logs page and replayed lines can be displayed twice even though the database correctly excluded them.
Expected Behavior
Live subscribers should receive the same filtered set of console lines that is accepted for persistence.
Steps To Reproduce
- Persist console lines 1 and 2 and subscribe to the resource's console logs.
- Clear that resource's console logs.
- Add a batch containing a replayed line, a timestamped line from before the clear, and one valid new line.
- The subscriber receives all three lines instead of only the valid new line.
Exceptions (if any)
An assertion expecting one subscriber item receives three items.
Aspire doctor output
Aspire CLI 13.6.0-pr.18924.g5ee63941
Windows 10.0.26200
Anything else?
Related to #18924. Source: src/Aspire.Dashboard/ServiceClient/SqliteResourceRepository.cs:314-383. A focused test reproduced this deterministically, and the same implementation remains on current main.
Is there an existing issue for this?
Describe the bug
SqliteResourceRepository.AddConsoleLogsAsynccorrectly filters duplicate, replayed, and pre-clear rows before writing to SQLite, but publishes the original unfiltered batch to active subscribers.As a result, cleared lines can reappear in an open Console Logs page and replayed lines can be displayed twice even though the database correctly excluded them.
Expected Behavior
Live subscribers should receive the same filtered set of console lines that is accepted for persistence.
Steps To Reproduce
Exceptions (if any)
An assertion expecting one subscriber item receives three items.
Aspire doctor output
Anything else?
Related to #18924. Source:
src/Aspire.Dashboard/ServiceClient/SqliteResourceRepository.cs:314-383. A focused test reproduced this deterministically, and the same implementation remains on currentmain.