* Upgrade typescript to 4.9.5
* Fix compile issue and put back files in tsconfig.strict.json
* Update test snapshots
* Fix jest tests by upgrading jest and other related packages.
* Attempt to fix playwright test
* Revert "Attempt to fix playwright test"
This reverts commit 8293f34c9c.
* 2nd attempt to fix example test
* fix waitFor in playwright
* Remove unused describe section
* Attempt to fix e2e test
* Revert "Attempt to fix e2e test"
This reverts commit 9745bcd2ef.
* Upgrade playwright to latest
* Revert "Upgrade playwright to latest"
This reverts commit e2ea1d0189.
* Error test on e2e
* Revert "Error test on e2e"
This reverts commit 124e3764f7.
* Try to select dropdown item by xpath selector
* Revert "Try to select dropdown item by xpath selector"
This reverts commit 8eb42a64e2.
* Attempt to wait until page is fully loaded
* Revert "Attempt to wait until page is fully loaded"
This reverts commit bb43fcea6e.
* Use playwright selectOption to select dropdown option
* Revert "Use playwright selectOption to select dropdown option"
This reverts commit daa8cd0930.
* Select dropdown option with playwright api instead of manual click
* c7ab4c7ecf7b05f32a85568bce1a667ad8c62703Revert "Select dropdown option with playwright api instead of manual click"
This reverts commit c7ab4c7ecf.
* Wait for 5s after dropdown click
* Revert "Wait for 5s after dropdown click"
This reverts commit 847e9ad33f.
* Try forcing click
* Revert "Try forcing click"
This reverts commit 29b9fa1bda.
* Force click on the dropdown and set viewport size bigger.
* Force click on the dropdown and set viewport size bigger.
* try force clicking option
* Skip container test on webkit
* Add branded browsers to e2e tests
---------
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* Add Platform.Fabric to run in context of Fabric
* Use separate StyleConstants
We want to have more flexibility with Styles at runtime
but Constants depend on ConfigContext and therefore
get loaded very early at startup.
* Add Fabric specific styles and Fluent theme
documentDBFabric.less contains all styles for Fabric.
We use React.lazy to import them conditionally at
runtime preventing webpack from preprocessing
them into main.css.
* Restyle CommandBar for Fabric
with more roundness and native colors.
* Disable Notebooks when running in Fabric
* Disable Synapse and Scripts commands for Fabric
* Fix code formatting issues
* Fetch encrypted token from sessionStorage for fabric platform
* Fix Tabs style
* Dark refresh icons for Fabric
* Use new ResourceTree2 for Fabric
* Fluent tree should have a fixed width
otherwise the action buttons jump around on hover.
* Disable remaining Script actions in Fabric
* Revert accidentally committed change
which broke a test
* Fix cross-origin error second try
* Adjust @FabrixBoxMargin css
* Hide Database Scale node on Fabric
* Remove all Collection child nodes on Fabric
* Add a comment about why we need FabricPlatform.tsx
* Fix equality checks
* Fix more Colors for Fabric
* Switch resource tree to "medium" size
* Fix formatting again
* Fix formatting again
* Disable no-var-requires error on some intended var import.
* Increase memory limit for build
* Use standard Segoe UI font for Fabric
* Improve Tabs design for Fabric
* Fix active Tab style bug in Portal
introduced with 39a7765aef
---------
Co-authored-by: Laurent Nguyen <laurent.nguyen@microsoft.com>
[Preview this branch](https://cosmos-explorer-preview.azurewebsites.net/pull/762?feature.someFeatureFlagYouMightNeed=true)
The main change in this PR fixes the snapshot functionality in the Publish pane-related components. Because the code cell outputs are now rendered in their own iframes for security reasons, a single snapshot of the notebook is no longer possible: each cell output takes its own snapshot and the snapshots are collated on the main notebook snapshot.
- Move the snapshot functionality to notebook components: this removes the reference of the notebook DOM node that we must pass to the Publish pane via explorer.
- Add slice in the state and actions in notebook redux for notebook snapshot requests and result
- Add post robot message to take snapshots and receive results
- Add logic in `NotebookRenderer` to wait for all output snapshots done before taking the main one collating.
- Use `zustand` to share snapshot between Redux world and React world. This solves the issue of keeping the `PanelContainer` component generic, while being able to update its children (`PublishPanel` component) with the new snapshot.
Additional changes:
- Add `local()` in `@font-face` to check if font is already installed before downloading the font (must be done for Safari, but not Edge/Chrome)
- Add "Export output to image" menu item in notebook cell, since each cell output can take its own snapshot (which can be downloaded)

[Preview this branch](https://cosmos-explorer-preview.azurewebsites.net/pull/746)
We have a custom implementation of `Markdown` cell that we use in `NotebookRenderer`. This custom implementation disables HTML rendering in markdown cells. This change uses the same for `NotebookReadOnlyRenderer` which we use for Gallery.
This change enables notebooks to escape HTML (which is a vector for malicious attacks).
We import `MarkdownCell` from the `@nteract/stateful-components` sources so that we can point it to the version of `@nteract/markdown` which contains [this fix](e19c7cc590).
This is a temporary workaround from upgrading to `@nteract/stateful-components` to `7.0.0` which causes build and runtime issues see #599).
This fixes a bug that prevents getting focus to a text cell (effectively preventing editing) when the window height is small after double-clicking on a neighboring code cell.
The issue is that selecting a text cell is broken likely because there's a behavior change in MonacoEditor that keeps the focus on the code cell. The selection issue will probably be resolved when migrating the text cell to Monaco (which will acquire and keep focus the same way), but for now, this will disable the faulty code which doesn't appear to work anymore (presumably auto-scrolling to the cell).
* Add Telemetry to command bar buttons
* Count and report # of files/notebooks/directories in myNotebook to telemetry
* Add resource tree clicks to Telemetry
* Log to Telemetry: opened notebook cell counts by type, kernelspec name
* Fix unit test
* Move Telemetry processor call in notebook traceNotebookTelemetry action from reducer to epic. Use action to trace other info.
* Fix react duplicate key error
* Log notebook cell context menu actions
* Reformat and cleanup
* Move resource tree tracing code out of render(). Only call once when tree is updated
* Fix build issues
* Upgrade nteract packages and related dependencies to make new stateful-component work
* Switch to new monacoEditor
* Configure store using nteract mythic configuration
* Replace CodeMirror with Monaco editor in NotebookReadOnlyRenderer
* Reformat
* Upgrade d3 to latest to resolve d3-selection conflicts with nteract/data-explorer that broke D3ForceGraph
* Upgrade jupyterlab terminal widget to work with latest version of react. Upgrade jupyterlab services to include latest fix for websocket auth
* Update jest test snapshots
* Upgrade packages to fix build issues
* Remove comment
* Fix unit tests
* Fix unit test snapshot
* Remove useless @types/node-fetch
* Enable hiding prompt when hiding inputs (so that only output is showing)
* Fix format
* Rename variable
* Use nteract prompt instead of copying source
* Added support for taking screenshot
- Screenshot is taken using html2canvas package
- Converted to base 64 and uploaded to metadata
- For Using first display output
- Notebok object is passed instead of string, to publish pane
- The first cell with output present is parsed out
- The dom is also parsed to get corresponding div element to take screenshot of the first output
* fixed bug
* Addressed PR comments
- FIxed bug that didn't capture screenshot when mutiple notebook tabs are opened
* removed unnecessary dependencies
* fixed compile issues
* more edits