* Add vector index shard key
* npm run format
* rename shard key to vector index shard key
* add tooltip for quantization byte size
* change text for GSI and container in VectorEmbedding Policy
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* Hide entire Accordion of options in Settings Pane
* In PartitionKeyComponent hide "Change partition key" label when read-only.
* Create sample data container with correct pkey
* Add unit tests to PartitionKeyComponent
* Fix format
* fix unit test snapshot
* Add Fabric message to open Settings to given tab id
* Improve syntax on message contract
* Remove "(preview)" in partition key tab title in Settings Tab
* Add standin region selection to settings menu.
* Retrieve read and write regions from user context and populate dropdown menu. Update local storage value.
Need to now connect with updating read region of primary cosmos client.
* Change to only selecting region for cosmos client. Not setting up separate read and write clients.
* Add read and write endpoint logging to cosmos client.
* Pass changing endpoint from settings menu to client. Encountered token issues using new endpoint in client.
* Rough implementation of region selection of endpoint for cosmos client. Still need to:
1 - Use separate context var to track selected region. Directly updating database account context throws off token generation by acquireMSALTokenForAccount
2 - Remove href overrides in acquireMSALTokenForAccount.
* Update region selection to include global endpoint and generate a unique list of read and write endpoints.
Need to continue with clearing out selected endpoint when global is selected again.
Write operations stall when read region is selected even though 403 returned when region rejects operation.
Need to limit feature availablility to nosql, table, gremlin (maybe).
* Update cosmos client to fix bug.
Clients continuously generate after changing RBAC setting.
* Swapping back to default endpoint value.
* Rebase on client refresh bug fix.
* Enable region selection for NoSql, Table, Gremlin
* Add logic to reset regional endpoint when global is selected.
* Fix state changing when selecting region or resetting to global.
* Rough implementation of configuring regional endpoint when DE is loaded in portal or hosted with AAD/Entra auth.
* Ininitial attempt at adding error handling, but still having issues with errors caught at proxy plugin.
* Added rough error handling in local requestPlugin used in local environments. Passes new error to calling code.
Might need to add specific error handling for request plugin to the handleError class.
* Change how request plugin returns error so existing error handling utility can process and present error.
* Only enable region selection for nosql accounts.
* Limit region selection to portal and hosted AAD auth. SQL accounts only. Could possibly enable on table and gremlin later.
* Update error handling to account for generic error code.
* Refactor error code extraction.
* Update test snapshots and remove unneeded logging.
* Change error handling to use only the message rather than casting to any.
* Clean up debug logging in cosmos client.
* Remove unused storage keys.
* Use endpoint instead of region name to track selected region. Prevents having to do endpoint lookups.
* Add initial button state update depending on region selection.
Need to update with the API and react to user context changes.
* Disable CRUD buttons when read region selected.
* Default to write enabled in react.
* Disable query saving when read region is selected.
* Patch clientWidth error on conflicts tab.
* Resolve merge conflicts from rebase.
* Make sure proxy endpoints return in all cases.
* Remove excess client logging and match main for ConflictsTab.
* Cleaning up logging and fixing endpoint discovery bug.
* Fix formatting.
* Reformatting if statements with preferred formatting.
* Migrate region selection to local persistence. Fixes account swapping bug.
TODO: Inspect better way to reset interface elements when deleteAllStates is called. Need to react to regional endpoint being reset.
* Relocate resetting interface context to helper function.
* Remove legacy state storage for regional endpoint selection.
* Laurent suggestion updates.
* Fix input element pattern matching and add validation reporting for
cases where the element is not within a form element.
* Update test snapshots.
* Remove old code and fix trigger error message.
* Move id validation to a util class.
* Add unit tests, fix standalone function, rename constants.
* 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>
* [accessibility-3556824] : [Programmatic Access - Azure Cosmos DB- Data Explorer]: Keyboard focus indicator is not visible on controls inside the settings.
* Snapshots updated.
---------
Co-authored-by: Satyapriya Bai <v-satybai@microsoft.com>
* Reset hasDataPlaneRbacSettingChanged back to false after cosmos client is refreshed with new settings.
Dispose of old client before new one is created.
* Update client refresh variable after settings change.
* Only refresh client when related settings are changed.
* Update comparisons in settings menu.
* Remove unnecessary comments.
* Update refresh variable naming.
* Attempting to sync package.json and package-lock.json in CI.
* Remove npm install from CI after successful CI run.
* Only show retry settings with those APIs using the cosmos client -> NoSQL, Table, Gremlin
* Replaced monaco editor on Container Vector Policy tab with controls same as on create container ux
* Adds vector embedding policy to container management. Adds FullTextSearch to both add container and container management.
* Fixing unit tests and formatting issues
* More fixes
* Updating full text controls based on feedback
* Minor updates
* Editing test to fix compile issue
* Minor fix
* Adding paths for jest to ignore transform due to recent changes in upstream dependencies
* Adding mock to temporarily get unit tests to pass
* Hiding FTS feature behind the new EnableNoSQLFullTextSearch capability
* 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.
* Introduce common function for shared throughput default and set to
false.
* Add new file.
* Adjust E2E tests to not set throughput for database create.
* change 'Database id' to 'Database name' in Delete Database confirm prompt
* put 'name' in a parenthetical instead of replacing 'id'
* update test snapshots
* allow DE to provide clearer error messages for certain conditions
* allow rendeering a "help" link for an error
* use TableCellLayout where possible
* remove RU Threshold banner, now that we have a clearer error
* refmt
* fix QueryError test
* change "RU Threshold" to "RU Limit"
* Reapply "Enable column selection and sorting in DocumentsTab (with persistence) (#1881)" (#1960)
This reverts commit fe9730206e6e7a63f23ec2e2fb51bedd53fe66b5.
* 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 e5a82fd356666011397db96ea35c2e0abc178c4e.
* 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
* Use accordion in settingsPane
* Fix format
* Fix format for retry interval
* Fix unit tests
* Cosmetic changes
* Move info tips into accordion section
* Update snapshot
* Infrastructure to save app state
* Save filters
* Replace read/save methods with more generic ones
* Make datalist for filter unique per database/container combination
* Disable saving middle split position for now
* Fix unit tests
* Turn off confusing auto-complete from input box
* Disable tabStateData for now
* Save and restore split position
* Fix replace autocomplete="off" by removing id on Input tag
* Properly set allotment width
* Fix saved percentage
* Save splitter per collection
* Add error handling and telemetry
* Fix compiling issue
* Add ability to delete filter history. Bug fix when hitting Enter on filter input box.
* Replace delete filter modal with dropdown menu
* Add code to remove oldest record if max limit is reached in app state persistence
* Only save new splitter position on drag end (not onchange)
* Add unit tests
* Add Clear all in settings. Update snapshots
* Fix format
* Remove filter delete and keep filter history to a max. Reword clear button and message in settings pane.
* Fix setting button label
* Update test snapshots
* Reword Clear history button text
* Update unit test snapshot
* Enable Settings pane for Fabric, but turn off Rbac dial for Fabric.
* Change union type to enum
* Update src/Shared/AppStatePersistenceUtility.ts
Assert that path does not include slash char.
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* Update src/Shared/AppStatePersistenceUtility.ts
Assert that path does not contain slash.
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* Fix format
---------
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* 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
* Remove unnecessary code
* Remove unnecessary code
* Add code to fix VCoreMongo/PG bug
* Address feedback
* Add more logs for RBAC feature
* Add more logs for RBAC features
* Fix login for Entra ID text
* Address comments
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* 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
* 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 8293f34c9ce3901eb160a56526c59e3d3e1e343e.
* 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 9745bcd2efccf92e33e62e4563349cb76e6236de.
* Upgrade playwright to latest
* Revert "Upgrade playwright to latest"
This reverts commit e2ea1d01895f9db157a92a5167a7865b7cc43266.
* Error test on e2e
* Revert "Error test on e2e"
This reverts commit 124e3764f72fff70df9cc1a2e93d12faa7b507e9.
* Try to select dropdown item by xpath selector
* Revert "Try to select dropdown item by xpath selector"
This reverts commit 8eb42a64e23cee589a7c0a809c039ecc7867b7ba.
* Attempt to wait until page is fully loaded
* Revert "Attempt to wait until page is fully loaded"
This reverts commit bb43fcea6e71e593f7d1a3e374e9f1d57052ab70.
* Use playwright selectOption to select dropdown option
* Revert "Use playwright selectOption to select dropdown option"
This reverts commit daa8cd09304f68093df2d94f4bd1139cb367465a.
* Select dropdown option with playwright api instead of manual click
* c7ab4c7ecf7b05f32a85568bce1a667ad8c62703Revert "Select dropdown option with playwright api instead of manual click"
This reverts commit c7ab4c7ecf7b05f32a85568bce1a667ad8c62703.
* Wait for 5s after dropdown click
* Revert "Wait for 5s after dropdown click"
This reverts commit 847e9ad33fbfac99a947fc088e1c8c1c14c57853.
* Try forcing click
* Revert "Try forcing click"
This reverts commit 29b9fa1bda18dd3aba7853b20c6215d971bc826a.
* 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>
* 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
* Remove unnecessary code
* Remove unnecessary code
* Add code to fix VCoreMongo/PG bug
* Address feedback
* Add more logs for RBAC feature
* Add more logs for RBAC features
* Add readOnlyKeys call for accounts with Reader role
* Resolve conflicts
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* 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
* Address Local storage default setting issue
* Run npm format
* Address lint error
* Run format
* Address bug in fetching data for Tables Account
* Add fetchAndUpdate Keys
* Add fix for MPAC Tables account issue
* Fix issue with Cosmos Client
* Run np format
* Address bugs
* Remove unused import
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* 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>
* [accessibility-3048277]:[Programmatic Access - Azure Cosmos DB - Data Explorer>New Container]: Ensures ARIA attributes are allowed for an element's role
* updated PartitionKeyPane
---------
Co-authored-by: Satyapriya Bai <v-satybai@microsoft.com>
* allow query result view to be toggled from command bar
also provides a default results view option that's stored in the
browser's local storage
* update SettingsPane test snapshot
* [accessibility-3100026]: [Screen Reader - Azure Cosmos DB - Add Table Row]: Screen Reader does not announce status message after invoking 'Add Row' control under 'Add Table Row' pane.
* Fixed format.
* Snap update.
---------
Co-authored-by: Satyapriya Bai <v-satybai@microsoft.com>
* [accessibility-3102916]:[Keyboard Navigation - Azure CosmosDB - Data Explorer]: Keyboard focus is moving to non-interactive control after checkbox control of Advanced button.
* Updated Snap.
---------
Co-authored-by: Satyapriya Bai <v-satybai@microsoft.com>