support JupyterLab 3 in extensions - #3016

Merged
nicolaskruchten merged 1 commit into
masterfrom
jlab3
Jan 11, 2021
Merged

support JupyterLab 3 in extensions#3016
nicolaskruchten merged 1 commit into
masterfrom
jlab3

Conversation

@nicolaskruchten

Copy link
Copy Markdown
Contributor

Closes#2994

@nicolaskruchten
nicolaskruchten merged commit 3a6d2b1 into masterJan 11, 2021
@jasongrout

jasongrout commented Jan 11, 2021

Copy link
Copy Markdown

Don't forget to bump the @jupyter-widgets/base requirement in packages/javascript/plotlywidget/package.json

@jasongrout

Copy link
Copy Markdown

(Technically it will still work since you've said it was a singleton and not bundled, but it will complain in the console nonetheless about the version not matching what you've required)

@jasongrout

Copy link
Copy Markdown

@nicolaskruchten ^

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Ah, didn't see this comment until now... Thanks! This will cause Javascript console warnings only basically?

@jasongrout

Copy link
Copy Markdown

This will cause Javascript console warnings only basically?

For now. In the future we plan to turn on strict versioning to be more accurate with our versions, which would mean this would fail then.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

OK, thanks! I'll get this fixed in the next version, which I expect will come soon, as this upgrade seemed "too easy" :P

@Alexboiboi

Alexboiboi commented Jan 11, 2021

Copy link
Copy Markdown

Hi @nicolaskruchten,

Thanks for the update, works nicely ;)

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

@jasongrout

Copy link
Copy Markdown

Actually, @nicolaskruchten - you should update the version number of @jupyter-widgets/base now. You'll have problems now if they install @jupyter-widgets/jupyterlab-manager as a source extension if you don't update. Things will work (with complaining) only if they install the widget manager as a prebuilt extension.

@jasongrout

Copy link
Copy Markdown

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

ipywidgets can technically be < 7.6 - all 7.6 basically does is install widgets for jlab 3 by default.

You can have ipywidgets 7.5 and install jupyterlab_widgets 1.0 to get widgets in jlab 3, for example.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

@jasongrout I was able to get it to work with all extensions installed as source extensions...

@jasongrout

Copy link
Copy Markdown

@jasongrout I was able to get it to work with all extensions installed as source extensions...

Without updating your @jupyter-widgets/base requirement to include ^4?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

yeah, I just did jupyter labextension install @jupyter-widgets/jupyterlab-manager then jupyter labextension install plotlywidget@4.14.2 and it worked out. Did that somehow install a prebuilt version of the manager?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

(my only reticence is that it's late and it's about a 90-minute process to do a whole release BTW! I'll surely do it in the next few days)

@jasongrout

Copy link
Copy Markdown

Yep, I just checked, and it luckily works out when we merge dependency configs to give the base 4.0 version. It may not be so lucky if we have two widgets installed as source extensions and the manager as prebuilt?

In any case, there certainly is a technical issue (the build is pulling in two copies of widgets base, version 3 and version 4), though it seems that for some reason things seem to collapse to the right version in my test setup too.

If you're releasing again in the next few days, I won't trace it further for now. It is a bit puzzling to me that it works, though.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Hehe ok, thanks for digging! Sorry to distract you with a juicy puzzle ;)

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Thanks both! I've just released 4.14.3 with the package.json changes requested and I've lightly edited the readme/getting-started docs so as to reduce the likelihood that someone will have a bad/incompatible version of ipywidgets.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jupyterlab 3.x.x support

3 participants

@nicolaskruchten@jasongrout@Alexboiboi
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

support JupyterLab 3 in extensions - #3016

Merged
nicolaskruchten merged 1 commit into
masterfrom
jlab3
Jan 11, 2021
Merged

support JupyterLab 3 in extensions#3016
nicolaskruchten merged 1 commit into
masterfrom
jlab3

Conversation

@nicolaskruchten

Copy link
Copy Markdown
Contributor

Closes#2994

@nicolaskruchten
nicolaskruchten merged commit 3a6d2b1 into masterJan 11, 2021
@jasongrout

jasongrout commented Jan 11, 2021

Copy link
Copy Markdown

Don't forget to bump the @jupyter-widgets/base requirement in packages/javascript/plotlywidget/package.json

@jasongrout

Copy link
Copy Markdown

(Technically it will still work since you've said it was a singleton and not bundled, but it will complain in the console nonetheless about the version not matching what you've required)

@jasongrout

Copy link
Copy Markdown

@nicolaskruchten ^

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Ah, didn't see this comment until now... Thanks! This will cause Javascript console warnings only basically?

@jasongrout

Copy link
Copy Markdown

This will cause Javascript console warnings only basically?

For now. In the future we plan to turn on strict versioning to be more accurate with our versions, which would mean this would fail then.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

OK, thanks! I'll get this fixed in the next version, which I expect will come soon, as this upgrade seemed "too easy" :P

@Alexboiboi

Alexboiboi commented Jan 11, 2021

Copy link
Copy Markdown

Hi @nicolaskruchten,

Thanks for the update, works nicely ;)

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

@jasongrout

Copy link
Copy Markdown

Actually, @nicolaskruchten - you should update the version number of @jupyter-widgets/base now. You'll have problems now if they install @jupyter-widgets/jupyterlab-manager as a source extension if you don't update. Things will work (with complaining) only if they install the widget manager as a prebuilt extension.

@jasongrout

Copy link
Copy Markdown

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

ipywidgets can technically be < 7.6 - all 7.6 basically does is install widgets for jlab 3 by default.

You can have ipywidgets 7.5 and install jupyterlab_widgets 1.0 to get widgets in jlab 3, for example.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

@jasongrout I was able to get it to work with all extensions installed as source extensions...

@jasongrout

Copy link
Copy Markdown

@jasongrout I was able to get it to work with all extensions installed as source extensions...

Without updating your @jupyter-widgets/base requirement to include ^4?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

yeah, I just did jupyter labextension install @jupyter-widgets/jupyterlab-manager then jupyter labextension install plotlywidget@4.14.2 and it worked out. Did that somehow install a prebuilt version of the manager?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

(my only reticence is that it's late and it's about a 90-minute process to do a whole release BTW! I'll surely do it in the next few days)

@jasongrout

Copy link
Copy Markdown

Yep, I just checked, and it luckily works out when we merge dependency configs to give the base 4.0 version. It may not be so lucky if we have two widgets installed as source extensions and the manager as prebuilt?

In any case, there certainly is a technical issue (the build is pulling in two copies of widgets base, version 3 and version 4), though it seems that for some reason things seem to collapse to the right version in my test setup too.

If you're releasing again in the next few days, I won't trace it further for now. It is a bit puzzling to me that it works, though.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Hehe ok, thanks for digging! Sorry to distract you with a juicy puzzle ;)

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Thanks both! I've just released 4.14.3 with the package.json changes requested and I've lightly edited the readme/getting-started docs so as to reduce the likelihood that someone will have a bad/incompatible version of ipywidgets.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jupyterlab 3.x.x support

3 participants

@nicolaskruchten@jasongrout@Alexboiboi
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

support JupyterLab 3 in extensions - #3016

Merged
nicolaskruchten merged 1 commit into
masterfrom
jlab3
Jan 11, 2021
Merged

support JupyterLab 3 in extensions#3016
nicolaskruchten merged 1 commit into
masterfrom
jlab3

Conversation

@nicolaskruchten

Copy link
Copy Markdown
Contributor

Closes#2994

@nicolaskruchten
nicolaskruchten merged commit 3a6d2b1 into masterJan 11, 2021
@jasongrout

jasongrout commented Jan 11, 2021

Copy link
Copy Markdown

Don't forget to bump the @jupyter-widgets/base requirement in packages/javascript/plotlywidget/package.json

@jasongrout

Copy link
Copy Markdown

(Technically it will still work since you've said it was a singleton and not bundled, but it will complain in the console nonetheless about the version not matching what you've required)

@jasongrout

Copy link
Copy Markdown

@nicolaskruchten ^

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Ah, didn't see this comment until now... Thanks! This will cause Javascript console warnings only basically?

@jasongrout

Copy link
Copy Markdown

