Match a favourite by the page it is, not by the string it was written as - #83
Merged
Merged
Conversation
Issue 80's reporter, on build-afa4ce8, within the hour: "pressing 8 again mostly doesn't show anything on favourited site. even when app shows unkept this page sometimes the page still shows in favourites." Both halves are real, neither is new, and keeping an address by typing it is simply the first thing that made them easy to hit. Favourites were matched by exact string. He kept instagram.com/reel by typing it, and Instagram's own address for that page ends in a slash — two strings, so pressing 8 on the page did not find his favourite, it added a second one. Both tiles are named after the same site, so what he saw was a page he had just been told was removed, still sitting in his favourites, because it was a different entry that looked identical. Store.SameKey folds a trailing slash on the path and only that. A query and a fragment stay significant: two addresses that differ there are two pages as often as they are one, and a favourite is an explicit act nobody should have quietly widened for them. The fold has a floor at the scheme's own //, or every site on earth would be one favourite. Init heals a file that already holds both spellings, the way #53's generated pages and waypoints are healed — his set has one now, and a fix that only stopped new ones would leave him deleting the old by hand from a page that cannot tell them apart. Key 8 was also reading a cache. _cachedUrl is refreshed by UpdateStatus, which runs when a load finishes, and a site that moves between reels without finishing another load leaves it several pages behind the screen — so 8 kept, or removed, a page the user was not looking at. It reads the engine now, as everything per-site already did. The bar's star reads the same cache, so it is refreshed on the tick while the bar is up: a few seconds at a time, and it leaves a flash alone. And the likeliest reading of "doesn't show anything": pressing 8 on the start screen did nothing, silently. There is no page there to keep, which is a reason to decline and no reason to say nothing — and the start screen, where the tiles are, is where somebody goes to get rid of one. It says so now, and points at "Keep an address...". tools/startpage/run.sh covers his case exactly, the fold's limits, the scheme floor, and the heal.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue 80's reporter, on
build-afa4ce8, within the hour:Both halves are real, neither is new, and keeping an address by typing it is simply the first thing that made them easy to hit.
Favourites were matched by exact string
He kept
instagram.com/reelby typing it. Instagram's own address for that page ends in a slash. Two strings — so pressing8on the page did not find his favourite, it added a second one, and both tiles are named after the same site. What he saw was a page he had just been told was removed, still sitting in his favourites, because it was a different entry that looked identical.Store.SameKeyfolds a trailing slash on the path and only that://, orhttps://becomeshttps:/and every site on earth is one favourite.Initheals a file that already holds both spellings, the way #53's generated pages and waypoints are healed. His set has one now, and a fix that only stopped new ones appearing would leave him deleting the old by hand from a page that cannot tell them apart.Key
8was reading a cache_cachedUrlis refreshed byUpdateStatus, which runs when a load finishes. A site that moves between reels without finishing another load leaves it several pages behind what is on the screen, so8kept — or removed — a page the user was not looking at. It reads the engine now, as everything per-site already did.The bar's ★ reads the same cache, so it is refreshed on the tick while the bar is up: a few seconds at a time, and
UpdateStatusalready leaves a flash alone.And the likeliest reading of "doesn't show anything"
Pressing
8on the start screen did nothing, silently. There is no page there to keep — a fine reason to decline and no reason at all to say nothing. And the start screen, where the tiles are, is exactly where somebody goes to get rid of one. It now says so, and points at Keep an address….Checks
tools/startpage/run.sh— his case exactly (typed without the slash, pressed8on the page with one), the fold's limits (query, fragment, path), the scheme floor, and the heal with its log line. Green; the first three fail against the previousStore.cs.tools/siterules/run.sh,tools/cdpharness/run.sh— green../build.sh all— five packages, 0 warnings.