backnotprop / backnotprop/plannotator
Pre-release manual QA: Guided Review virtualization on a large diffset (#1158)
- Dominant language
- TypeScript
- Stars
- 8.7k
- Forks
- 649
- Avg merge
- 11h 12m
- Merged PRs (30d)
- 109
Description
Release gate for the next release (first one to ship #1158).
#1158 virtualizes Guided Review file cards: only cards near the viewport keep a mounted diff (max 8), everything else renders as a placeholder and mounts on approach. The evict/remount band is exactly where regressions would live, and automated coverage exercises it through a fake IntersectionObserver, not a real browser.
Before cutting the release, run a Guided Review on a large changeset (40+ files, ideally a real branch diff) and manually verify:
- [ ] smooth scroll through the whole guide, no jumpiness or blank cards that never mount
- [ ] open an annotation composer, type, scroll far away and back: draft and toolbar survive (pinning)
- [ ] collapse and mark-viewed on several cards: no visible remount flash, state survives scrolling away and back
- [ ] reviewed-state progress counts stay correct after heavy scrolling
- [ ] reopen a saved guide mid-progress: scroll position and reviewed state restore
- [ ] search (Cmd+F in-app) for text in an offscreen file: card mounts, match highlights, page reveals it
- [ ] AI markers render in guide diffs and clicking one opens the history
- [ ] memory/CPU sanity vs pre-virtualization on the same guide (should be clearly better, not worse)
Known accepted trade-off, do not report: browser-native find-in-page cannot see unmounted cards.
Follow-ups already logged in #1158 review comments (search-reveal focus steal, cosmetic nits) are not part of this gate.
Contributor guide
Research direction
Start with the Guided Review virtualization from #1158 and run it against a real branch diff containing at least 40 files. Exercise the checklist while scrolling, annotating, collapsing, searching, reopening saved guides, and checking AI markers and resource use. Done means every listed behavior works without regressions, while the accepted browser-native find limitation is not reported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- release, testing
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100