This will cause Javascript console warnings only basically?

For now. In the future we plan to turn on strict versioning to be more accurate with our versions, which would mean this would fail then.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

OK, thanks! I'll get this fixed in the next version, which I expect will come soon, as this upgrade seemed "too easy" :P

@Alexboiboi

Alexboiboi commented Jan 11, 2021

Copy link
Copy Markdown

Hi @nicolaskruchten,

Thanks for the update, works nicely ;)

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

@jasongrout

Copy link
Copy Markdown

Actually, @nicolaskruchten - you should update the version number of @jupyter-widgets/base now. You'll have problems now if they install @jupyter-widgets/jupyterlab-manager as a source extension if you don't update. Things will work (with complaining) only if they install the widget manager as a prebuilt extension.

@jasongrout

Copy link
Copy Markdown

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

ipywidgets can technically be < 7.6 - all 7.6 basically does is install widgets for jlab 3 by default.

You can have ipywidgets 7.5 and install jupyterlab_widgets 1.0 to get widgets in jlab 3, for example.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

@jasongrout I was able to get it to work with all extensions installed as source extensions...

@jasongrout

Copy link
Copy Markdown

@jasongrout I was able to get it to work with all extensions installed as source extensions...

Without updating your @jupyter-widgets/base requirement to include ^4?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

yeah, I just did jupyter labextension install @jupyter-widgets/jupyterlab-manager then jupyter labextension install plotlywidget@4.14.2 and it worked out. Did that somehow install a prebuilt version of the manager?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

(my only reticence is that it's late and it's about a 90-minute process to do a whole release BTW! I'll surely do it in the next few days)

@jasongrout

Copy link
Copy Markdown

Yep, I just checked, and it luckily works out when we merge dependency configs to give the base 4.0 version. It may not be so lucky if we have two widgets installed as source extensions and the manager as prebuilt?

In any case, there certainly is a technical issue (the build is pulling in two copies of widgets base, version 3 and version 4), though it seems that for some reason things seem to collapse to the right version in my test setup too.

If you're releasing again in the next few days, I won't trace it further for now. It is a bit puzzling to me that it works, though.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Hehe ok, thanks for digging! Sorry to distract you with a juicy puzzle ;)

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Thanks both! I've just released 4.14.3 with the package.json changes requested and I've lightly edited the readme/getting-started docs so as to reduce the likelihood that someone will have a bad/incompatible version of ipywidgets.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jupyterlab 3.x.x support

3 participants

@nicolaskruchten@jasongrout@Alexboiboi
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

support JupyterLab 3 in extensions - #3016

Merged
nicolaskruchten merged 1 commit into
masterfrom
jlab3
Jan 11, 2021
Merged

support JupyterLab 3 in extensions#3016
nicolaskruchten merged 1 commit into
masterfrom
jlab3

Conversation

@nicolaskruchten

Copy link
Copy Markdown
Contributor

Closes#2994

@nicolaskruchten
nicolaskruchten merged commit 3a6d2b1 into masterJan 11, 2021
@jasongrout

jasongrout commented Jan 11, 2021

Copy link
Copy Markdown

Don't forget to bump the @jupyter-widgets/base requirement in packages/javascript/plotlywidget/package.json

@jasongrout

Copy link
Copy Markdown

(Technically it will still work since you've said it was a singleton and not bundled, but it will complain in the console nonetheless about the version not matching what you've required)

@jasongrout

Copy link
Copy Markdown

@nicolaskruchten ^

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Ah, didn't see this comment until now... Thanks! This will cause Javascript console warnings only basically?

@jasongrout

Copy link
Copy Markdown

This will cause Javascript console warnings only basically?

For now. In the future we plan to turn on strict versioning to be more accurate with our versions, which would mean this would fail then.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

OK, thanks! I'll get this fixed in the next version, which I expect will come soon, as this upgrade seemed "too easy" :P

@Alexboiboi

Alexboiboi commented Jan 11, 2021

Copy link
Copy Markdown

Hi @nicolaskruchten,

Thanks for the update, works nicely ;)

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

@jasongrout

Copy link
Copy Markdown

Actually, @nicolaskruchten - you should update the version number of @jupyter-widgets/base now. You'll have problems now if they install @jupyter-widgets/jupyterlab-manager as a source extension if you don't update. Things will work (with complaining) only if they install the widget manager as a prebuilt extension.

@jasongrout

Copy link
Copy Markdown

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

ipywidgets can technically be < 7.6 - all 7.6 basically does is install widgets for jlab 3 by default.

You can have ipywidgets 7.5 and install jupyterlab_widgets 1.0 to get widgets in jlab 3, for example.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

@jasongrout I was able to get it to work with all extensions installed as source extensions...

@jasongrout

Copy link
Copy Markdown

@jasongrout I was able to get it to work with all extensions installed as source extensions...

Without updating your @jupyter-widgets/base requirement to include ^4?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

yeah, I just did jupyter labextension install @jupyter-widgets/jupyterlab-manager then jupyter labextension install plotlywidget@4.14.2 and it worked out. Did that somehow install a prebuilt version of the manager?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

(my only reticence is that it's late and it's about a 90-minute process to do a whole release BTW! I'll surely do it in the next few days)

@jasongrout

Copy link
Copy Markdown

Yep, I just checked, and it luckily works out when we merge dependency configs to give the base 4.0 version. It may not be so lucky if we have two widgets installed as source extensions and the manager as prebuilt?

In any case, there certainly is a technical issue (the build is pulling in two copies of widgets base, version 3 and version 4), though it seems that for some reason things seem to collapse to the right version in my test setup too.

If you're releasing again in the next few days, I won't trace it further for now. It is a bit puzzling to me that it works, though.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Hehe ok, thanks for digging! Sorry to distract you with a juicy puzzle ;)

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Thanks both! I've just released 4.14.3 with the package.json changes requested and I've lightly edited the readme/getting-started docs so as to reduce the likelihood that someone will have a bad/incompatible version of ipywidgets.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jupyterlab 3.x.x support

3 participants

@nicolaskruchten@jasongrout@Alexboiboi
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

support JupyterLab 3 in extensions - #3016

Merged
nicolaskruchten merged 1 commit into
masterfrom
jlab3
Jan 11, 2021
Merged

support JupyterLab 3 in extensions#3016
nicolaskruchten merged 1 commit into
masterfrom
jlab3

Conversation

@nicolaskruchten

Copy link
Copy Markdown
Contributor

Closes#2994

@nicolaskruchten
nicolaskruchten merged commit 3a6d2b1 into masterJan 11, 2021
@jasongrout

jasongrout commented Jan 11, 2021

Copy link
Copy Markdown

Don't forget to bump the @jupyter-widgets/base requirement in packages/javascript/plotlywidget/package.json

@jasongrout

Copy link
Copy Markdown

(Technically it will still work since you've said it was a singleton and not bundled, but it will complain in the console nonetheless about the version not matching what you've required)

@jasongrout

Copy link
Copy Markdown

@nicolaskruchten ^

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Ah, didn't see this comment until now... Thanks! This will cause Javascript console warnings only basically?

@jasongrout

Copy link
Copy Markdown

This will cause Javascript console warnings only basically?

For now. In the future we plan to turn on strict versioning to be more accurate with our versions, which would mean this would fail then.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

OK, thanks! I'll get this fixed in the next version, which I expect will come soon, as this upgrade seemed "too easy" :P

@Alexboiboi

Alexboiboi commented Jan 11, 2021

Copy link
Copy Markdown

Hi @nicolaskruchten,

Thanks for the update, works nicely ;)

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

@jasongrout

Copy link
Copy Markdown

Actually, @nicolaskruchten - you should update the version number of @jupyter-widgets/base now. You'll have problems now if they install @jupyter-widgets/jupyterlab-manager as a source extension if you don't update. Things will work (with complaining) only if they install the widget manager as a prebuilt extension.

@jasongrout

Copy link
Copy Markdown

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

ipywidgets can technically be < 7.6 - all 7.6 basically does is install widgets for jlab 3 by default.

You can have ipywidgets 7.5 and install jupyterlab_widgets 1.0 to get widgets in jlab 3, for example.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

@jasongrout I was able to get it to work with all extensions installed as source extensions...

@jasongrout

Copy link
Copy Markdown

@jasongrout I was able to get it to work with all extensions installed as source extensions...

Without updating your @jupyter-widgets/base requirement to include ^4?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

yeah, I just did jupyter labextension install @jupyter-widgets/jupyterlab-manager then jupyter labextension install plotlywidget@4.14.2 and it worked out. Did that somehow install a prebuilt version of the manager?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

(my only reticence is that it's late and it's about a 90-minute process to do a whole release BTW! I'll surely do it in the next few days)

@jasongrout

Copy link
Copy Markdown

Yep, I just checked, and it luckily works out when we merge dependency configs to give the base 4.0 version. It may not be so lucky if we have two widgets installed as source extensions and the manager as prebuilt?

In any case, there certainly is a technical issue (the build is pulling in two copies of widgets base, version 3 and version 4), though it seems that for some reason things seem to collapse to the right version in my test setup too.

If you're releasing again in the next few days, I won't trace it further for now. It is a bit puzzling to me that it works, though.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Hehe ok, thanks for digging! Sorry to distract you with a juicy puzzle ;)

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Thanks both! I've just released 4.14.3 with the package.json changes requested and I've lightly edited the readme/getting-started docs so as to reduce the likelihood that someone will have a bad/incompatible version of ipywidgets.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jupyterlab 3.x.x support

3 participants

@nicolaskruchten@jasongrout@Alexboiboi
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

support JupyterLab 3 in extensions - #3016

Merged
nicolaskruchten merged 1 commit into
masterfrom
jlab3
Jan 11, 2021
Merged

support JupyterLab 3 in extensions#3016
nicolaskruchten merged 1 commit into
masterfrom
jlab3

Conversation

@nicolaskruchten

Copy link
Copy Markdown
Contributor

Closes#2994

@nicolaskruchten
nicolaskruchten merged commit 3a6d2b1 into masterJan 11, 2021
@jasongrout

jasongrout commented Jan 11, 2021

Copy link
Copy Markdown

Don't forget to bump the @jupyter-widgets/base requirement in packages/javascript/plotlywidget/package.json

@jasongrout

Copy link
Copy Markdown

(Technically it will still work since you've said it was a singleton and not bundled, but it will complain in the console nonetheless about the version not matching what you've required)

@jasongrout

Copy link
Copy Markdown

@nicolaskruchten ^

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Ah, didn't see this comment until now... Thanks! This will cause Javascript console warnings only basically?

@jasongrout

Copy link
Copy Markdown

This will cause Javascript console warnings only basically?

For now. In the future we plan to turn on strict versioning to be more accurate with our versions, which would mean this would fail then.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

OK, thanks! I'll get this fixed in the next version, which I expect will come soon, as this upgrade seemed "too easy" :P

@Alexboiboi

Alexboiboi commented Jan 11, 2021

Copy link
Copy Markdown

Hi @nicolaskruchten,

Thanks for the update, works nicely ;)

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

@jasongrout

Copy link
Copy Markdown

Actually, @nicolaskruchten - you should update the version number of @jupyter-widgets/base now. You'll have problems now if they install @jupyter-widgets/jupyterlab-manager as a source extension if you don't update. Things will work (with complaining) only if they install the widget manager as a prebuilt extension.

@jasongrout

Copy link
Copy Markdown

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

ipywidgets can technically be < 7.6 - all 7.6 basically does is install widgets for jlab 3 by default.

You can have ipywidgets 7.5 and install jupyterlab_widgets 1.0 to get widgets in jlab 3, for example.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

@jasongrout I was able to get it to work with all extensions installed as source extensions...

@jasongrout

Copy link
Copy Markdown

@jasongrout I was able to get it to work with all extensions installed as source extensions...

Without updating your @jupyter-widgets/base requirement to include ^4?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

yeah, I just did jupyter labextension install @jupyter-widgets/jupyterlab-manager then jupyter labextension install plotlywidget@4.14.2 and it worked out. Did that somehow install a prebuilt version of the manager?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

