Skip to content
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

raise error for sidecar or popout when not supported #3309

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

kecnry
Copy link
Member

@kecnry kecnry commented Nov 19, 2024

Description

This pull request raises an error when trying to show a widget in popout or sidecar when they are not supported (i.e. in VS Code). Related to #3251.

Change log entry

  • Is a change log needed? If yes, is it added to CHANGES.rst? If you want to avoid merge conflicts,
    list the proposed change log here for review and add to CHANGES.rst before merge. If no, maintainer
    should add a no-changelog-entry-needed label.

Checklist for package maintainer(s)

This checklist is meant to remind the package maintainer(s) who will review this pull request of some common things to look for. This list is not exhaustive.

  • Are two approvals required? Branch protection rule does not check for the second approval. If a second approval is not necessary, please apply the trivial label.
  • Do the proposed changes actually accomplish desired goals? Also manually run the affected example notebooks, if necessary.
  • Do the proposed changes follow the STScI Style Guides?
  • Are tests added/updated as required? If so, do they follow the STScI Style Guides?
  • Are docs added/updated as required? If so, do they follow the STScI Style Guides?
  • Did the CI pass? If not, are the failures related?
  • Is a milestone set? Set this to bugfix milestone if this is a bug fix and needs to be released ASAP; otherwise, set this to the next major release milestone. Bugfix milestone also needs an accompanying backport label.
  • After merge, any internal documentations need updating (e.g., JIRA, Innerspace)?

@kecnry kecnry added the backport-v4.0.x on-merge: backport to v4.0.x label Nov 19, 2024
@kecnry kecnry added this to the 4.0.1 milestone Nov 19, 2024
@@ -126,6 +127,8 @@ def show_widget(widget, loc, title): # pragma: no cover
display(widget)

elif loc.startswith('sidecar'):
if not get_kernel_id():
Copy link
Member Author

@kecnry kecnry Nov 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mariobuikhuizen - is this sufficient, or would accessing getBaseUrl() be more appropriate (in which case can that be exposed back to python in ipypopout)?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think there is a 1 on 1 mapping of where ipypopout and sidecar work. I think sidecar has different requirements than ipypopout.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you have any suggestions on which conditions to use for each for now then?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know how to detect if sidecar is available.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, then I think this is better than nothing for now and we can always revise the condition going forward 🤷‍♂️

Copy link

codecov bot commented Nov 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 88.81%. Comparing base (88d82f9) to head (a9473d6).
Report is 10 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3309   +/-   ##
=======================================
  Coverage   88.81%   88.81%           
=======================================
  Files         125      125           
  Lines       19036    19037    +1     
=======================================
+ Hits        16906    16907    +1     
  Misses       2130     2130           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@rosteen
Copy link
Collaborator

rosteen commented Nov 22, 2024

The error messages get triggered for me as expected. I noticed one or two other interesting things happening when running in VSCode, do we want to (or did we already?) add a disclaimer in the docs that running in VSCode is not fully supported?

@gibsongreen
Copy link
Contributor

I was also able to reproduce the error for the default python environment and in the case of if I set it to my normal work environment.

I did find a case that if you have a jupyter server running independent of VSCode, you can select the option for an existing Jupyter server, which then will result in an existing kernel id and the error does not get raised.

@kecnry
Copy link
Member Author

kecnry commented Nov 22, 2024

@rosteen - can you please create tickets for anything you found? We can then discuss whether we should add a warning or not (I don't think we advertise anywhere that we do support VSCode, but if its sufficiently broken, we should either fix it or maybe make a note in the docs).

@gibsongreen - ok, this probably is still a step in the right direction, but maybe there is a better condition to test. @mariobuikhuizen - did you have any ideas or should we just move forward with this PR to at least cover the most common scenario?

@rosteen
Copy link
Collaborator

rosteen commented Nov 22, 2024

@rosteen - can you please create tickets for anything you found? We can then discuss whether we should add a warning or not (I don't think we advertise anywhere that we do support VSCode, but if its sufficiently broken, we should either fix it or maybe make a note in the docs).

See #3313, I'll see if I can find anything else.

Copy link
Contributor

@gibsongreen gibsongreen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the conversation in mind, this looks good to me!

I added a video to #3313 with additional related behavior. In the video it also shows unrelated issues in which icons are unable to display throughout the app and axes become difficult to read in dark-mode. This didn't occur when testing Imviz and when I tested before in Cubeviz I saw both expected and bug behavior. I'm in favor in a separate effort of adding a docs disclaimer along with a note for the user to open issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-v4.0.x on-merge: backport to v4.0.x Ready for final review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants