-
Notifications
You must be signed in to change notification settings - Fork 949
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade nouislider #3216
Upgrade nouislider #3216
Conversation
Looks like the relevant errors to fix are:
I'm leaving this for now. If someone else wants to take this on, feel free! Please post here so we can coordinate work. |
694017a
to
a2dcb1c
Compare
Signed-off-by: Itay Dafna <[email protected]>
Fix NoUISlider type issues
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jasongrout thanks for the help - LGTM!
@jasongrout the type conversion with |
However, this seems like a bug: Execute these three cells:
When I execute the second cell, I see the value set to approximately 25. When I execute the third cell, the value is not set to 100, but stays around 25 (both visually, as well as when I check with |
It seems that the the FloatLogSlider was wrong in master. This PR fixes it so it is consistent with ipywidgets 7.0. For example, in master setting the value to 10 causes the widget .value to be 10**10, and setting the value to 9 causes the widget .value to be 10**-9.
Just tested this case with the latest commit and it looks like that's still happening |
@jasongrout debugging this, the |
Two data points: assigning a value to |
The Read The Docs failure (https://readthedocs.org/projects/ipywidgets/builds/14072469/) seems to be related to the latest ipykernel rc: ipython/ipykernel#694 |
We pin the version since we need to manually update css when we update the version.
…ile to make updating easier.
A brief analysis of the problem with the setting not taking effect the first time (#3216 (comment)). First, there are two attributes at play here, the
|
In brief, the essential conflict here is the lifetimes of the The conflict here is when state is Some obvious thoughts, which are both basically just aligning when the two state stores are populated or reset:
I think I prefer the last option the best for now as a backwards-compatible change that fixes this issue. |
…isted as changed, so they do not get buffered again to be synced to the kernel. This fixes a problem that comes up when we have a recursive call to .set (for example, when a top-level .set call triggers an event which leads to another .set call), and the state is synced while in this recursive call. In short, the end of every .set call involves copying over the changed attributes to _buffered_state_diff. However, if we’ve already sent the state to the kernel during this recursive .set call (which clears _buffered_state_diff), before this PR we still copied over the state change values another time into _buffered_state_diff. This PR instead keeps track of the last values we have sent to the kernel during a recursive .set call, so that we don’t redundantly copy these values into the buffer again. See jupyter-widgets#3216 (comment) and the following comments for more notes on this issue.
I implemented option 4 above in 6127306, and now the unresponsive set at #3216 (comment) seems to be fixed. @ibdafna (or anyone else) - can you review? |
Looks like there is a problem with the vertical slider (probably from b0251d2 ?). Hooray again for the ui tests! |
@jasongrout LGTM. Also tested locally and everything is working as expected. Thank you! |
As a follow-up to #3215, this PR upgrades nouislider. Turns out that the next major version of nouislider is in typescript, and thus we don't need the types package.