* Support sovereign/PPE endpoint zones for connection string login
Move the hardcoded account endpoint suffixes out of Constants and into ConfigContext so connection string login works in sovereign clouds and PPE, and widen ConnectionStringParser to accept every configured zone.
Surface Portal Backend rejections in the hosted connect form: read the body off the Response that fetchEncryptedToken throws, and offer a firewall help link on a 403.
Add an E2E test covering SQL connection string login against an account with public network access disabled.
* Harden connection string DNS zone matching
Detect PPE accounts from Mongo and Cassandra connection strings, build their document endpoint from the matched zone, match the PPE suffix on a label boundary, and escape every regex metacharacter in config-supplied zones. Drop the sqlx.cosmosdb.azure.com zone, which is not a real SQL zone.
* Mock web-vitals globally in test setup
ScenarioMonitor subscribes to web-vitals when it is imported, so the onTTFB timer can throw during any suite that outlives it. Mocking it in setupTests.ts keeps that out of individual test files.
* Improve connection string login feedback
* Preserve connection restriction check order
* Flatten connection login error handling
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* Add client-side connection-string login for SQL, Tables, and Gremlin
SQL, Tables, and Gremlin now sign data-plane requests client-side with the account key and skip the Portal Backend proxy (generatetoken/accessinputmetadata/authorizationtokens). Adds client-side host/account validation mirroring the backend ValidateHostAndAccount, plus a real CosmosClient connectivity probe that gates opening the Data Explorer. Mongo and Cassandra continue to use the encrypted-token proxy path.
* Localize connection-string login validation and connectivity messages
Move the hardcoded SQL/Tables/Gremlin connection-string login strings into en/Resources.json and reference them via the type-safe Keys object (t(Keys.connectExplorer.errors.*)).
* Drop unused mongodb:// branch from endpoint host extraction
* Remove Data Explorer references from connectivity probe comment
* Reword proxy reference in ConnectionString comment
* Fix trailing whitespace in connectivity probe comment
* Send connection string in Authorization header for Mongo/Cassandra token request
* Add E2E connection string login tests for SQL, Gremlin, and Tables
* Add wrong account key test for SQL connection string login
* Add access token to authorization header for encrypted token flow
* Wire connection string login E2E tests to dedicated connstring accounts in CI
Add TestAuthType and fold connection-string account resolution into getAccountName; seed and target the dedicated *-connstring accounts in CI while falling back to the standard per-API account locally.
* Handle connection string account types in getTestExplorerUrl switch
* Move globalThis.crypto polyfill to fx.ts so it runs for all specs
* Remove connection string validation for connection string login
- Remove validateDirectConnectionStringLogin and its helpers (extractEndpointHostFromConnectionString, extractHostToken, directLoginAllowlistedEndpointZones)
- Remove old extractMasterKeyfromConnectionString (Gremlin-specific), rename extractAccountKeyFromConnectionString to extractMasterKeyfromConnectionString
- Change validateDirectConnectionStringConnectivity to throw on error instead of returning string|undefined
- Simplify direct-login flow: submit connection string to CosmosClient as-is, no format or endpoint validation
- Keep connectivity pre-check (throws if CosmosClient cannot reach account)
- Remove 6 unused localization keys for validation errors
- Update tests to match new behavior
* Send authorization header for connection string login backend calls
* Simplify connection string login error handling
- Lift the login error state into HostedExplorer so failures from the connect form and from a postMessage login share one source of truth
- Show the message returned by the service instead of falling back to a generic unreachable message
- Move isAuthorizationError into AuthorizationUtils alongside the other shared auth helpers
- Widen getErrorMessage to accept unknown so catch variables no longer need a cast
- Show the connect screen error tooltip beside the icon and widen it so long service messages fit
- Consolidate the repeated account lookup and login steps in the SQL connection string spec
* Consolidate hosted login account metadata into a single state
Encrypted-token and direct connection-string logins now write to one accountMetadata state instead of two, which also fixes the connect form staying mounted after a successful SQL/Tables/Gremlin login. Deletes the now-unused useTokenMetadata hook and moves fetchAccessData to Platform/Hosted/Helpers/PortalAccessData.ts.
* Accept connection string logins without validating them
SQL, Tables, and Gremlin logins probed the account before signing in, so a user whose key was wrong or whose account was unreachable was blocked at the connect form. The probe is now gone: the connection string is accepted as-is and any bad key surfaces on the data-plane requests made from inside the explorer.
Removes validateDirectConnectionStringConnectivity, isAuthorizationError, and the connectExplorer.errors.connectFailed string along with their tests.
Also takes documentEndpoint straight from the AccountEndpoint in SQL and Gremlin connection strings instead of rebuilding it from the account name and a hardcoded DNS zone. Tables still derives it, since a Tables connection string only carries the table endpoint.
* Keep the connect form login error local to ConnectExplorer
The error state was lifted into HostedExplorer so a postMessage login could report failures, which meant the connect screen needed a second copy of the error markup for the AAD view. That copy fell outside the connectExplorerContent selector the tooltip styles are scoped to, so it rendered the message as unstyled inline text.
Move the state back into ConnectExplorer and let connectWithConnectionString log the failure as it did before. A failed postMessage login still leaves the user on the connect screen either way.
* Move Portal Backend calls into a PortalBackendClient helper
fetchEncryptedToken and isAccountRestrictedForConnectionStringLogin lived in ConnectExplorer.tsx, so HostedExplorer imported a network call from a React component. Merge them with fetchAccessData into src/Platform/Hosted/Helpers/PortalBackendClient.ts along with the PortalBackendError type, leaving ConnectExplorer as UI only.
* Leave the encrypted token login path as it is on master
The direct connection string login work does not change how Mongo and Cassandra logins fail, so drop the 401/403 handling this branch added around fetchEncryptedToken along with the now unused isAuthorizationError helper.
* Move the Portal Backend connection string calls out of Helpers
Helpers holds pure string utilities, and every other *Client in the repo sits at its domain root, so name the module for the endpoints it wraps and place it beside HostedUtils. Also drop the branch's ConnectScreen.less tooltip restyle, which was unrelated to connection string login.
* Move the Portal Backend client to Common
The module is a plain service client with no dependency on the hosted platform, and CosmosClient and MetricEvents already hand roll their own Portal Backend calls, so Common is where a shared client belongs.
* Add an E2E test that SQL connection string login skips the Portal Backend
Nothing asserted the defining behavior of the direct login path, so reverting the short-circuit in connectWithConnectionString would have gone unnoticed. The listener filters on the connectionstring route so it covers both generatetoken and accessinputmetadata, and leaves the account restriction check alone since that still runs for every API.
* Refer to the Table API as Table in comments
The comments added by this branch alternated between Table and Tables when naming the API alongside SQL and Gremlin. TablesDB is left alone since that is the literal database name, as is the plural noun where it refers to actual tables.
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* Add Cosmos DB Shell (NoSQL) support to Cloud Shell
Adds Cosmos DB (NoSQL) support to the Cloud Shell experience and wires up authentication for RBAC / local-auth-disabled accounts:
- Enable the Open Cosmos DB Shell button behind the enableCloudShell feature flag.
- Bootstrap .NET SDK 10 in Cloud Shell before installing the CosmosDBShell tool.
- Force gateway connection mode and add --verbose to surface connection errors.
- Select Entra ID vs account-key auth via isCloudShellEntraAuthEnabled (covers dataplane RBAC and disableLocalAuth accounts).
- Acquire a data-plane-scoped Entra token on demand when no cached aadToken exists, and omit --connect-tenant so a missing token falls through to DefaultAzureCredential (Cloud Shell az session) instead of interactive/device-code auth.
* Fix popup_window_error in CosmosDB Cloud Shell Entra auth
Acquiring an Entra token on demand via acquireMsalTokenForAccount triggered a browser loginPopup (even in silent mode when no MSAL account was cached), which fails with popup_window_error inside the hosted Cloud Shell context. getKey now returns the cached userContext.aadToken when present, or an empty string otherwise. With no token exported, the CosmosDBShell tool falls through to DefaultAzureCredential, which uses the Cloud Shell's signed-in az session.
* Force --connect-azure-cli whenever no credential env var is exported
In Azure Cloud Shell, DefaultAzureCredential tries ManagedIdentityCredential first, which cannot mint a token for the *.documents.azure.com audience (AudienceNotSupported). Force AzureCliCredential via --connect-azure-cli whenever no key/token env var is exported, covering both the Entra-no-token and key-auth-empty-key cases. Also auto-update the CosmosDBShell tool so cached installs pick up the new flag.
* Silently mint a Cosmos data-plane token for the Cloud Shell Entra path
A disableLocalAuth Cosmos account whose Data Explorer session is still in key mode has no cached userContext.aadToken, and the ephemeral Cloud Shell can obtain a Cosmos token from neither its managed identity (AudienceNotSupported for *.documents.azure.com) nor its az session (not logged in). Mint a Cosmos-scoped token in the browser and export it via COSMOSDB_SHELL_TOKEN. The acquisition is guarded on an existing cached MSAL account so it can never trigger an interactive popup, and any failure returns an empty string so the tool falls back to --connect-azure-cli.
* Only accept Y/N at the Cloud Shell consent prompt
askConfirmation now ignores any key that is not Y or N instead of treating every non-Y key as a decline, so an accidental keypress no longer aborts the Cloud Shell consent flow. Also add diagnostic warnings on the Cloud Shell token path so the browser console reveals whether the silent Cosmos token mint was skipped (no cached MSAL account) or returned empty.
* Use device-code auth when Cloud Shell has no token
* Pass the Data Explorer credential to the Cosmos DB shell instead of signing in interactively
Azure Cloud Shell cannot authenticate to Cosmos DB on its own: its managed identity
is rejected with AudienceNotSupported for the *.documents.azure.com audience, its az
session is not signed in, and neither the interactive browser nor the device-code flow
is usable from the embedded terminal.
Resolve the credential in Data Explorer and hand it to the shell out-of-band:
- getCosmosDBShellCredential() returns an Entra ID data-plane token (cached aadToken,
or one minted silently only when an MSAL account already exists so it can never
trigger a popup), falling back to the account master key unless local auth is
disabled. It reports which kind it resolved so the correct env var is exported.
- CosmosDBShellHandler exports COSMOSDB_SHELL_TOKEN or COSMOSDB_SHELL_ACCOUNT_KEY and
drops every credential flag, so the tool always lands on a terminal, non-interactive
step of its credential chain.
- When nothing can be resolved, print actionable guidance instead of launching the
tool with no credential.
* Fix TS7011 in ShellTypeFactory tests by typing the mocked getAllAccounts
The empty array literal in the getMsalInstance mock had no contextual type, so
tsc inferred an implicit any[] return under noImplicitAny. Route every mock
through a typed mockMsalAccounts helper.
* Reuse DE's cached credential for Cosmos DB Shell; add read-only key fallback
* Deliver Cosmos DB Shell key as a full connection string; harden key resolution
* Surface the specific reason a Cosmos DB Shell credential could not be resolved
* Deliver Cosmos DB Shell credential inline (export+connect on one line), mirroring Mongo handler
* Log which Cosmos DB Shell credential kind was resolved for debugging
* Increase ARM timeout for Cloud Shell provisioning calls to avoid spurious abort errors
* Gate Cosmos DB Shell button behind enableCosmosDBShell feature flag
* Fix TS2741: add missing enableCosmosDBShell to Features test fixture
* Initial dev for container copy
* remove padding from label
* Added Copy Job prerequisites screen
* Added hooks to evaluate reader role access
* added copyjob pre-requsite screen along with it's validations
* Added monitor copy job list screen
* added copy job list refresh and reset functionality
* remove arm token dependency
* fetch account details from account id instead of context
* Fix lint & typescript checks
* show copyjob screen from portal navigation
* adding copy job details screen
* remove duplicate code & show sql accounts only
* ui fixes for list job page
* pending icon
* copy job details screen ui
* reset .vscode/settings.json
* Fixed existing UTs
* disabling action buttons until it's in progress
* fixed formatting
* Adding loader on submit button and show job creation errors in the panel itself
* updating disabling action menu item logic
* added custom pager
* fix lint and ts errors
* updating file names and removing comments
* remove comments
* modularize the arom common code
* Adding content and removing tooltip
* updating job details screen
* updating online copy enabled screen
* Adding below changes
- Don't show permission screen for same account in offline mode
- Don't show identity permissions for same account in online mode
- Show error message if selected containers are identical
- Update abort signal messages
* added feedback code from explorer
* Add tooltips and long polling
- Added tooltips to permission sections
- Implemented long polling for PITR and online copy enabled sections
- Long polling automatically stops after 15 minutes
- After polling ends, a refresh button will be displayed
---------
Co-authored-by: nishthaAhujaa <nishtha17354@iiittd.ac.in>
* add two new fabric sample datasets.
* Update Fabric Home with two sample datasets. One regular and one for vector search.
* Update specs for sample data container
* Add telemetry instead of console log
* Add sampleDataFile to telemetry when importing sample data
---------
Co-authored-by: Mark Brown <mjbrown@microsoft.com>
Co-authored-by: Laurent Nguyen <languye@microsoft.com>
* 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>
* Default to new backend endpoint if the endpoint in current context does not match existing set in constants.
* Remove some env references.
* Added comments with reasoning for selecting new backend by default.
* Update comment.
* Remove all references to useNewPortalBackendEndpoint now that old backend is disabled in all environments.
* Resolve lint issues.
* Removed references to old backend from Cassandra and Mongo Apis
* fix unit tests
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* Added throughput bucketing
* fix bugs
* enable/disable per autoscale selection
* Added logic
* change query bucket to group
* Updated to a tab
* Fixed unit tests
* Edit package-lock
* Compile build fix
* fix unit tests
* moving the throughput bucket flag to the client generation level
* 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)
* 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
* Update message de->fabric to v3
* Reinstate get authorization token path which doesn't get called every 5 minutes anymore
* Remove obsolete comment
* Add missing types
* Fix format
* Fix build issue
* Revert "Reinstate get authorization token path which doesn't get called every 5 minutes anymore"
This reverts commit a3f3511043.
* Keep 3 old fabric message types enums for compatibility with the portal
* Re-add warning comment about not changing existing message type enums
---------
Co-authored-by: Laurent Nguyen <languye@microsoft.com>
* Document page now loads list of docs and displays selection
* DocumentsTabV2 now properly loads documents, show partition keys and display first doc with proper selection behavior. Move it to its own folder.
* Extract table in a separate component
* Resizable columns on the document table
* Fix selection behavior and some layout issue
* Adding table scrolling
* Fix NaN height issue
* Fix NaN height issue
* Fix column sizing + cell selection
* Improvement in width size. Add Load More
* Add react editor and pass column headers
* Dynamic columns for pk
* Fix initial columns size
* Add nav buttons
* Editing content updates buttons state
* Discard and save buttons working
* Fix save new document. Implement delete.
* Remove debug display
* Fix unexpand filter and reformat
* Fix compil issues
* Add refresh button
* Update column header placeholder style
* Implement delete multiple docs
* Fix multi delete
* Fix show/hide delete button
* Fix selection behavior
* Fix UX with buttons behavior and editor display
* Fix UX issue with not discarding edit changes
* Add some TODO's
* Remove debugging info and reformat
* Add mongo support
* Fix build issues
* Fix table header. Remove debug statement
* Restore broken nosql
* Fix mongo save new document/update document
* Fix bugs with clicking on newly created documents
* Fix comment
* Fix double fetch issue when clicking on an item
* Auto-select last document when saving new document
* Fix resourceTokenPartitionKey code
* Fix format
* Fix isQueryCopilotSampleContainer flag
* Fix unused code
* Call tab when updating error flag
* Destructure props to make useEffect dependencies work
* Fix loadStartKey
* minor update
* Fix format
* Add title to table
* Fix table coming off its container with unwanted horizontal scrollbar
* Increase table width. Fix eslint issue.
* Move refresh documents button from table back to DocumentsTabV2
* Fix load more text centering
* Don't show Load More if nothing to show
* Fix columns min width
* Add keyboard shortcuts
* Add keyboard handlers to load more and refresh button
* Add keyboard support to select table row
* Disable eslint issue from fluent library
* Connect cancel query button
* Add Fluent V9 theme for Fabric (#1821)
* Clean up dependencies and memoize internal functions and object. Move methods and object that don't depend on state outside of component.
* Fix filter disappearing when clicking Apply Filter
* Fix typo and format
* Implement bulk delete for nosql
* Replace filter ui components with fluent ui
* Remove jquery calls
* Migrate unit test to DocumentsTabV2
* Remove DocumentsTab and MongoDocumentsTab. Fix build issues.
* Properly handle activetab
* Remove comments and unused code
* Port keyboard shortcuts from commitId 1f4d0f2
* Port item editor shortcuts to improved Items tab branch (#1831)
* set filter focus on Ctrl+Shift+F
* implement filter enter/esc keybinds
* remove debugging
* Collapse filter when query is executed
* Fix monaco editor not happy when parent is null
* Fix how bulk delete operation gets called when no partition key
* Fix update id list after delete
* Fix deleteDocuments
* Fix build issue
* Fix bug in mongo delete
* Fix mongo delete flow
* Proper error handling in mongo
* Handle >100 bulk delete operations
* Add unit tests for DocumentsTableComponent
* More improvements to table unit tests
* Fix import. Disable selection test for now
* Add more DocumentsTab unit react tests
* Remove selection test
* Add more unit tests. Add lcov coverage report to display in vscode
* Move unit tests to correct file
* Add unit test on command bar
* Fix build issues
* Add more unit tests
* Remove unneeded call
* Add DocumentsTab for Mongo API
* Fix linting errors
* Update fluent ui v9 dependency. Color columns separation. Fix refresh button placement to not interfere with header cell width.
* Revert @fluentui/react-components to a safe version that compiles
* Add confirmation window when documents have been deleted
* Fix mongo unit tests
* Fix format
* Update src/Common/dataAccess/deleteDocument.ts
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* Update src/Common/dataAccess/deleteDocument.ts
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* Update src/Common/dataAccess/deleteDocument.ts
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* Fix bug with markup. Simplify code.
* Protect against creating React editor without parent node
* Replace rendering tests with snapshot match
* Add test screenshot to troubleshoot e2e test
* Revert "Add test screenshot to troubleshoot e2e test"
This reverts commit 1b8138ade0.
* Attempt 2 at troubleshooting failing test
* Revert "Attempt 2 at troubleshooting failing test"
This reverts commit 3e51a593bf.
* Delete button now shows if one or more rows are selected
---------
Co-authored-by: Vsevolod Kukol <sevoku@microsoft.com>
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* LMS Mongo Proxy support
* change stirng to url for get mongo shell url
* fix tests
* enable feature flag
* fixed unit test
* add mongoshell to path
* remove LMS feature flag
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* LMS Mongo Proxy support
* change stirng to url for get mongo shell url
* fix tests
* enable feature flag
* fixed unit test
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* Mostly working - some cosmetic changes remaining.
* Cosmetic changes and other tidy ups.
* More clean up.
* Move msal back to dependencies. Fix typo.
* msal should be prod dependency
* Revert msal package update as it is causing issues with unit test
execution.
* Add tracing for unhandled exceptions when acquiring tokens.
* 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
* Call Portal Backend to check for accounts that are restricted from
connection string login.
* Remove debug logging and revert to actual backend endpoint.
* Use React hooks for displaying error message.
* Move accountrestrictions route under guest.
* Check restrictions before resource token check.
* Revert test changes.
* 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 redirect for /aad to /?feature.enableAadDataPlane=true
* Add feature to hide the connection string login link. Enable this new
feature for the aad redirect.
* For connection-string based authentication, the request would be made with low priority request header and for AAD based authentication, users can select the priority-request option from the settings panel
* removed unused imports
* prettier checks
---------
Co-authored-by: Faiz Chachiya <faizchachiya@microsoft.com>