Commit Graph

1488 Commits

Author SHA1 Message Date
jawelton74 f8cfb33618 Remove Phoenix and notebooks (Phase 5) (#2561)
* Remove Phoenix and notebook core

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4e4f2ebd-f2f8-4c2b-b63d-40e1a2b1c662

* Fix merge issue.

---------

Copilot-Session: 4e4f2ebd-f2f8-4c2b-b63d-40e1a2b1c662
2026-08-26 13:42:14 -07:00
asier-isayas 4d9921180d Add client-side connection-string login for SQL, Tables, and Gremlin (#2559)
* 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>
2026-08-20 07:59:52 -07:00
Mike Krüger 0b38a6be4d Fix casing of Cosmos DB Shell command bar button label (#2552)
* Fix casing of Cosmos DB Shell command bar button label

* Capitalize Shell in all terminal button labels for consistency
2026-08-17 11:13:21 +02:00
Mike Krüger 12ad23a061 Sync CloudShell backend PTY size on terminal resize (#2553)
* Sync CloudShell backend PTY size on terminal resize

Resizing the browser window only re-fit the local xterm; the remote shell kept its original column count, so typed input wrapped/broke at the wrong column. Add resizeTerminal() client call to the CloudShell terminals/{id}/size endpoint and register a debounced terminal.onResize handler that pushes new dimensions to the backend.

* Add unit tests for registerTerminalResizeHandler (debounce, no-op skip, error handling)

* Fix resizeTerminal success test: stub a successful fetch response
2026-08-17 10:15:33 +02:00
vchske b728028c95 Disabled quantize byte size when the quantize type does not support it, also made disabled fields more obvious (#2556) 2026-08-11 12:21:11 -07:00
vchske 37ef0d2dab Update vector embed policy remove preview and make spherical default (#2555) 2026-08-07 12:56:14 -07:00
Mike Krüger 43fe8a002b feat: Add Cosmos DB Shell (NoSQL) support to Cloud Shell (#2549)
* 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
2026-08-04 10:04:27 +02:00
asier-isayas acd2e3d839 Enable throughput switch for GSI source containers (#2535)
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
2026-07-20 09:32:56 -07:00
sakshigupta12feb 4a881651d5 added a pop up in click of mongo shell if its entra only flow (#2531)
* added a pop up in click of mongo shell if its entra only flow

* formatting updated

---------

Co-authored-by: Sakshi Gupta <sakshig@microsoft.com>
2026-07-13 13:53:16 +05:30
Nishtha Ahuja 8e534c6a83 fixed docdb links (#2533)
* fixed docdb links
Co-authored-by: Nishtha Ahuja <nishthaahuja@microsoft.com>
2026-07-08 01:09:23 +05:30
jawelton74 b7caca1cd6 Remove Phoenix & Notebooks - Phase 4: Remove GitHub integration (#2528)
Removes the GitHub notebook-repo integration that only existed to pin/browse notebook repositories. Deletes src/GitHub/, the GitHub controls/panes, GitHubUtils, JunoUtils, and the connectToGitHub webpack entry. Decouples NotebookManager, useNotebook, the resource tree, and Explorer from GitHub wiring. Trims JunoClient's GitHub-only methods while keeping the Schema and gallery methods. Removes GitHub config fields from ConfigContext and strips the dead github:// branches from NotebookUtil.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-29 13:21:30 -07:00
asier-isayas 842051ad5d Remove exposed connection string in test (#2523)
* Address exposed connection string in Data Explorer code

* Address exposed connection string in Data Explorer code

---------

Co-authored-by: Asier Isayas <aisayas@microsoft.com>
2026-06-23 10:15:15 -07:00
jawelton74 8e90672ff5 Remove Phoenix & Notebooks - Phase 2: Remove in-app notebook authoring & rendering (#2515)
Delete the nteract rendering engine, notebook tabs, panes, the read-only viewer, Schema Analyzer (pulled forward from Phase 3), and all UI entry points that open notebooks. Decouple surviving files (Explorer, NotebookManager, useNotebook, ResourceTreeAdapter) with minimal edits, keeping GitHub/Juno/Phoenix wiring for later phases.

Removed 22 zero-importer notebook-only npm deps; re-added phantom transitively-hoisted deps still used by surviving code: xterm, xterm-addon-fit (CloudShell), d3-collection (Graph), @nteract/myths (@nteract/core).

Verified: compile, compile:strict, lint (0 errors), format:check, test (1945 passing), build:ci all green.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-22 09:36:47 -07:00
jawelton74 0e175c8a9c Fix query tab view: respect default setting and add toggle behavior (#2516)
* Fix query tab view: respect default setting and add toggle behavior

- Use getDefaultQueryResultsView() when splitterDirection prop is not
  provided, so the user's configured default from Settings is respected
- Add onCommandClick to the View split button that toggles between
  Vertical and Horizontal layout when the main button is clicked

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add Playwright E2E tests for query tab View toggle and dropdown

- Add View to CommandBarButton enum in test fixtures
- Add test: clicking main View button toggles between vertical/horizontal
- Add test: selecting options from View dropdown changes layout

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add Playwright E2E tests for query tab View toggle and dropdown

- Add View to CommandBarButton enum in test fixtures
- Add test: clicking main View button toggles between vertical/horizontal
- Add test: selecting options from View dropdown changes layout

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix issue that was failing tests when using account keys for access.

* Remove commented code.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 08:42:27 -07:00
jawelton74 d19c7e0cb7 Remove Phoenix & Notebooks — Phase 1: Decouple database shells to CloudShell (#2513)
* Add implementation plan for removing Phoenix and notebooks

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Phase 1: Decouple database shells from Phoenix to CloudShell-only

Migrate all shell terminals to the CloudShell path and remove the legacy Phoenix notebook-server terminal code so shells no longer depend on notebook provisioning.

- TerminalTab now always uses CloudShellTerminalComponentAdapter; removed the notebook-server adapter branch, getNotebookServerInfo, and the dead VCoreMongo firewall check
- Migrate Postgres and VCore Mongo quickstart tabs to CloudShellTerminalComponent (drop allocateContainer/useNotebook dependencies)
- Refactor useTerminal to send input via the CloudShell WebSocket instead of postRobot/iframe; register the socket from CloudShellTerminalComponent
- Simplify Explorer.openNotebookTerminal to always open a CloudShell terminal
- Delete NotebookTerminalComponent(+test/less/snapshot), NotebookTerminalComponentAdapter, and the src/Terminal/ entry point
- Remove the terminal.html webpack entry/HTML plugin and src/Terminal from tsconfig.strict.json

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-15 06:29:14 -07:00
vchske 4f9a987d28 Removing temporary debug logging (#2509)
* Adding further console logging but also fixed lines with JSON.stringify(error)

* Added retry mechanism for GETs for armRequest workflow

* Moved stringifyError into its own file as it was causing strict compile issues in ErrorHandlingUtils

* Removing temporary debug logging

* Undoing eslint change as well
2026-06-09 11:14:17 -07:00
vchske 4ad840c0c1 Fixing a github alert (#2506)
* Fixing a github alert, plus converting a couple more JSON.stringify(error) instances to use stringifyError

* Using manual concatenation
2026-06-03 10:53:19 -07:00
vchske 8ab7d354e6 Users/chskelt/debug logging2 (#2503)
* Adding further console logging but also fixed lines with JSON.stringify(error)

* Added retry mechanism for GETs for armRequest workflow

* Moved stringifyError into its own file as it was causing strict compile issues in ErrorHandlingUtils
2026-05-28 10:44:51 -07:00
BChoudhury-ms 481e5cde3e feat: Add "Duplicate Tab" support for Items, Query, and Settings tabs (#2498)
* feat: Add "Duplicate Tab" support for Items, Query, and Settings tabs

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* added UT

* Fix QueryTab useTabs import path for duplicate tab test mock

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-05-27 15:54:45 +05:30
asier-isayas 41ae13ea3a Fix stored XSS via Cassandra column names in DataTable headers (#2499)
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
2026-05-26 13:44:10 -07:00
asier-isayas 5ee2ca37d5 Security hardening for Try Cosmos DB connection string flow (#2500)
* Security hardening for Try Cosmos DB connection string flow

- Validate connection string format via parseConnectionString before accepting postMessage
- Restrict localhost:12900 in allowedHostedExplorerEndpoints to development builds only
- Export App component for testability with null-check on render target
- Add 12 unit tests covering origin validation, format validation, and message handling

* Fix HostedExplorer test mock types for compile

---------

Co-authored-by: Asier Isayas <aisayas@microsoft.com>
2026-05-26 10:46:33 -07:00
jawelton74 7295d63aaf Remove gallery.html and all associated gallery functionality (#2474)
* Remove gallery.html and all associated gallery functionality

Remove the standalone gallery.html entry point, the in-app gallery tab,
the publish-to-gallery pane, and all gallery-related components, utilities,
and API methods that are no longer needed.

Deleted:
- src/GalleryViewer/ (standalone entry point)
- src/Explorer/Controls/NotebookGallery/ (gallery components)
- src/Explorer/Controls/Header/GalleryHeaderComponent.tsx
- src/Explorer/Tabs/GalleryTab.tsx
- src/Explorer/Panes/PublishNotebookPane/ (publish pane)
- src/Utils/GalleryUtils.ts and tests
- images/GalleryIcon.svg

Edited:
- webpack.config.js (removed entry point and HTML plugin)
- Explorer.tsx (removed openGallery, publishNotebook methods)
- ResourceTreeAdapter.tsx (removed gallery tree node and publish menu)
- NotebookV2Tab.ts (removed publish-to-gallery button)
- NotebookManager.tsx (removed openPublishNotebookPane)
- NotebookViewerComponent.tsx (stripped gallery actions)
- JunoClient.ts (removed gallery interfaces and API methods)
- TelemetryConstants.ts, Constants.ts, ViewModels.ts,
  extractFeatures.ts, useKnockoutExplorer.ts (removed gallery constants)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update package-lock

* Revert changes to Telemetry Constants

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-22 09:30:34 -07:00
sunghyunkang1111 58e13e6a80 Fix the empty string referrer for firefox 150+ (#2486) 2026-05-20 14:12:29 -05:00
asier-isayas c0c400a240 Enable connection string login deeplink from Try Cosmos (#2490)
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
2026-05-20 10:15:39 -07:00
Laurent Nguyen 7ad7aac4f2 feat: Add duration tracking for query execution success and failure in nextPage function (#2487) 2026-05-20 16:40:58 +02:00
vchske 05f834ed57 Users/chskelt/pkupdate (#2479)
* Initial change for online partition key change

* Refactoring container copy strings so they can be locallized

* Missed a file

* Fixing some issues found by lint

* Fixing errors

* Fixing unit tests

* Fixing error caused by merging from master

* Fixing minor error from merge

* Fixing merge error

* Addressing comments

* Addressing some PR comments

* Minor issues

* Refixing a formatting issue

* Fixed localization error
2026-05-18 11:23:49 -07:00
olprod c71f5d5a00 Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2549709 (#2478)
* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2537086

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2538719

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2542662

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2543180

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2545050

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2546636

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2549709

---------

Co-authored-by: sunghyunkang1111 <114709653+sunghyunkang1111@users.noreply.github.com>
2026-05-15 11:28:18 -05:00
jawelton74 f3ceca4ba5 Remove preview tag from GSI label. (#2484) 2026-05-15 06:14:21 -07:00
BChoudhury-ms d374458e1b feat: Redesign container-copy flow to select destination account and enable cross-account container creation (#2436)
* feat: Redesign container-copy flow to select destination account and enable cross-account container creation

* upgrade RBAC permissions from read only to read-write

* fix copyjob playwright tests

* swap source-destination content

* fix formating

* use targetAccountOverride for capability checks in AddCollectionPanel

* feat: localize ContainerCopy hardcoded strings using i18next and refactor readDatabasesWithARM

* removed container copy messages json file
2026-05-11 17:24:51 +05:30
olprod 908e4d64d1 Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2531973 (#2470)
* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2521856

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2523489

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2525148

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2526686

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2529254

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2530822

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2531973

---------

Co-authored-by: sunghyunkang1111 <114709653+sunghyunkang1111@users.noreply.github.com>
2026-05-05 12:31:01 -05:00
olprod 25008bb4e3 Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2521760 (#2451)
* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2492509

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2494365

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2496121

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2509221

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2510680

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2511934

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2514793

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2516553

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2517913

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2518008

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2519279

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2520710

---------

Co-authored-by: sunghyunkang1111 <114709653+sunghyunkang1111@users.noreply.github.com>
2026-05-05 12:30:45 -05:00
jawelton74 a36467f4ea Remove Phoenix function GetDbAccountAllowedStatus (#2472)
* Scale the number of test accounts used for SQL tests to one per shard.

* Set PLAYWRIGHT_SHARD_INDEX environment variable in CI workflow.

* Add log statement for the shared index and selected account.

* Remove console log.

* Fix order of accounts so that shard index maps to same account index.

* Try to fix the SQL account scope in ci.yml

* Get tokens for all accounts and use the shard index to pick which one.

* Set tokens without loop.

* Handcode the token use in tests.

* Fix database creation.

* Add debug for rbac token issues.

* Common function for retrieving NoSQL token.

* Disable eslint rule for noconsole temporarily.

* Move getNoSqlRbacToken to separate file.

* Fix ref to new function.

* mock Resource Graph API — fires on auto-subscription selection to populate account dropdown

* Code tidy-up.

* Fix build errors.

* Remove deprecated getDbAccountAllowedStatus from PhoenixClient

The getDbAccountAllowedStatus endpoint is no longer available. All callers
now assume a Forbidden result, meaning isPhoenixNotebooks and
isPhoenixFeatures are always false.

- Remove getDbAccountAllowedStatus() from PhoenixClient
- Simplify getPhoenixStatus() in useNotebook to set both flags to false
- Remove IDbAccountAllow interface from DataModels
- Remove PhoenixDBAccountAllowed and CheckPhoenixStatus telemetry actions
- Clean up unused imports

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Revert removal of enum values, to be safe.

---------

Co-authored-by: Bikram Choudhury <bchoudhury@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-04 07:24:04 -07:00
sunghyunkang1111 4e8410cd66 Added quantizerType support in vector embedding (#2471)
* Added quantizerType support in vector embedding

* Fix build issues

* Address PR Comments

* address pr comments
2026-05-01 12:38:53 -05:00
jawelton74 5bf0970b5e Improve delete confirmation dialogs with copyable resource ID and warning (#2464)
* feat: add copyable ID to delete confirmation dialogs

When deleting databases or containers, the confirmation dialog now displays
the resource ID in a read-only text field with a copy button, allowing users
to copy-paste the ID into the confirmation input instead of typing it manually.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fixed formatting.

* revert non-en locale changes; add localization instruction

Revert changes to non-English locale files — translations are managed
by a separate localization process. Add a note to copilot instructions
clarifying that only en/Resources.json should be modified.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: capitalize 'Id' in copyable resource ID labels

Changed 'id:' to 'Id:' in the copyable ID labels for delete confirmation
dialogs (both database and collection).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: capitalize collection name in copyable ID label

Use getCollectionName() directly (returns 'Container', 'Collection', etc.)
instead of the lowercased collectionName variable for the copyable ID label.
The database panel already used getDatabaseName() which returns capitalized.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: add warning message to delete container confirmation dialog

Added the same warning banner that exists in the delete database dialog
to the delete container dialog, informing users that the action cannot
be undone and will permanently delete the resource and its children.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-28 07:48:33 -07:00
jawelton74 277022969c Remove shared throughput option from database and container creation dialogs (#2463)
* Copilot assisted changes to remove shared throughput options in add database/container.

* Add E2E tests verifying shared throughput option is removed from creation dialogs

Add three new E2E tests to sharedThroughput.spec.ts:
- New Database panel should not show shared throughput checkbox
- New Container panel should not show shared throughput checkbox when creating new database
- Dedicated throughput checkbox still appears for existing shared database (regression guard)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-24 07:54:27 -07:00
asier-isayas 93ef9e2cc2 Default throughput bucket (#2460)
* default throughput bucket

* nit

* show inactive buckets

* add e2e tests for default throughput bucket

* for test sql containers, use throughput of 4000

* remove container throughput on creation

* added offer throughput

* add default throughput bucket info link

* add text localization

* upgrade playwright

* Fix flaky permissionsScreen test by using unrouteAll with ignoreErrors

* fix: move container creation to beforeAll to reduce CI shard timeout

* remove comment

---------

Co-authored-by: Asier Isayas <aisayas@microsoft.com>
2026-04-17 09:10:52 -07:00
sindhuba 246c90ae23 Fix MPAC redirect URL (#2456)
* Fix MPAC redirect URL

* Address comment
2026-04-09 10:53:43 -07:00
sindhuba 339ba4f295 Upgrade MSAL library version (#2454)
* Reapply "MSAL browser migration changes"

This reverts commit 60a65efb7b.

* Fix redirect URI for localhost

* Fix URI for logout and other minor fix

* Remove unnecessary files

* Fix tests

* Fix tests

* Run npm format

* Address comments

* Address comment
2026-04-08 10:40:06 -07:00
sunghyunkang1111 fb250259ed Perf/copilot cleanup and optimizations (#2447)
* perf: remove deprecated copilot feature, add ARM timeouts, fix race conditions

- Remove entire QueryCopilot feature (~50 files deleted, ~30 files cleaned)
- Remove CopilotConfigured and SampleDataLoaded metric phases
- Fix DatabaseTreeRendered 76% stuck rate (remove one-shot guard in useMetricPhases)
- Add 8s default timeout to ARM requests (AbortController-based)
- Fix MSAL token forceRefresh (true -> false, use cache)
- Add concurrency limit of 5 to collection loading in Explorer
- Remove orphaned SampleDataClient.ts and queryCopilotSampleData.json
- Clean up dead sampleDataConnectionInfo field from UserContext

* Clean up copilot and optimize initialization

* Clean up copilot and optimize initialization
2026-04-08 11:25:33 -05:00
jawelton74 b483118b99 Copilot instructions and build/test skills (#2444)
* Add copilot instructions and skills for build and tests.

* Add dev-server skill.

* Auth Util changes to fix Entra login while running from copilot.

* Fix lint issue.
2026-04-06 15:51:54 -07:00
sakshigupta12feb 8e879a1d7b Removed preview label from DDM (#2442)
* Removed preview label from DDM

* Fix vector policy Playwright tests to handle shared container state and Node 19+ crypto

* fixed lint error

* updated lint

---------

Co-authored-by: Sakshi Gupta <sakshig@microsoft.com>
2026-04-06 21:39:20 +05:30
sunghyunkang1111 2ba58cd1a5 Frontend performance metrics (#2439)
* Added enriched metrics

* Add more traces for observability
2026-04-01 09:42:32 -05:00
asier-isayas eac5842176 Add float16 data type and make vector embedding policies mutable (#2433)
* vector index work

* format

* fixed tests

---------

Co-authored-by: Asier Isayas <aisayas@microsoft.com>
2026-03-30 06:38:37 -07:00
sunghyunkang1111 c42e35f97a Added enriched metrics (#2432) 2026-03-25 10:50:57 -05:00
olprod 8e1b041e3b Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2463079 (#2428)
* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2456703

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2456758

* Localized file check-in by OneLocBuild Task: Build definition ID 13114: Build ID 2459555

---------

Co-authored-by: sunghyunkang1111 <114709653+sunghyunkang1111@users.noreply.github.com>
2026-03-18 14:40:24 -05:00
sunghyunkang1111 7c300698c8 Bundle and fallback english localization strings (#2430) 2026-03-17 17:23:16 -05:00
sunghyunkang1111 e661faea0b Fix portal background opening health metric (#2425)
* Fix portal background opening

* fix rAF
2026-03-17 12:10:16 -05:00
Nishtha Ahuja 8cce0a4802 Filtering DBs and option for pin(fav)(#2301)
* implemented search bar

* formatting corrected

* added pin(fav) and sorting in local in sidebar tree of DE

* reverted changes

* fixed lint and formatting issues

* fixed lint and formatting issues

* theme toggle button is disabled if in portal

* fixed lint error

* added link on disabled theme toggle button

* updated the variable for pin icon

* removed en-us from url

---------

Co-authored-by: nishthaAhujaa <nishtha17354@iiittd.ac.in>
Co-authored-by: sakshigupta12feb <sakshigupta12feb1@gmail.com>
Co-authored-by: Sakshi Gupta <sakshig@microsoft.com>
2026-03-16 20:23:44 +05:30
asier-isayas 454a02bc53 Handle partition key path with whitespace (#2423)
* Handle partition key path with white space

* add whitespace test case for pkey

* remove trailing whitespace

---------

Co-authored-by: Asier Isayas <aisayas@microsoft.com>
2026-03-16 07:21:41 -07:00
Laurent Nguyen 7a93df6a4b Fix: Remove duplicate database refresh logic (Fabric). Add logging for collection fetching. (#2426)
* Remove duplicate database refresh logic. Add logging for collection fetching

* fix: Fix unit test

* fix: Update snapshots to include databasesRefreshed property

---------

Co-authored-by: Laurent Nguyen <languye@microsoft.com>
2026-03-16 14:24:27 +01:00