Skip to content

Leave the reader where they were when something else is removed - #828

Open
SimonCropp wants to merge 1 commit into
mainfrom
fix-removal-moves-the-reader
Open

Leave the reader where they were when something else is removed#828
SimonCropp wants to merge 1 commit into
mainfrom
fix-removal-moves-the-reader

Conversation

@SimonCropp

Copy link
Copy Markdown
Member

Remove held the selection as an index and zeroed the scroll, so any removal above
the entry on screen silently changed what was on screen - to whatever that index
now landed on, at the top of it. Most removals are of something else: a settle from
a test that has started passing, "Accept all in " from a header, a sweep
that skipped this entry and took the rest.

The selection follows its key now, the way Sync and EnqueueInline already did, and
keeps its scroll. Only an entry that is itself gone falls back to advancing by
index, which is the one case where the reader has to be moved at all.

Remove held the selection as an index and zeroed the scroll, so any removal above
the entry on screen silently changed what was on screen - to whatever that index
now landed on, at the top of it. Most removals are of something else: a settle from
a test that has started passing, "Accept all in <solution>" from a header, a sweep
that skipped this entry and took the rest.

The selection follows its key now, the way Sync and EnqueueInline already did, and
keeps its scroll. Only an entry that is itself gone falls back to advancing by
index, which is the one case where the reader has to be moved at all.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant