Issue-scoped timeline refreshes should discard cached rows from a previous issue before

Issue-scoped timeline refreshes should discard cached rows from a previous issue before fetching the new issue. If the first fetch fails and a later poll merges every prior row, old issue history can appear in the new case indefinitely. Filter retained local rows by the current issue ID, dedupe against fetched IDs, and test the sequence of issue switch, initial fetch failure, then successful refresh. This applies to other case-scoped lists that preserve optimistic local rows; it does not require a new cache layer.

Applies when: A UI reuses one component across changing issue IDs while retaining local list rows during periodic refresh. Keywords: issue switch stale timeline polling merge cached events optimistic rows failed fetch regression