diff --git a/.lycheeignore b/.lycheeignore index 82348e6f047c..839c7454eb5d 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -91,3 +91,4 @@ https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi http:/adomas.org/javascript-mouse-wheel/ site.com http://sites.google.com/site/murmurhash/ +helpmenow.com diff --git a/changelogs/fragments/8352.yml b/changelogs/fragments/8352.yml new file mode 100644 index 000000000000..048f8a94a22a --- /dev/null +++ b/changelogs/fragments/8352.yml @@ -0,0 +1,2 @@ +fix: +- Add discover summary error info and button click logic enhancement ([#8352](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8352)) diff --git a/changelogs/fragments/8500.yml b/changelogs/fragments/8500.yml new file mode 100644 index 000000000000..63e3a509aed0 --- /dev/null +++ b/changelogs/fragments/8500.yml @@ -0,0 +1,2 @@ +feat: +- Introducing workspace level ui settings and hide non-global ui settings from advance settings page ([#8500](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8500)) \ No newline at end of file diff --git a/changelogs/fragments/8504.yml b/changelogs/fragments/8504.yml new file mode 100644 index 000000000000..3ccc6590581d --- /dev/null +++ b/changelogs/fragments/8504.yml @@ -0,0 +1,6 @@ +feat: +- Allow hiding the TSVB axis for time series visualizations ([#8504](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8504)) +- Allow setting scale of each axis for TSVB time series ([#8504](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8504)) + +fix: +- Compress non-OUI input fields in TSVB visualizations ([#8504](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8504)) \ No newline at end of file diff --git a/changelogs/fragments/8520.yml b/changelogs/fragments/8520.yml new file mode 100644 index 000000000000..f0883088331f --- /dev/null +++ b/changelogs/fragments/8520.yml @@ -0,0 +1,2 @@ +feat: +- [Workspace]Remove collaborators in workspace creation page ([#8520](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8520)) \ No newline at end of file diff --git a/changelogs/fragments/8529.yml b/changelogs/fragments/8529.yml new file mode 100644 index 000000000000..4f57759a9e40 --- /dev/null +++ b/changelogs/fragments/8529.yml @@ -0,0 +1,2 @@ +fix: +- Update the title of header recent menu ([#8529](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8529)) \ No newline at end of file diff --git a/changelogs/fragments/8531.yml b/changelogs/fragments/8531.yml new file mode 100644 index 000000000000..e23c5eba1faa --- /dev/null +++ b/changelogs/fragments/8531.yml @@ -0,0 +1,2 @@ +feat: +- [Workspace]Display duplicate collaborators error in add collaborators modal ([#8531](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8531)) \ No newline at end of file diff --git a/changelogs/fragments/8537.yml b/changelogs/fragments/8537.yml new file mode 100644 index 000000000000..1afbb41a42e0 --- /dev/null +++ b/changelogs/fragments/8537.yml @@ -0,0 +1,2 @@ +fix: +- [MDS] Mute the non-mds endpoints for direct query data connections ([#8537](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8537)) \ No newline at end of file diff --git a/changelogs/fragments/8538.yml b/changelogs/fragments/8538.yml new file mode 100644 index 000000000000..31ccc192392d --- /dev/null +++ b/changelogs/fragments/8538.yml @@ -0,0 +1,2 @@ +feat: +- [Workspace] Add global search bar into left nav ([#8538](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8538)) \ No newline at end of file diff --git a/changelogs/fragments/8540.yml b/changelogs/fragments/8540.yml new file mode 100644 index 000000000000..c0008c804319 --- /dev/null +++ b/changelogs/fragments/8540.yml @@ -0,0 +1,2 @@ +feat: +- [Workspace]Replace connections copy with data sources ([#8540](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8540)) \ No newline at end of file diff --git a/changelogs/fragments/8541.yml b/changelogs/fragments/8541.yml new file mode 100644 index 000000000000..5b1b2457bc34 --- /dev/null +++ b/changelogs/fragments/8541.yml @@ -0,0 +1,2 @@ +fix: +- The workspace selector jump that occurs when hovering and clicking. ([#8541](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8541)) \ No newline at end of file diff --git a/changelogs/fragments/8543.yml b/changelogs/fragments/8543.yml new file mode 100644 index 000000000000..06bade085a1d --- /dev/null +++ b/changelogs/fragments/8543.yml @@ -0,0 +1,2 @@ +refactor: +- Update workspace collaborator table UI ([#8543](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8543)) \ No newline at end of file diff --git a/changelogs/fragments/8544.yml b/changelogs/fragments/8544.yml new file mode 100644 index 000000000000..71d1d815e6dc --- /dev/null +++ b/changelogs/fragments/8544.yml @@ -0,0 +1,2 @@ +fix: +- Direct query connections fit and finish fixes ([#8544](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8544)) \ No newline at end of file diff --git a/changelogs/fragments/8545.yml b/changelogs/fragments/8545.yml new file mode 100644 index 000000000000..ba972ec51e7c --- /dev/null +++ b/changelogs/fragments/8545.yml @@ -0,0 +1,2 @@ +feat: +- Refactor data source list page to include data source association features for workspace ([#8545](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8545)) \ No newline at end of file diff --git a/changelogs/fragments/8554.yml b/changelogs/fragments/8554.yml new file mode 100644 index 000000000000..3c72872e1c0f --- /dev/null +++ b/changelogs/fragments/8554.yml @@ -0,0 +1,2 @@ +fix: +- Fix new home page small screen display issues ([#8554](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8554)) \ No newline at end of file diff --git a/changelogs/fragments/8555.yml b/changelogs/fragments/8555.yml new file mode 100644 index 000000000000..8314c88c1872 --- /dev/null +++ b/changelogs/fragments/8555.yml @@ -0,0 +1,2 @@ +fix: +- Refactored polling logic to poll for results once current request completes ([#8555](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8555)) \ No newline at end of file diff --git a/changelogs/fragments/8557.yml b/changelogs/fragments/8557.yml new file mode 100644 index 000000000000..7a9fb57b7f60 --- /dev/null +++ b/changelogs/fragments/8557.yml @@ -0,0 +1,2 @@ +feat: +- Add ACL auditor ([#8557](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8557)) \ No newline at end of file diff --git a/changelogs/fragments/8564.yml b/changelogs/fragments/8564.yml new file mode 100644 index 000000000000..bc745037679c --- /dev/null +++ b/changelogs/fragments/8564.yml @@ -0,0 +1,2 @@ +chore: +- Update oui to 1.16 ([#8564](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8564)) \ No newline at end of file diff --git a/changelogs/fragments/8570.yml b/changelogs/fragments/8570.yml new file mode 100644 index 000000000000..e967ac10c560 --- /dev/null +++ b/changelogs/fragments/8570.yml @@ -0,0 +1,2 @@ +fix: +- Fix workspace update issue ([#8570](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8570)) \ No newline at end of file diff --git a/changelogs/fragments/8574.yml b/changelogs/fragments/8574.yml new file mode 100644 index 000000000000..72c73d09947a --- /dev/null +++ b/changelogs/fragments/8574.yml @@ -0,0 +1,2 @@ +feat: +- [Workspace]Show add collaborators modal until collaborators added ([#8574](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8574)) \ No newline at end of file diff --git a/changelogs/fragments/8581.yml b/changelogs/fragments/8581.yml new file mode 100644 index 000000000000..5b352fc31fca --- /dev/null +++ b/changelogs/fragments/8581.yml @@ -0,0 +1,2 @@ +fix: +- Disable cope all button when there is no saved objects in assets page ([#8581](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8581)) \ No newline at end of file diff --git a/changelogs/fragments/8587.yml b/changelogs/fragments/8587.yml new file mode 100644 index 000000000000..259c99b7fd22 --- /dev/null +++ b/changelogs/fragments/8587.yml @@ -0,0 +1,2 @@ +feat: +- Add support for otel sample data - logs, traces and metrics ([#8587](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8587)) \ No newline at end of file diff --git a/changelogs/fragments/8592.yml b/changelogs/fragments/8592.yml new file mode 100644 index 000000000000..fd4fae271865 --- /dev/null +++ b/changelogs/fragments/8592.yml @@ -0,0 +1,2 @@ +fix: +- Workspace selector style alignment ([#8592](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8592)) \ No newline at end of file diff --git a/changelogs/fragments/8594.yml b/changelogs/fragments/8594.yml new file mode 100644 index 000000000000..cd572c3ffe25 --- /dev/null +++ b/changelogs/fragments/8594.yml @@ -0,0 +1,2 @@ +feat: +- Add workspace collaborators page ([#8594](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8594)) \ No newline at end of file diff --git a/changelogs/fragments/8600.yml b/changelogs/fragments/8600.yml new file mode 100644 index 000000000000..d1e8a5c00480 --- /dev/null +++ b/changelogs/fragments/8600.yml @@ -0,0 +1,2 @@ +fix: +- Fix padding and responsive behavior of page header ([#8600](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8600)) \ No newline at end of file diff --git a/changelogs/fragments/8603.yml b/changelogs/fragments/8603.yml new file mode 100644 index 000000000000..38c4ceea441b --- /dev/null +++ b/changelogs/fragments/8603.yml @@ -0,0 +1,2 @@ +fix: +- Upgrade JSON11 from 1.1.2 to 2.0.0 to ensure UTF-8 safety when stringifying JSON data ([#8603](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8603)) \ No newline at end of file diff --git a/changelogs/fragments/8604.yml b/changelogs/fragments/8604.yml new file mode 100644 index 000000000000..0b186eaa5ef1 --- /dev/null +++ b/changelogs/fragments/8604.yml @@ -0,0 +1,2 @@ +feat: +- [Workspace]Keep confirm modal and disable confirm button during collaborators operation ([#8604](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8604)) \ No newline at end of file diff --git a/changelogs/fragments/8606.yml b/changelogs/fragments/8606.yml new file mode 100644 index 000000000000..463958814145 --- /dev/null +++ b/changelogs/fragments/8606.yml @@ -0,0 +1,2 @@ +fix: +- [workspace]fix content management render dashboard with duplicate visualizations ([#8606](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8606)) \ No newline at end of file diff --git a/changelogs/fragments/8607.yml b/changelogs/fragments/8607.yml new file mode 100644 index 000000000000..3aadf45899b5 --- /dev/null +++ b/changelogs/fragments/8607.yml @@ -0,0 +1,2 @@ +feat: +- Limit workspace colors ([#8607](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8607)) \ No newline at end of file diff --git a/changelogs/fragments/8614.yml b/changelogs/fragments/8614.yml new file mode 100644 index 000000000000..0f57ef1e86ca --- /dev/null +++ b/changelogs/fragments/8614.yml @@ -0,0 +1,2 @@ +fix: +- Update content and styling of use case getting started cards ([#8614](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8614)) \ No newline at end of file diff --git a/changelogs/fragments/8616.yml b/changelogs/fragments/8616.yml new file mode 100644 index 000000000000..aa41137d4968 --- /dev/null +++ b/changelogs/fragments/8616.yml @@ -0,0 +1,2 @@ +feat: +- Adds sample queries and saved queries to Discover no results page ([#8616](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8616)) \ No newline at end of file diff --git a/changelogs/fragments/8617.yml b/changelogs/fragments/8617.yml new file mode 100644 index 000000000000..9ffdf7a19145 --- /dev/null +++ b/changelogs/fragments/8617.yml @@ -0,0 +1,2 @@ +refactor: +- [Workspace] Update default OSD admin config permission and support wildcard. ([#8617](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8617)) \ No newline at end of file diff --git a/changelogs/fragments/8619.yml b/changelogs/fragments/8619.yml new file mode 100644 index 000000000000..59118814a798 --- /dev/null +++ b/changelogs/fragments/8619.yml @@ -0,0 +1,2 @@ +refactor: +- Fine-tune workspace list page compressed style to align with compressed table ([#8619](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8619)) \ No newline at end of file diff --git a/changelogs/fragments/8620.yml b/changelogs/fragments/8620.yml new file mode 100644 index 000000000000..0bddae141f95 --- /dev/null +++ b/changelogs/fragments/8620.yml @@ -0,0 +1,2 @@ +feat: +- Add data-connection type support for association modal ([#8620](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8620)) \ No newline at end of file diff --git a/changelogs/fragments/8624.yml b/changelogs/fragments/8624.yml new file mode 100644 index 000000000000..f6cc0838d746 --- /dev/null +++ b/changelogs/fragments/8624.yml @@ -0,0 +1,2 @@ +feat: +- (contentManagement) Add a Page API to allow remove section ([#8624](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8624)) \ No newline at end of file diff --git a/changelogs/fragments/8640.yml b/changelogs/fragments/8640.yml new file mode 100644 index 000000000000..5a91c5a2ecfb --- /dev/null +++ b/changelogs/fragments/8640.yml @@ -0,0 +1,2 @@ +chore: +- Update oui to 1.17 ([#8640](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8640)) \ No newline at end of file diff --git a/changelogs/fragments/8641.yml b/changelogs/fragments/8641.yml new file mode 100644 index 000000000000..db81be375e22 --- /dev/null +++ b/changelogs/fragments/8641.yml @@ -0,0 +1,2 @@ +feat: +- [Workspace] Response forbidden error for not permitted workspace ([#8641](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8641)) \ No newline at end of file diff --git a/changelogs/fragments/8648.yml b/changelogs/fragments/8648.yml new file mode 100644 index 000000000000..84cc02108e2d --- /dev/null +++ b/changelogs/fragments/8648.yml @@ -0,0 +1,2 @@ +fix: +- [Workspace] Workspace assets page crashed after library_write permission revoked ([#8648](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8648)) \ No newline at end of file diff --git a/changelogs/fragments/8650.yml b/changelogs/fragments/8650.yml new file mode 100644 index 000000000000..3f53ba7a41fa --- /dev/null +++ b/changelogs/fragments/8650.yml @@ -0,0 +1,2 @@ +fix: +- Fix random big number when loading in query result ([#8650](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8650)) \ No newline at end of file diff --git a/changelogs/fragments/8651.yml b/changelogs/fragments/8651.yml new file mode 100644 index 000000000000..0baf8f35105c --- /dev/null +++ b/changelogs/fragments/8651.yml @@ -0,0 +1,2 @@ +feat: +- Update the appearance of Discover ([#8651](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8651)) \ No newline at end of file diff --git a/changelogs/fragments/8659.yml b/changelogs/fragments/8659.yml new file mode 100644 index 000000000000..7b007d454736 --- /dev/null +++ b/changelogs/fragments/8659.yml @@ -0,0 +1,2 @@ +fix: +- Discover UI stuck on searching after failing to find deleted index pattern ([#8659](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8659)) \ No newline at end of file diff --git a/config/opensearch_dashboards.yml b/config/opensearch_dashboards.yml index 349b002c9a1c..69a57caac33e 100644 --- a/config/opensearch_dashboards.yml +++ b/config/opensearch_dashboards.yml @@ -371,5 +371,7 @@ # Set the backend roles in groups or users, whoever has the backend roles or exactly match the user ids defined in this config will be regard as dashboard admin. # Dashboard admin will have the access to all the workspaces(workspace.enabled: true) and objects inside OpenSearch Dashboards. +# The default config is [], and no one will be dashboard admin. +# If the user config is set to wildcard ["*"], anyone will be dashboard admin. # opensearchDashboards.dashboardAdmin.groups: ["dashboard_admin"] # opensearchDashboards.dashboardAdmin.users: ["dashboard_admin"] diff --git a/package.json b/package.json index 28001b0a9006..b7dcbb23569e 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,7 @@ "**/jest-config": "npm:@amoo-miki/jest-config@27.5.1", "**/jest-jasmine2": "npm:@amoo-miki/jest-jasmine2@27.5.1", "**/joi/hoek": "npm:@amoo-miki/hoek@6.1.3", - "**/json11": "^1.1.2", + "**/json11": "^2.0.0", "**/json-schema": "^0.4.0", "**/kind-of": ">=6.0.3", "**/load-bmfont/phin": "^3.7.1", @@ -148,7 +148,7 @@ "dependencies": { "@aws-crypto/client-node": "^3.1.1", "@elastic/datemath": "5.0.3", - "@elastic/eui": "npm:@opensearch-project/oui@1.15.0", + "@elastic/eui": "npm:@opensearch-project/oui@1.17.0", "@elastic/good": "^9.0.1-kibana3", "@elastic/numeral": "npm:@amoo-miki/numeral@2.6.0", "@elastic/request-crypto": "2.0.0", diff --git a/packages/osd-i18n/src/core/i18n.test.ts b/packages/osd-i18n/src/core/i18n.test.ts index ebfd546f8561..ad5ed920fd01 100644 --- a/packages/osd-i18n/src/core/i18n.test.ts +++ b/packages/osd-i18n/src/core/i18n.test.ts @@ -178,7 +178,7 @@ describe('I18n engine', () => { 'en-us' ); - expect(i18n.getLocale()).toBe('en-us'); + expect(i18n.getLocale()).toBe('en-US'); expect(i18n.getTranslation()).toEqual({ messages: { ['a.b.c']: 'bar', @@ -246,9 +246,19 @@ describe('I18n engine', () => { expect(i18n.getLocale()).toBe('foo'); }); - test('should normalize passed locale', () => { - i18n.setLocale('en-US'); - expect(i18n.getLocale()).toBe('en-us'); + test('should normalize basic locale', () => { + i18n.setLocale('It-iT'); + expect(i18n.getLocale()).toBe('it-IT'); + }); + + test('should normalize simple locale', () => { + i18n.setLocale('en-LATN-us_PRIVATE-variant'); + expect(i18n.getLocale()).toBe('en-Latn-US'); + }); + + test('should normalize complex locale', () => { + i18n.setLocale('FR-CA-X-FALLBACK-und-u@keyword=calendarKey'); + expect(i18n.getLocale()).toBe('fr-CA'); }); }); @@ -280,8 +290,8 @@ describe('I18n engine', () => { }); test('should normalize passed locale', () => { - i18n.setDefaultLocale('en-US'); - expect(i18n.getDefaultLocale()).toBe('en-us'); + i18n.setDefaultLocale('eN-uS'); + expect(i18n.getDefaultLocale()).toBe('en-US'); }); test('should set "en" locale as default for IntlMessageFormat and IntlRelativeFormat', () => { diff --git a/packages/osd-i18n/src/core/i18n.ts b/packages/osd-i18n/src/core/i18n.ts index 65da4931ef13..fc040bb834e6 100644 --- a/packages/osd-i18n/src/core/i18n.ts +++ b/packages/osd-i18n/src/core/i18n.ts @@ -44,6 +44,16 @@ const EN_LOCALE = 'en'; const translationsForLocale: Record = {}; const getMessageFormat = memoizeIntlConstructor(IntlMessageFormat); +/* A locale code is made of several components: + * * lang: The two- and three-letter lower-case language code follows the ISO 639-1 and ISO 639-2/3 standards, respectively. + * * script: The optional four-letter title-case code follows the ISO 15924 standard for representing writing systems. + * * region: The two-letter upper-case region code follows the ISO 3166-1 alpha-2 standard. + * + * Ref: https://www.rfc-editor.org/rfc/rfc5646.txt + * Note: While case carries no distinction with locale codes, proper formatting is recommended. + */ +const localeParser = /^(?[a-z]{2,3})(?:-(?