* Phoenix runtime - Reset workspace
* Format and Lint issues
* Typo issue
* Reset warning text change and create new context on allcation of new container
* Closing only notebook related
* resolved comments from previous PR
* On Schema Analyser allocate call
Co-authored-by: Srinath Narayanan <srnara@microsoft.com>
* Allocation of container only on demand
* git notebook click emits connect to container and refresh notebooks
* git cleanup local repo
* Reconnect rename and memory heartbeat change
* Fix new notebook click event in case of git login
* Mongo proxy test replace with master file
* code refactor
* format check
* compile errors resolved
* address review comments
* rename environment to workspace
* Added content html rendering in Dialog
* format issue
* Added contentHtml in the dialog which renders jsx element
* Hidding container connection status behind the feature flag and initializing scratch issue
* maintaining connecting status UX part at notebooks context
* Changing scratch name to temporary and showing only after connected
[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)
![image](https://user-images.githubusercontent.com/21954022/117454706-b5f16600-af46-11eb-8535-6bf99f3d9170.png)
[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.