* master pull
* Better VSCode detection
* Prettier run
* Update .npmrc
* Update settings.json
* Fixed ESLint error
* Changed the VSCode detection to a test url that will not open if successful
* Initial UX changes to Add Collection Panel
* Removing changes from other branch
* Reverting explorer changes
* Snapshot updates and Lint fixes
* Formatting fixes
* Setting separator spacing the same
* Update test snapshot
* Reverting Manual to old UI
* master pull
* Reverting .npmrc file
* Removed logging userContext
* Prettier run
* Added support for opening CosmosDB Account without clicking database tab
* Reverting change in settings.json
* Prettier run
* Added check if the link closed
* Added check if the link didn't closed
* Check if VS Code was opened, if not popup with download button link
* Prettier run
* Redirect to Download VS Code if not opened
* Added error message to VS Code timeout and redirect
* Fixing baseUrl from testing
* Increased timeout for when user is asked to open VS Code
* switched to iframe for redirects
* Fixed VS Code url
* Removed insider url
* Added log messages
* Added link to vCore data explorer dashboard
* Increased timeout to 2.5 secs to see if that helps with VS Code open popup
* Changed to dialog box
* Changed param name
* Increase startTime for extra popup
* Changed to dialog box only when no VS Code detected
* Fixed vscode url
* Changed title back to Open CosmosDB in VS Code
* Added text on required extensions
* Removed text on required extensions as it will prompt by default
* Fixed wording and Primary Button timeout
* Spelled out VS Code
* Removed console log of timeout
* Updated snapshots and lowered timeout
* Remove VS Code button from Gremlin
* Prettier run on CommandBarComponentButtonFactory
* Changed from referencing location to a link
* Prettier run
* Reverting back to popup for opening
* Updated unit test snapshots
* Added vscode: to Content Security Policy
* Reverting back to popup only if opening times out
* Corrected misspelled url
* Corrected url
* Added event listener to check if DE is in focus or not, to prevent showing dialog when VS Code is opened
* Prettier and url fix
* Moved closeDialog before removing event listener
* Changed handleFocus to a const rather than function
* Changed listener to document
* Decreased timeout time
* Reverting back to popup by default as too many factors are present using a timeout
* master pull
* Reverting .npmrc file
* Removed logging userContext
* Prettier run
* Added support for opening CosmosDB Account without clicking database tab
* Reverting change in settings.json
* Prettier run
* Added check if the link closed
* Added check if the link didn't closed
* Check if VS Code was opened, if not popup with download button link
* Prettier run
* Redirect to Download VS Code if not opened
* Added error message to VS Code timeout and redirect
* Fixing baseUrl from testing
* Increased timeout for when user is asked to open VS Code
* switched to iframe for redirects
* Fixed VS Code url
* Removed insider url
* Added log messages
* Added link to vCore data explorer dashboard
* Increased timeout to 2.5 secs to see if that helps with VS Code open popup
* Changed to dialog box
* Changed param name
* Increase startTime for extra popup
* Changed to dialog box only when no VS Code detected
* Fixed vscode url
* Changed title back to Open CosmosDB in VS Code
* Added text on required extensions
* Removed text on required extensions as it will prompt by default
* Fixed wording and Primary Button timeout
* Spelled out VS Code
* Removed console log of timeout
* Updated snapshots and lowered timeout
* Remove VS Code button from Gremlin
* Prettier run on CommandBarComponentButtonFactory
* Changed from referencing location to a link
* Prettier run
* Reverting back to popup for opening
* Updated unit test snapshots
* Added vscode: to Content Security Policy
* Reverting back to popup only if opening times out
* Corrected misspelled url
* Corrected url
* master pull
* Reverting .npmrc file
* Removed logging userContext
* Prettier run
* Added support for opening CosmosDB Account without clicking database tab
* Reverting change in settings.json
* Prettier run
* Added check if the link closed
* Added check if the link didn't closed
* Check if VS Code was opened, if not popup with download button link
* Prettier run
* Redirect to Download VS Code if not opened
* Added error message to VS Code timeout and redirect
* Fixing baseUrl from testing
* Increased timeout for when user is asked to open VS Code
* switched to iframe for redirects
* Fixed VS Code url
* Removed insider url
* Added log messages
* Added link to vCore data explorer dashboard
* Increased timeout to 2.5 secs to see if that helps with VS Code open popup
* Changed to dialog box
* Changed param name
* Increase startTime for extra popup
* Changed to dialog box only when no VS Code detected
* Fixed vscode url
* Changed title back to Open CosmosDB in VS Code
* Added text on required extensions
* Removed text on required extensions as it will prompt by default
* Fixed wording and Primary Button timeout
* Spelled out VS Code
* Removed console log of timeout
* Updated snapshots and lowered timeout
* Remove VS Code button from Gremlin
* Prettier run on CommandBarComponentButtonFactory
* Changed from referencing location to a link
* Prettier run
* Reverting back to popup for opening
* Updated unit test snapshots
* Added vscode: to Content Security Policy
* Reverting back to popup only if opening times out
* Implement fabric native path
* Fix default values to work with current fabric clients
* Fix Fabric native mode
* Fix unit test
* export Fabric context
* Dynamically close Home tab for Mirrored databases in Fabric rather than conditional init (which doesn't work for Native)
* For Fabric native, don't show "Delete Database" in context menu and reading databases should return the database from the context.
* Update to V3 messaging
* For data plane operations, skip ARM for Fabric native. Refine the tests for fabric to make the distinction between mirrored key, mirrored AAD and native. Fix FabricUtil to strict compile.
* Add support for refreshing access tokens
* Buf fix: don't wait for refresh is async
* Fix format
* Fix strict compile issue
---------
Co-authored-by: Laurent Nguyen <languye@microsoft.com>
* Removed NPS Survey from DE since it has been moved to the Overview Blade
* Added ExplorerBindings back
* Moved applyExplorerBindings back to original place
* Persist query multiple query texts
* Save multiple query tab histories
* Save and restore states for QueryTab and DocumentsTab for SQL and Mongo
* Enable Collection Scale/Settings restore
* Persist documents tab current filter
* Fix DocumentsTab conflict resolve mistake
* Remove unused variable
* Fix e2e test
* Fix e2e localStorage reference
* Try clearing local storage via playwright page
* Clear local storage after opening page
* Move restore flag behind feature flag. Whitelist restorable tabs in for Fabric. Restore e2e tests.
* Fix typo
* Fix: avoid setting undefined for preferredSize for the <Allotment.Pane>
* Add comments
* Move restore tabs after knockout configure step from Explorer constructor (which could be called multiple times)
* Add a silent parameter to acquireTokenWithMsal
If true, the function won't retry to sign in using a Popup if silent token acquisition fails.
* Improve Login for Entra ID RBAC button logic
Try to reuse an existing signed-in MSAL account to get the AAD token
and fall back to full sign-in otherwise.
Also move the logic to AuthorizationUtils
* Try to acquire an Entra ID token silently on startup.
When running in Portal MSAL should be able to reuse the
MSAL account from Portal and allow us to silently get
the RBAC token. If it fails we'll show the Login for Entry ID RBAC
button as usual.
* Small code improvements
* Remove the RBAC notice from settings pane
and try to acquire RBAC token silently after enabling RBAC.
* Use msal.ssoSilent with an optional login hint
to avoid more sign-in popups.
msal.loginPopup will be used as a backup option if ssoSilent fails.
Ideally the parent environment (Portal/Fabric) should send
a loginHint with the username of the currently signed in user that
can be passed to the token acquisition flow.
* Improve RBAC error wording, clarifying where to find the Login button.
* Reapply "Enable column selection and sorting in DocumentsTab (with persistence) (#1881)" (#1960)
This reverts commit fe9730206e.
* Fix logic bug: always include defaultQueryFields in query.
* Show resize column option outside of feature flag
* Improve prevention of no selected columns
* Add more unit tests
* Fix styling on table
* Update test snapshots
* Remove "sortable" property on table which makes the header cell focusable (user sorts by selecting menu item, not by clicking on cell)
* Initial implementation of saving split value to local storage
* Make table columns generic (no more id and partition keys)
* Save column width
* Add column selection from right-click
* Implement new menu for column selection with search.
* Switch icons and search compare with lowercase.
* Search uses string includes instead of startsWith
* Only allow data fields that can be rendered (string and numbers) in column selection
* Accumulate properties rather than replace for column definitions
* Do not allow deselecting all columns
* Move table values under its own property
* Update choices of column when creating new or updating document
* Rework column selection UI
* Fix table size issue with some heuristics
* Fix heuristic for size update
* Don't allow unselecting last column
* Implement column sorting
* Fix format
* Fix format, update snapshots
* Add reset button to column selection and fix naming of openUploadItemsPanePane()
* Fix unit tests
* Fix unit test
* Persist column selection
* Persist column sorting
* Save columns definition (schema) along with selected columns.
* Merge branch 'master' into users/languy/save-documentstab-prefs
* Revert "Merge branch 'master' into users/languy/save-documentstab-prefs"
This reverts commit e5a82fd356.
* Disable column selection for Mongo. Remove extra refresh button
* Update test snapshots
* Remove unused function
* Fix table width
* Add background color to "..." button for column selection
* Label to indicate which field is a partition key in Column Selection Pane
* Update unit test snapshot
* Move column selection and sorting behind feature flag enableDocumentsTableColumnSelection
* Cleanup checkbox styles
* start redesign work
* add left padding to all tree nodes
* fiddling with padding
* align tab bar line with first item in resource tree
* final touch ups
* fix a strange password manager autofill prompt
* add keyboard shortcuts
* revert testing change
* nudge messagebar to layout row height
* tidy up
* switch to Allotment to stop ResizeObserver issues with monaco
* refmt and fix lints
* fabric touch-ups
* update snapshots
* remove explicit react-icons dependency
* reinstall packages
* remove background from FluentProvider
* fix alignment of message bar
* undo temporary workaround
* restore refresh button
* fix e2e tests and reformat
* fix compiler error
* remove uiw/react-split
* uncomment selection change on expand
* Fix API endpoint for CassandraProxy query API
* activate Mongo Proxy and Cassandra Proxy in Prod
* Add CP Prod endpoint
* Run npm format and tests
* Revert code
* fix bug that blocked local mongo proxy and cassandra proxy development
* Add prod endpoint
* fix pr check tests
* Remove prod
* Remove prod endpoint
* Remove dev endpoint
* Support data plane RBAC
* Support data plane RBAC
* Add additional changes for Portal RBAC functionality
* Address errors and checks
* Cleanup DP RBAC code
* Run format
* Fix unit tests
* Remove unnecessary code
* Run npm format
* Fix enableAadDataPlane feature flag behavior
* Fix enable AAD dataplane feature flag behavior
* Address feedback comments
* Minor fix
* Add new fixes
* Fix Tables test
* Run npm format
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* Mongo Proxy backend API
* merge main into current
* allow mongo proxy endpoints to be constants
* allow mongo proxy endpoints to be constants
* fix test
* check for allowed mongo proxy endpoint
* check for allowed mongo proxy endpoint
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* Use Promise for allResourceToken fabric message. Cleanup token message handling and add debounce.
* Improve rpc and update initalization flow
* Fix format
* Rev up message names for new version
* Refactor RPC with Fabric
* Build fix
* Fix build
* Fix format
* Update Message types
* Fix format
* Fix comments
* Fabric toolbar style and support to show/hide it (#1720)
* Add Fabric specific Toolbar design
* Add Fabric message to show/hide the Toolbar
* Fix CommandBarUtil formatting
* Update zustand state on setToolbarStatus to trigger a redraw of the command bar with updated visibility
---------
Co-authored-by: Laurent Nguyen <laurent.nguyen@microsoft.com>
* Fix format
---------
Co-authored-by: Vsevolod Kukol <sevoku@microsoft.com>
* Implement copilot for user database
* Fix minor bugs
* fix bugs
* Add user database copilot
* Add placeholder text on copilot
* Add AFEC adn killswitch
* Add new v2 sampledatabase endpoint
* Add telemetry
* fix telemetry bug
* Add query edited telemetry
* add authorization header
* Add back to the staging env for phoenix
* point to stage for phoenix
* Preview commit for test env
* Preview link for staging
* change the staging url
* fix lint, unit tests
* fix lint, unit tests
* fix formatting
* Update contracts for new all resource messages
* Add timestamp to token message signature
* Reconstruct resource tree with databases and collections parsed from token dictionary keys
* Create FabricDatabase and FabricCollection to turn off interaction
* Remove unnecessary FabricCollection derived class
* Handle resource tokens
* Bug fix
* Fix linting issues
* Fix update document
* Fix partitition keys
* Remove special case for FabricDatabase tree node
* Modify readCollections to follow normal flow with Fabric
* Move fabric databases refresh to data access and remove special case in Explorer
* Revert Explorer.tsx changes
* Disable database context menu and delete container context menu
* Remove create database/container button for Fabric
* Fix format
* Renew token logic
* Parallelize read collections calls to speed up
* Disable readDatabaseOffer, because it is too slow for now
* Reduce TOKEN_VALIDITY_MS a bit to make sure renewal happens before expiration. Receving new tokens new refreshes databases
* Add container element for Main app in HTML
* Do not handle "openTab" message anymore
* Fix style of main div
* Simplify conditional load of the fabric .css
* Fix format
* Fix tsc can't find dynamic less import
---------
Co-authored-by: Armando Trejo Oliver <artrejo@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>
* Execute the queries with high/low priority
* improvement made to the Cosmos client and created separate plugin class for setting priority header
* added test cases for the priority execution utility
* removed unwanted code
* fix compile time issues
* fix compile time issues
* fixed lint and stylinkg issues
* fixed lint and styling issues
* skip the lint check for src/Utils/PriorityBasedExecutionUtils.ts
* incorporating review comments, added the default priority level changes
* changed the priority to default instead of low
* removed the unwanted if condition
---------
Co-authored-by: Faiz Chachiya <faizchachiya@microsoft.com>
* Switch to tools federation endpoints for query copilot
* Remove extra / in url
* Initial allocateContainer implementation
* Additional feedback modal changes
* updated tests
* PhoenixClient reverted to previous endpoint
* Changes based on PR comments
* Update based on tests
* updated endpoint
* Back to previous implementation and test improve
* removing notebook
---------
Co-authored-by: Victor Meng <vimeng@microsoft.com>
Co-authored-by: Predrag Klepic <v-prklepic@microsoft.com>