Closed rdicosmo closed 10 months ago
After closer inspection of the code, this is a bug in the observer logic for GH: when we exit a GH project newurl.match(/^https?:\/\/github.com\/[^\/]*\/[^\/]+/) does not match and we do nothing, while we should instead remove the icon. Will fix in the next release.
Fixed in commit 953479db72131f4b5a8b93a8d473f0a2576b78ae
Released with version 0.6.8
Unlike other supported forges, the GitHub webapp does sophisticated inline modifications of the DOM when one navigates it, so it is not enough to observe the url change to detect that ones moves around in the GitHub contents. For this reason, the extension uses an observer function that try to catch all changes when on a GitHub page (relevant code is here: https://github.com/rdicosmo/updateswh/blob/c5aa85bbe547d07adf560608a05cc3bb0aa9623d/extension/updateswh.js#L564-L617).
Since a few months, something changed in the GitHub webapp, and we get an annoying side effect, with some navigation patterns that no longer trigger the page modification detection logic in the extension. As a result, the content of the page changes, but the button remains, producing incoherent behaviour.
Here is how to reproduce:
navigate to one author page on GitHub, for example: https://github.com/borisveytsman ... one gets the author page without any button
click on one of this author's project, for example, acmart, that leads you to https://github.com/borisveytsman/acmart
now click on the author link, to get back to the author page, as in the following picture
here it is: the page change is not captured, and the button (the green save icon on the right) sticks on the page