6

With the keyboard shortcuts user script having graduated, I see some problems I have not seen before.

When loading a fresh page (question, or tag list) some of the time keyboard shorts start to misbehave for that page. This is with Chrome 36.0.1985.125 on Mac OS X 10.9.3.

Symptoms:

  • Navigation skips every second post; J and K only navigate over the odd posts, counting from the first.

    For a tag page, when new questions come in, loading them with U works fine, but I still can only select the odd questions; even if this is now the other half of the questions because an odd number of questions was added to the page.

    On a question page, the skipping applies to question and answers combined, you move from question to the second answer and onwards.

  • The help box (?), inbox (I) and achievement box (R) all do not show. They are loaded (unread and achievements counters are cleared) and if Auto-Help (H) is enabled the numbered list appears, they just are not visible.

    Clicking directly on the inbox or achievements box does work; the dropdowns are shown correctly.

  • Opening a question from a question list while holding the SHIFT key opens the question in a new window and in a new tab.

  • I cannot toggle Auto-Help (H); it is either on or off on page load and the state doesn't change.

The problem appears to occur when multiple tabs are loading; so if I reload a question page and a tag page in quick succession, I can get one of the two pages to show this weird state pretty quickly. As I usually have multiple tabs open and reload those tabs when I open up my laptop, I run into this issue quite frequently.

6
  • Integrating races is always a problem. What?
    – user1228
    Jul 29, 2014 at 15:57
  • Also, shift-click on links always opens in a new window. ctrl-click opens a new tab in the same window. Never liked that. Them boys who decided that is miscegenated!
    – user1228
    Jul 29, 2014 at 15:59
  • @Won't: I suspect there is a race condition somewhere; removed it from the title anyway. Jul 29, 2014 at 16:04
  • Does this also happen when you disable the user script and enable keyboard shortcuts in your site preferences? Or are you already doing that? It sounds like disabling the automatic disabling of the user script isn't quite working there.
    – balpha StaffMod
    Jul 29, 2014 at 18:45
  • @balpha: The user script is uninstalled, this is the site version entirely. I did discover another strange JS loading problem, see Unanswered questions section for Android tag became semi-transparent Jul 29, 2014 at 18:46
  • @balpha: ick, Tampermonkey had re-enabled the keyboard shortcuts script too. I've disabled it now, will see if I can still reproduce. Jul 30, 2014 at 9:46

1 Answer 1

4

In Chrome, it is possible that user scripts are only executed after the window.onload event; the same seems to be true when using TamperMonkey. In particular this seems to happen quite frequently if the page is being loaded in a tab different to the one you're looking at. This concurs with what you observed.

Our check for the presence of the keyboard shortcuts user script relies on the script already having been executed once we run the check, but because of this late execution it was possible for the check to run before the script was executed.

That means that in certain cases, either your browser would still run the user script version of the keyboard shortcuts (if you haven't checked the box in your preferences) or run both the user script and the built-in version (if you have checked it). What you were seeing was the latter case; that's what happens when two versions run at the same time (e.g. the even/odd thing happens because each version of the script moves the selection down by one when you press J).

From the next build on, the check for the user script will only be run after the onload event, fixing this.

4
  • So the work-around in the meantime is to disable the userscript. Thanks! Jul 30, 2014 at 11:46
  • All the other symptoms fit too; hitting I is interpreted twice, opening and closing the inbox immediately. They all work, but are just executed twice. Jul 30, 2014 at 11:50
  • Has this been deployed to Programmers.SE? I just ran into the problem again there. Aug 3, 2014 at 14:09
  • I just ran into this again on Stack Overflow and on Programmers; it happened because I restarted Chrome; e.g. the user-script detection can still fail if you start the browser and it reopens your tabs. Aug 7, 2014 at 13:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .