- Notebooks Can be Improperly Trusted After Save + Reopen
Fix was to only save if actually trusted.
Also fixed condition where it wasn't correctly skipping if in the queue
* Fix#3439 Trusted doesn't get saved in Notebooks
The main fix is to add a memento to store trust information. This is only needed for saved files - untitled files are always trusted as the user created them.
On clicking trusted or saving a file, the trusted state is cached. In the future, we will also handle code execution here too by sending notification on snapshot state.
I found issue #5506 during testing - existing issue where we should track trusted state changing on run. In the case all cells are ran, the whole notebook should become trusted.
Finally, I did a decent amount of refactoring to move more logic to the model - removing unnecessary calls from components which duplicated model behavior, moving trust notification to the model or at least the notebook service completely.
Added tests and logging for catch handling
* Remove unnecessary 'use strict' lines and add hygiene check for them
* Move check to under tslint filters to reduce number of filters needed
* Only take first 10 lines of file
* removes more builder references
* remove builder from profiler
* formatting
* fix profiler dailog
* remove builder from oatuhdialog
* remove the rest of builder references
* formatting
* add more strict null checks to base
* enable strict tslint rules
* code layering of base
* wip
* working through changes to table data view
* fix tests
* update editabledropdown to not use layout service
* wip
* fix imports
* fix import
* fix compile error
* add more localization
* add comments to changes to import patterns
* add more import comments
* Fixed#4953 following query editor behavior provide create file option when file name doesn't exist
* Check active edtior is the correct one before closing
* close editor
* Removed codes not needed
* Check error null
Fixed #5236
- Change the icon to blue image. Existing icons are not deleted. We will use them when the icons are - - moved as the secondary actions.
- Change the font size to 13px
- Change the height to 21px
- Move Add actions to the left
Fixes#5231
- Add stdin handling. Has to be at UI level so add plumb through handling
- Add unit tests
- Add new StdIn component.
Testing:
Unit Tests and manual testing of following:
- Prompt for password using `getpass` in python.
- Password prompt is hidden since "password" is true.
- Hit enter, it completes
- prompt, stop cell running, StdIn disappears
- prompt, hit escape, stdIn disappears and stdIn request is handled.
Issues: focus isn't always set to the input even though we call focus.
Will investigate this further.
* Fix markdown security and enable most CSS
Stops using our sanitizer and instead disables HTML in markdown engine
- This was blocking Note because it converted > to >
- It's slightly more strict in that it fully disables HTML unless trusted. Will need to improve handling of Trusted to support this in a future PR
Adds in correct CSS, both from .css file in markdown extension and from built-into all webviews global CSS
- Fix#3765 standard markdown support
- Fix Support of Notes by bringing correct styles
- Fix code block colorization
- Fix link handling so it's not bolded / gets underlined on hover
- Fixes table rendering (for markdown and HTML tables)
* Reduce scope of CSS changes
- Removed some CSS that wasn't needed or caused issues
- Scoped most things under the preview section not the whole component
* Avoid markdown html block by sanitizing after render
* Fix pre node not overflowing
- This was a bug in existing implementation too
- Copied over click handler from VSCode markdown renderer
- Added logic to only support command links if trusted
Now clicking on a link will do an action or open a file.
Created #5238 to track need to support relative links which doesn't work
* Close jupyter and python
* Ensure we stop jupyter correctly on process end
* dont stopServer from clientSession shutdown
* PR comments
* close notebook after each test
* Fix 2 notebook issues
- Do not create notebook model twice on start
- Do not cause disposed warnings due to markdown cell deserialization
* Fix notebook dirty on open issue
Before model is resolved we weren't getting dirty events.
Solution is to use backing text model until it's ready.
Must hook to the dirty event & notify to get the dot to appear
* Basic touchbar support
* Touchbar support for Run Cell, Run Query, Add Cell
- Add top 3 notebook commands
- Add top query command
Actions only appear on having active editor of expected type.
In order to make Notebook work as expected, added tabindex to support focusing
and hide outline to ensure it doesn't get weird blue outline on click
Note: does not have icons yet, which would be nice.
However can add in subsequent PR once this comes from UX.
This is a partial fix that lays groundwork for full "Prompt to connect" if a kernel needs a connection.
I am waiting on Yurong's refactoring of connection handling before doing any of the prompt work.
- Adds kernel metadata about whether a connection is required.
- For Jupyter, only Spark kernels are listed as requiring a connection
- If this is true and there's no active connection, will show notification and not call execute
In the future, this path will still be used if user is prompted to connect and cancels out.
The future change will be to inject a "connect" handler from notebook.component to the cell callback and use to set connection context