Jupyter lab + 1password bad interaction

I’ve been having a problem in firefox where jupyter lab over time becomes what a previous post describes as “cripplingly slow” (see also). In that post it never was entirely clear what was going on, but in my case I can trace the cause exactly to the 1password extension, by using firefox’s dev tools 10 second profiling button. The problem occurs in large notebooks (hundreds of cells, long-running, with lots of rerunning) and essentially it seems like 1password does some very expensive stuff with many triggers (onscroll etc) in this case; most ui actions in Jupyter lab become very slow with these 1password event handlers using a lot of cpu. I suspect it might be some kind of leak as cells get rerun, as it takes a while after opening jupyter to build up. I’m pretty sure that this is not Jupyter’s fault, and there’s nothing to fix on the Jupyter side, though I suppose this could be wrong.

However, I’m also wondering if people have encountered this and have any workarounds (I haven’t yet asked 1password support and can, but based on forum discussions I’ve found along these lines I’m not sure how much this will lead to). Currently it appears that, unfortunately, 1password no longer supports any sort of allow or blocklist in terms of what sites it tries to fill on, though previous versions did, and I haven 't found any other 1password option that could help. I’m not sure what if anything could be even tried on the Jupyter side. I’m also very unexcited about disabling 1password at the browser level.

Here’s the only things I’ve figured out so far:

  • Run Jupyter lab in a private browser window, because that prevents extensions. This actually seems to work just fine, but I was wondering whether are there any caveats about using Jupyter in a private window that might not be obvious?
  • Disable 1password in chrome (which I rarely use) and just run Jupyter in a different browser from my main one. (Or Safari.) Mildly annoying as when I use chrome it’s usually for things that need a password.

Any other ideas?

2 Likes

I haven’t run into this issue as of yet.

From what I could understand, looks like 1 password is clogging the main thread in your browser.

Long shot, but below might help.

I ran into an issue where cell rendering /re-rendering causes jankyness in my notebook, I used async await on my command.execute lines to smooth it out.

Followup general question: does anyone know if there’s a user-facing way I could get jupyter to inject the attribute data-1p-ignore (which I only just found) to text entries? Doesn’t seem like jupyter itself should be in the business of catering to arbitrary browser extensions, but if there were a way to get this via configuration it might be useful to many people.

Thanks! If I understand the suggestion right, I think this isn’t really the issue I’m having. Rather, re-rendering itself is fine but over time doing it a lot seems to interact badly with what I suspect is a leak in the 1password extension. (Hypothesis: it builds up a record of potentially fillable text entries, and monotonically adds to this on Jupyter cell re-execution; it then visits every single one of these for some reason on many browser events.)