(my only reticence is that it's late and it's about a 90-minute process to do a whole release BTW! I'll surely do it in the next few days)

@jasongrout

Copy link
Copy Markdown

Yep, I just checked, and it luckily works out when we merge dependency configs to give the base 4.0 version. It may not be so lucky if we have two widgets installed as source extensions and the manager as prebuilt?

In any case, there certainly is a technical issue (the build is pulling in two copies of widgets base, version 3 and version 4), though it seems that for some reason things seem to collapse to the right version in my test setup too.

If you're releasing again in the next few days, I won't trace it further for now. It is a bit puzzling to me that it works, though.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Hehe ok, thanks for digging! Sorry to distract you with a juicy puzzle ;)

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Thanks both! I've just released 4.14.3 with the package.json changes requested and I've lightly edited the readme/getting-started docs so as to reduce the likelihood that someone will have a bad/incompatible version of ipywidgets.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jupyterlab 3.x.x support

3 participants

@nicolaskruchten@jasongrout@Alexboiboi
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

support JupyterLab 3 in extensions - #3016

Merged
nicolaskruchten merged 1 commit into
masterfrom
jlab3
Jan 11, 2021
Merged

support JupyterLab 3 in extensions#3016
nicolaskruchten merged 1 commit into
masterfrom
jlab3

Conversation

@nicolaskruchten

Copy link
Copy Markdown
Contributor

Closes#2994

@nicolaskruchten
nicolaskruchten merged commit 3a6d2b1 into masterJan 11, 2021
@jasongrout

jasongrout commented Jan 11, 2021

Copy link
Copy Markdown

Don't forget to bump the @jupyter-widgets/base requirement in packages/javascript/plotlywidget/package.json

@jasongrout

Copy link
Copy Markdown

(Technically it will still work since you've said it was a singleton and not bundled, but it will complain in the console nonetheless about the version not matching what you've required)

@jasongrout

Copy link
Copy Markdown

@nicolaskruchten ^

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Ah, didn't see this comment until now... Thanks! This will cause Javascript console warnings only basically?

@jasongrout

Copy link
Copy Markdown

This will cause Javascript console warnings only basically?

For now. In the future we plan to turn on strict versioning to be more accurate with our versions, which would mean this would fail then.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

OK, thanks! I'll get this fixed in the next version, which I expect will come soon, as this upgrade seemed "too easy" :P

@Alexboiboi

Alexboiboi commented Jan 11, 2021

Copy link
Copy Markdown

Hi @nicolaskruchten,

Thanks for the update, works nicely ;)

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

@jasongrout

Copy link
Copy Markdown

Actually, @nicolaskruchten - you should update the version number of @jupyter-widgets/base now. You'll have problems now if they install @jupyter-widgets/jupyterlab-manager as a source extension if you don't update. Things will work (with complaining) only if they install the widget manager as a prebuilt extension.

@jasongrout

Copy link
Copy Markdown

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

ipywidgets can technically be < 7.6 - all 7.6 basically does is install widgets for jlab 3 by default.

You can have ipywidgets 7.5 and install jupyterlab_widgets 1.0 to get widgets in jlab 3, for example.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

@jasongrout I was able to get it to work with all extensions installed as source extensions...

@jasongrout

Copy link
Copy Markdown

@jasongrout I was able to get it to work with all extensions installed as source extensions...

Without updating your @jupyter-widgets/base requirement to include ^4?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

yeah, I just did jupyter labextension install @jupyter-widgets/jupyterlab-manager then jupyter labextension install plotlywidget@4.14.2 and it worked out. Did that somehow install a prebuilt version of the manager?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

(my only reticence is that it's late and it's about a 90-minute process to do a whole release BTW! I'll surely do it in the next few days)

@jasongrout

Copy link
Copy Markdown

Yep, I just checked, and it luckily works out when we merge dependency configs to give the base 4.0 version. It may not be so lucky if we have two widgets installed as source extensions and the manager as prebuilt?

In any case, there certainly is a technical issue (the build is pulling in two copies of widgets base, version 3 and version 4), though it seems that for some reason things seem to collapse to the right version in my test setup too.

If you're releasing again in the next few days, I won't trace it further for now. It is a bit puzzling to me that it works, though.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Hehe ok, thanks for digging! Sorry to distract you with a juicy puzzle ;)

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Thanks both! I've just released 4.14.3 with the package.json changes requested and I've lightly edited the readme/getting-started docs so as to reduce the likelihood that someone will have a bad/incompatible version of ipywidgets.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jupyterlab 3.x.x support

