Commit Briefs
typo in parse_session_line
without +4 strtonum sees top=X and cur=Y which are invalid numbers, so the scroll position is lost.
don't reset scroll position if the cursor changed line
If the user managed to move the cursor before the page load, don't restore the scroll position. This is to avoid unnecessary jumping and causing possible confusion on the user.
save and restore scroll position
Save the offset to the first and current line of the buffers and restore it when the page is loaded. This restores almost the exact viewport: we save the offset of the *real* line in the document, but they get wrapped before being displayed, so the actual restored position may be slightly above from the original one (think of a long paragraph that gets wrapped over multiple visual lines.) In practice, this isn't a drawback but only an improvement over the current behaviour. In the future we could save also the offset *inside* the line, to restore the exact position, but that felt unnecessary for now. Persisting the postion on the session file ensures that even when re-opening telescope the scroll position is correct. There are some very active pages, such as antenna or other aggregator, where this feature doesn't really work well if you re-open the page after a while, since new links are available, but otherwise is a god sent! See also github issue #1
simplify parse_session_line
drop sendtab which is not that useful and send the tab to the ui process directly in parse_session_line. It's easier to skip malformed session lines too!
fix parsing of invalid link lines
Links lines without an URL may crash Telescope if the emojify-link option is enabled (which is by default.) Since URLs are mandatory in link lines, parse these invalid lines as empty text lines (lagrange and phos parses them as text lines with "=>".) thanks @aartaka for unknowingly helping finding this issue, see https://github.com/omar-polo/phos/pull/5
move aliases at the top of the completions
it's easier to match them this way
tag 0.7.1 -- bugfix release (tags/0.7.1)
fix use after free when loading an about:* page from about:about. Reported by Brian Callahan, thanks!