* 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.
* Hide connection strings and keys by default. Move URI above pivot since common across tabs. Matches frontend. Need to add scrolling of keys when window is small. Possibly reduce URI width.
* Add vertical scrolling when window size reduces.
* Adding missing semicolon at end of connection strings.
* 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 <[email protected]>
* 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
* Force useMongoProxyEndpoint to always return true if valid endpoint provided. Enables new Mongo proxy in all environments.
* Checking MP endpoint in config context.
* Enabling cassandra proxy in all environments. Requires later cleanup.
* Simplifying and removing endpoint validation since run when config context is generated.
* Enabling one MP API at a time globally.
* Revent to existing CP selection logic.
* Creating list of globally enable CP apis.
* Add list of mongo and cassandra APIs to config and only enable if environment outside existing list of environments.
* Remove environment checks. If API globally enabled, return true.
* Adding config initialization for mongo unit tests.
* Default to empty enable list to minimize possible impact. Config.json overrides can be used for testing.
* Setting enableEndpointDiscovery to true to test client resilience during region outage.
When this is set to false, it can impact the SDK's failover behavior.
* Added tooltip to the filename and status columns. There is an InfoTooltip function that can reduce the boilerplate.
* Changed tooltip to be constructed with the DetailsList column and changed orientation to rightCenter.
That orientation prevents issues with topCenter orientation getting off center from the width of the cell.
Also looks a bit nicer, but will get feedback.
* Updated formatting.
* Removing uneccessary column formatting.
---------
Co-authored-by: Craig Boger <[email protected]>
* Initial rough of keeping textfield blank. Still need to disable save button.
* Rough implementation with state moved up to settings component. Allows for discarding of new TTL when TTL is already enabled.
* Updating unit tests to include new display variable.
* Brought formatting back from master.
* Updating unit test snapshots.
* Ran prettier and renormalized modified files.
* Correct lint issues.
* Undo prettier changes to add collection code and testing snapshot.
* Restoring AddCollectionPanel to match master. Not modifying snapshot.
---------
Co-authored-by: Craig Boger <[email protected]>
* Adding example endpoint with trailing forward slash.
* Move backend and ARM endpoint validation to configContext for initialization from config.json.
* Added debugging script and attempts to relocate endpoint validation list.
* Move default endpoint list to endpoint validation code and allow falling back to the default list during unit tests if configContext is not initialized.
* Remove leftover debugger statements.
* Remove test debug script in package.json for debugging unit tests in browser.
* Run prettier on modified files.
* Overwriting with package.json from master.
* Overwriting with version from master.
* Remove test ARM endpoint.
* Replace ternary operator with || for more concise arguments per Victor's feedback.
---------
Co-authored-by: Craig Boger <[email protected]>
* Able to find needed data without RP calls. Quick test blurb on settings page for SQL accounts.
* Added hierarchical partition message for SQL accounts.
* Rearranging import to match master and bypass auto formatting.
* Update snapshot tests with new partition hierarchy message.
* Updating formatting
---------
Co-authored-by: Craig Boger <[email protected]>
* Exchanged links on DE home page with link to the Azure Cosmos DB Live TV show.
* Adding back accidentally removed terminating ,
* Added cdb TV to Postgres quick start splash page.
* Removing cdb tv description from next steps and moved up.
* Moved cdb tv to the tips and learn more column on postgres getting started page.
* Shortening postgrest cdb tv line.
* Removing link from PG since only 1 episode so far for PG.
* Adding terminating comma back. Formatting.
* Consolidating Cosmos DB Live TV to a single variable.
* Updating prettier formatting.