3 participants

@nicolaskruchten@jasongrout@Alexboiboi
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

support JupyterLab 3 in extensions - #3016

Merged
nicolaskruchten merged 1 commit into
masterfrom
jlab3
Jan 11, 2021
Merged

support JupyterLab 3 in extensions#3016
nicolaskruchten merged 1 commit into
masterfrom
jlab3

Conversation

@nicolaskruchten

Copy link
Copy Markdown
Contributor

Closes#2994

@nicolaskruchten
nicolaskruchten merged commit 3a6d2b1 into masterJan 11, 2021
@jasongrout

jasongrout commented Jan 11, 2021

Copy link
Copy Markdown

Don't forget to bump the @jupyter-widgets/base requirement in packages/javascript/plotlywidget/package.json

@jasongrout

Copy link
Copy Markdown

(Technically it will still work since you've said it was a singleton and not bundled, but it will complain in the console nonetheless about the version not matching what you've required)

@jasongrout

Copy link
Copy Markdown

@nicolaskruchten ^

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Ah, didn't see this comment until now... Thanks! This will cause Javascript console warnings only basically?

@jasongrout

Copy link
Copy Markdown

This will cause Javascript console warnings only basically?

For now. In the future we plan to turn on strict versioning to be more accurate with our versions, which would mean this would fail then.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

OK, thanks! I'll get this fixed in the next version, which I expect will come soon, as this upgrade seemed "too easy" :P

@Alexboiboi

Alexboiboi commented Jan 11, 2021

Copy link
Copy Markdown

Hi @nicolaskruchten,

Thanks for the update, works nicely ;)

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

@jasongrout

Copy link
Copy Markdown

Actually, @nicolaskruchten - you should update the version number of @jupyter-widgets/base now. You'll have problems now if they install @jupyter-widgets/jupyterlab-manager as a source extension if you don't update. Things will work (with complaining) only if they install the widget manager as a prebuilt extension.

@jasongrout

Copy link
Copy Markdown

In the readme file I think the ipywidgets version should be >=7.6, otherwise it doesn't work in jlab v3

ipywidgets can technically be < 7.6 - all 7.6 basically does is install widgets for jlab 3 by default.

You can have ipywidgets 7.5 and install jupyterlab_widgets 1.0 to get widgets in jlab 3, for example.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

@jasongrout I was able to get it to work with all extensions installed as source extensions...

@jasongrout

Copy link
Copy Markdown

@jasongrout I was able to get it to work with all extensions installed as source extensions...

Without updating your @jupyter-widgets/base requirement to include ^4?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

yeah, I just did jupyter labextension install @jupyter-widgets/jupyterlab-manager then jupyter labextension install plotlywidget@4.14.2 and it worked out. Did that somehow install a prebuilt version of the manager?

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

(my only reticence is that it's late and it's about a 90-minute process to do a whole release BTW! I'll surely do it in the next few days)

@jasongrout

Copy link
Copy Markdown

Yep, I just checked, and it luckily works out when we merge dependency configs to give the base 4.0 version. It may not be so lucky if we have two widgets installed as source extensions and the manager as prebuilt?

In any case, there certainly is a technical issue (the build is pulling in two copies of widgets base, version 3 and version 4), though it seems that for some reason things seem to collapse to the right version in my test setup too.

If you're releasing again in the next few days, I won't trace it further for now. It is a bit puzzling to me that it works, though.

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Hehe ok, thanks for digging! Sorry to distract you with a juicy puzzle ;)

@nicolaskruchten

Copy link
Copy Markdown
ContributorAuthor

Thanks both! I've just released 4.14.3 with the package.json changes requested and I've lightly edited the readme/getting-started docs so as to reduce the likelihood that someone will have a bad/incompatible version of ipywidgets.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jupyterlab 3.x.x support

3 participants

@nicolaskruchten@jasongrout@Alexboiboi