ydb-embedded-ui 16.2.0 → 16.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +17 -3
  2. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
  3. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.d.ts +3 -1
  4. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js +21 -5
  5. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js.map +1 -1
  6. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.scss +4 -0
  7. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.d.ts +9 -2
  8. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.js +50 -27
  9. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.js.map +1 -1
  10. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.d.ts +7 -1
  11. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.js +32 -8
  12. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.js.map +1 -1
  13. package/dist/containers/Tenant/Diagnostics/TopicData/columns/Columns.scss +11 -0
  14. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.d.ts +12 -2
  15. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +46 -12
  16. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -1
  17. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js +29 -3
  18. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js.map +1 -1
  19. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/en.json +4 -1
  20. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.d.ts +1 -1
  21. package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.d.ts +2 -0
  22. package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.js.map +1 -1
  23. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js +15 -3
  24. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js.map +1 -1
  25. package/dist/containers/Tenant/Query/Preview/components/TopicPreviewTable.d.ts +7 -1
  26. package/dist/containers/Tenant/Query/Preview/components/TopicPreviewTable.js +38 -31
  27. package/dist/containers/Tenant/Query/Preview/components/TopicPreviewTable.js.map +1 -1
  28. package/dist/services/api/meta.d.ts +4 -0
  29. package/dist/services/api/meta.js +6 -0
  30. package/dist/services/api/meta.js.map +1 -1
  31. package/dist/store/reducers/capabilities/hooks.d.ts +3 -1
  32. package/dist/store/reducers/capabilities/hooks.js +12 -4
  33. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  34. package/dist/store/reducers/topic.d.ts +15 -10
  35. package/dist/store/reducers/topic.js +9 -3
  36. package/dist/store/reducers/topic.js.map +1 -1
  37. package/dist/types/api/capabilities.d.ts +1 -1
  38. package/dist/types/api/topic.d.ts +35 -2
  39. package/package.json +4 -3
@@ -9,6 +9,8 @@ import { Fullscreen } from '../../../../components/Fullscreen/Fullscreen';
9
9
  import { DEFAULT_TABLE_ROW_HEIGHT, PAGINATED_TABLE_IDS, ResizeablePaginatedTable, } from '../../../../components/PaginatedTable';
10
10
  import { PaginatedTableWithLayout } from '../../../../components/PaginatedTable/PaginatedTableWithLayout';
11
11
  import { TableColumnSetup } from '../../../../components/TableColumnSetup/TableColumnSetup';
12
+ import { useSchemaTopicDataAvailable } from '../../../../store/reducers/capabilities/hooks';
13
+ import { useClusterNameFromQuery } from '../../../../utils/hooks/useDatabaseFromQuery';
12
14
  import { useSelectedColumns } from '../../../../utils/hooks/useSelectedColumns';
13
15
  import { getIllustration } from '../../../../utils/illustrations';
14
16
  import { renderPaginatedTableErrorMessage } from '../../../../utils/renderPaginatedTableErrorMessage';
@@ -28,6 +30,8 @@ import './TopicData.scss';
28
30
  const columns = getAllColumns();
29
31
  export function TopicData({ scrollContainerRef, path, database, databaseFullPath }) {
30
32
  const NoSearchResultsImage = getIllustration('NoSearchResults');
33
+ const schemaTopicDataAvailable = useSchemaTopicDataAvailable();
34
+ const clusterName = useClusterNameFromQuery();
31
35
  const [controlsKey, setControlsKey] = React.useState(0);
32
36
  const [startOffset, setStartOffset] = React.useState();
33
37
  const { selectedPartition, selectedOffset, startTimestamp, topicDataFilter, activeOffset, handleSelectedOffsetChange, handleStartTimestampChange, handleSelectedPartitionChange, handleActiveOffsetChange, } = useTopicDataQueryParams();
@@ -90,10 +94,20 @@ export function TopicData({ scrollContainerRef, path, database, databaseFullPath
90
94
  const tableFilters = React.useMemo(() => ({
91
95
  path,
92
96
  database,
97
+ clusterName,
93
98
  partition: selectedPartition !== null && selectedPartition !== void 0 ? selectedPartition : '',
94
99
  isEmpty: emptyData,
95
100
  currentPage,
96
- }), [path, database, selectedPartition, emptyData, currentPage]);
101
+ useMeta: schemaTopicDataAvailable,
102
+ }), [
103
+ path,
104
+ database,
105
+ clusterName,
106
+ selectedPartition,
107
+ emptyData,
108
+ currentPage,
109
+ schemaTopicDataAvailable,
110
+ ]);
97
111
  const getTopicData = React.useMemo(() => generateTopicDataGetter({
98
112
  setBoundOffsets,
99
113
  baseOffset: pageStartOffset,
@@ -124,8 +138,8 @@ export function TopicData({ scrollContainerRef, path, database, databaseFullPath
124
138
  return (_jsx(EmptyFilter, { title: i18n('label_nothing-found'), message: i18n('description_nothing-found'), onShowAll: hasFilters ? resetFilters : undefined, showAll: i18n('action_show-all'), image: _jsx(NoSearchResultsImage, { width: 230, height: 230 }) }));
125
139
  };
126
140
  const renderDrawerContent = React.useCallback(() => {
127
- return (_jsx(Fullscreen, { children: _jsx(TopicMessageDetails, { database: database, path: path }) }));
128
- }, [database, path]);
141
+ return (_jsx(Fullscreen, { children: _jsx(TopicMessageDetails, { database: database, path: path, clusterName: clusterName, useMeta: schemaTopicDataAvailable }) }));
142
+ }, [clusterName, database, path, schemaTopicDataAvailable]);
129
143
  const handlePaginationUpdate = React.useCallback((page) => {
130
144
  setCurrentPage(page);
131
145
  }, [setCurrentPage]);
@@ -1 +1 @@
1
- {"version":3,"file":"TopicData.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicData.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TopicData.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicData.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import './TopicMessageDetails.scss';
2
2
  interface TopicMessageDetailsProps {
3
3
  database: string;
4
4
  path: string;
5
+ clusterName?: string;
6
+ useMeta?: boolean;
5
7
  }
6
- export declare function TopicMessageDetails({ database, path }: TopicMessageDetailsProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function TopicMessageDetails({ database, path, clusterName, useMeta, }: TopicMessageDetailsProps): import("react/jsx-runtime").JSX.Element;
7
9
  export {};
@@ -15,7 +15,7 @@ import { TopicMessageMetadata } from './components/TopicMessageMetadata';
15
15
  import { MESSAGE_SIZE_LIMIT, b } from './shared';
16
16
  import cryCatIcon from '../../../../../assets/icons/cry-cat.svg';
17
17
  import './TopicMessageDetails.scss';
18
- export function TopicMessageDetails({ database, path }) {
18
+ export function TopicMessageDetails({ database, path, clusterName, useMeta, }) {
19
19
  var _a;
20
20
  const { selectedPartition, activeOffset } = useTopicDataQueryParams();
21
21
  const queryParams = React.useMemo(() => {
@@ -25,22 +25,28 @@ export function TopicMessageDetails({ database, path }) {
25
25
  const params = {
26
26
  database,
27
27
  path,
28
+ clusterName,
28
29
  partition: selectedPartition,
29
30
  limit: 1,
30
31
  message_size_limit: MESSAGE_SIZE_LIMIT,
32
+ useMeta,
31
33
  };
32
34
  const parsedOffset = safeParseNumber(activeOffset);
33
35
  params.offset = parsedOffset;
34
36
  params.last_offset = parsedOffset + 1;
35
37
  return params;
36
- }, [selectedPartition, activeOffset, database, path]);
38
+ }, [selectedPartition, activeOffset, database, path, clusterName, useMeta]);
37
39
  const { currentData, error, isFetching } = topicApi.useGetTopicDataQuery(queryParams);
38
40
  const messageDetails = (_a = currentData === null || currentData === void 0 ? void 0 : currentData.Messages) === null || _a === void 0 ? void 0 : _a[0];
39
41
  const renderMessageGeneralInfo = () => {
40
42
  if (!messageDetails) {
41
43
  return null;
42
44
  }
43
- return _jsx(TopicMessageGeneralInfo, { messageData: messageDetails });
45
+ return (_jsx(TopicMessageGeneralInfo, { messageData: messageDetails, schemaInfo: {
46
+ ProtoMessageName: currentData === null || currentData === void 0 ? void 0 : currentData.ProtoMessageName,
47
+ Protoseq: currentData === null || currentData === void 0 ? void 0 : currentData.Protoseq,
48
+ SchemaPath: currentData === null || currentData === void 0 ? void 0 : currentData.SchemaPath,
49
+ } }));
44
50
  };
45
51
  const renderMessageMeta = () => {
46
52
  const metadata = messageDetails === null || messageDetails === void 0 ? void 0 : messageDetails.MessageMetadata;
@@ -51,10 +57,20 @@ export function TopicMessageDetails({ database, path }) {
51
57
  };
52
58
  const renderMessage = () => {
53
59
  const message = messageDetails === null || messageDetails === void 0 ? void 0 : messageDetails.Message;
54
- if (!message) {
60
+ const generalSchematizeError = currentData === null || currentData === void 0 ? void 0 : currentData.SchematizeError;
61
+ const messageSchematizeError = messageDetails === null || messageDetails === void 0 ? void 0 : messageDetails.SchematizeError;
62
+ // A message is schematized (a parsed JSON value, including string
63
+ // primitives) when the response carries schema context (`SchemaPath`)
64
+ // and neither the response nor the message reported a schematization
65
+ // error. Such values must be rendered as-is, without base64 decoding.
66
+ const isSchematized = Boolean(currentData === null || currentData === void 0 ? void 0 : currentData.SchemaPath) && !generalSchematizeError && !messageSchematizeError;
67
+ // Render the section whenever there is a message OR a schematization
68
+ // error to report. Use isNil instead of a broad falsy check so valid
69
+ // falsy schematized values (0, false, '') are not dropped.
70
+ if (isNil(message) && !generalSchematizeError && !messageSchematizeError) {
55
71
  return null;
56
72
  }
57
- return (_jsx(TopicMessage, { message: message, offset: messageDetails.Offset, size: messageDetails.OriginalSize }));
73
+ return (_jsx(TopicMessage, { message: message, offset: messageDetails === null || messageDetails === void 0 ? void 0 : messageDetails.Offset, size: messageDetails === null || messageDetails === void 0 ? void 0 : messageDetails.OriginalSize, generalSchematizeError: generalSchematizeError, messageSchematizeError: messageSchematizeError, isSchematized: isSchematized }));
58
74
  };
59
75
  const renderContent = () => {
60
76
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"TopicMessageDetails.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TopicMessageDetails.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.tsx"],"names":[],"mappings":"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"}
@@ -44,6 +44,10 @@
44
44
  background-color: var(--code-background-color);
45
45
  }
46
46
 
47
+ &__schematize-error {
48
+ margin-bottom: var(--g-spacing-3);
49
+ }
50
+
47
51
  &__string-message {
48
52
  overflow: hidden;
49
53
 
@@ -1,7 +1,14 @@
1
1
  interface TopicMessageProps {
2
- message: string;
2
+ message: string | unknown;
3
3
  offset?: string | number;
4
4
  size?: number;
5
+ generalSchematizeError?: string;
6
+ messageSchematizeError?: string;
7
+ /**
8
+ * When true the message value is already schematized (including string
9
+ * primitives) and must be rendered as-is without base64 decoding.
10
+ */
11
+ isSchematized?: boolean;
5
12
  }
6
- export declare function TopicMessage({ offset, size, message }: TopicMessageProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function TopicMessage({ offset, size, message, generalSchematizeError, messageSchematizeError, isSchematized, }: TopicMessageProps): import("react/jsx-runtime").JSX.Element;
7
14
  export {};
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { ArrowDownToLine } from '@gravity-ui/icons';
4
- import { ActionTooltip, Button, ClipboardButton, Flex, Icon, Text } from '@gravity-ui/uikit';
4
+ import { ActionTooltip, Alert, Button, ClipboardButton, Flex, Icon, Text } from '@gravity-ui/uikit';
5
+ import { isNil } from 'lodash';
5
6
  import { JsonViewer } from '../../../../../../components/JsonViewer/JsonViewer';
6
7
  import ShortyString from '../../../../../../components/ShortyString/ShortyString';
7
8
  import { createAndDownloadFile } from '../../../../../../utils/downloadFile';
@@ -12,36 +13,48 @@ import { MESSAGE_SIZE_LIMIT, b } from '../shared';
12
13
  import { TopicDataSection } from './TopicDataSection';
13
14
  const UNIPIKA_MAX_SIZE = 1000000;
14
15
  const utf8Decoder = new TextDecoder('utf-8');
15
- export function TopicMessage({ offset, size, message }) {
16
+ export function TopicMessage({ offset, size, message, generalSchematizeError, messageSchematizeError, isSchematized, }) {
16
17
  const isFullscreen = useTypedSelector((state) => state.fullscreen);
17
18
  const sectionScrollRef = React.useRef(null);
19
+ // The message may be absent while a schematization error is still present
20
+ // (error-only rows). In that case we render the alerts but no content/toolbar.
21
+ const hasMessage = !isNil(message);
18
22
  const { preparedMessage, decodedMessage, isJson } = React.useMemo(() => {
23
+ // A schematized value is already a parsed JSON value (object/array or a
24
+ // primitive such as a string) and must be used as-is. Only legacy,
25
+ // non-schematized string values are base64-encoded and need decoding.
26
+ // A raw string value alone is ambiguous, so we rely on the
27
+ // `isSchematized` signal derived from the response schema context rather
28
+ // than guessing from the type.
19
29
  let preparedMessage = message;
20
- let decodedMessage = message;
21
- try {
22
- const binary = atob(message);
23
- const bytes = new Uint8Array(binary.length);
24
- for (let i = 0; i < binary.length; i++) {
25
- bytes[i] = binary.charCodeAt(i);
30
+ // decodedMessage is always a string, suitable for download/clipboard.
31
+ let decodedMessage = typeof message === 'string' ? message : JSON.stringify(message, null, 2);
32
+ if (typeof message === 'string' && !isSchematized) {
33
+ try {
34
+ const binary = atob(message);
35
+ const bytes = new Uint8Array(binary.length);
36
+ for (let i = 0; i < binary.length; i++) {
37
+ bytes[i] = binary.charCodeAt(i);
38
+ }
39
+ decodedMessage = utf8Decoder.decode(bytes);
26
40
  }
27
- decodedMessage = utf8Decoder.decode(bytes);
28
- }
29
- catch (e) {
30
- console.warn(e);
31
- }
32
- try {
33
- const jsonMessage = JSON.parse(decodedMessage);
34
- if (jsonMessage && typeof jsonMessage === 'object') {
35
- preparedMessage = jsonMessage;
41
+ catch (e) {
42
+ console.warn(e);
36
43
  }
37
- else {
44
+ try {
45
+ const jsonMessage = JSON.parse(decodedMessage);
46
+ if (jsonMessage && typeof jsonMessage === 'object') {
47
+ preparedMessage = jsonMessage;
48
+ }
49
+ else {
50
+ preparedMessage = decodedMessage;
51
+ }
52
+ }
53
+ catch (e) {
38
54
  preparedMessage = decodedMessage;
55
+ console.warn(e);
39
56
  }
40
57
  }
41
- catch (e) {
42
- preparedMessage = decodedMessage;
43
- console.warn(e);
44
- }
45
58
  let isJson = false;
46
59
  if (typeof preparedMessage === 'object' && safeParseNumber(size) <= UNIPIKA_MAX_SIZE) {
47
60
  isJson = true;
@@ -50,10 +63,20 @@ export function TopicMessage({ offset, size, message }) {
50
63
  preparedMessage = JSON.stringify(preparedMessage, null, 2);
51
64
  }
52
65
  return { preparedMessage, decodedMessage, isJson };
53
- }, [message, size]);
54
- const messageContent = isJson ? (_jsx(JsonViewer
55
- // key is used to reset JsonViewer state to collapsed due to performance issues on close fullscreen mode if nodes quantity is big enough https://github.com/ydb-platform/ydb-embedded-ui/issues/2265
56
- , { collapsedInitially: true, value: preparedMessage, toolbarClassName: b('json-viewer-toolbar'), scrollContainerRef: sectionScrollRef }, String(isFullscreen))) : (_jsx("div", { className: b('string-message'), children: _jsx(ShortyString, { value: preparedMessage, limit: 2000 }, String(isFullscreen)) }));
66
+ }, [message, size, isSchematized]);
67
+ const renderMessageContent = () => {
68
+ if (!hasMessage) {
69
+ return null;
70
+ }
71
+ if (isJson) {
72
+ return (_jsx(JsonViewer
73
+ // key is used to reset JsonViewer state to collapsed due to performance issues on close fullscreen mode if nodes quantity is big enough https://github.com/ydb-platform/ydb-embedded-ui/issues/2265
74
+ , { collapsedInitially: true, value: preparedMessage, toolbarClassName: b('json-viewer-toolbar'), scrollContainerRef: sectionScrollRef }, String(isFullscreen)));
75
+ }
76
+ return (_jsx("div", { className: b('string-message'), children: _jsx(ShortyString, { value: typeof preparedMessage === 'string'
77
+ ? preparedMessage
78
+ : JSON.stringify(preparedMessage), limit: 2000 }, String(isFullscreen)) }));
79
+ };
57
80
  const renderToolbar = () => {
58
81
  return (_jsxs(Flex, { gap: 1, children: [_jsx(ActionTooltip, { title: i18n('label_download'), children: _jsx(Button, { view: "flat-secondary", onClick: (e) => {
59
82
  e.stopPropagation();
@@ -61,7 +84,7 @@ export function TopicMessage({ offset, size, message }) {
61
84
  }, children: _jsx(Icon, { data: ArrowDownToLine }) }) }), _jsx(ClipboardButton, { view: "flat-secondary", text: decodedMessage })] }));
62
85
  };
63
86
  const truncated = safeParseNumber(size) > MESSAGE_SIZE_LIMIT;
64
- return (_jsx(TopicDataSection, { title: _jsx(MessageTitle, { truncated: truncated }), renderToolbar: renderToolbar, className: b('message'), scrollContainerRef: sectionScrollRef, children: messageContent }));
87
+ return (_jsxs(TopicDataSection, { title: _jsx(MessageTitle, { truncated: truncated }), renderToolbar: hasMessage ? renderToolbar : undefined, className: b('message'), scrollContainerRef: sectionScrollRef, children: [generalSchematizeError && (_jsx(Alert, { className: b('schematize-error'), theme: "danger", message: generalSchematizeError })), messageSchematizeError && (_jsx(Alert, { className: b('schematize-error'), theme: "danger", message: messageSchematizeError, view: "outlined" })), renderMessageContent()] }));
65
88
  }
66
89
  function MessageTitle({ truncated }) {
67
90
  return (_jsxs("span", { children: [i18n('label_message'), truncated && (_jsxs(React.Fragment, { children: [' ', _jsxs(Text, { color: "secondary", children: ["[", i18n('label_truncated', {
@@ -1 +1 @@
1
- {"version":3,"file":"TopicMessage.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE3F,OAAO,EAAC,UAAU,EAAC,MAAM,oDAAoD,CAAC;AAC9E,OAAO,YAAY,MAAM,wDAAwD,CAAC;AAClF,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,+BAA+B,CAAC;AACzE,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,EAAC,kBAAkB,EAAE,CAAC,EAAC,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAEpD,MAAM,gBAAgB,GAAG,OAAS,CAAC;AACnC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;AAQ7C,MAAM,UAAU,YAAY,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAoB;IACnE,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE5D,MAAM,EAAC,eAAe,EAAE,cAAc,EAAE,MAAM,EAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjE,IAAI,eAAe,GAAG,OAAO,CAAC;QAC9B,IAAI,cAAc,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC/C,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACjD,eAAe,GAAG,WAAW,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACJ,eAAe,GAAG,cAAc,CAAC;YACrC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,eAAe,GAAG,cAAc,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACnF,MAAM,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YAChE,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,EAAC,eAAe,EAAE,cAAc,EAAE,MAAM,EAAC,CAAC;IACrD,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpB,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAC5B,KAAC,UAAU;IACP,oMAAoM;QAEpM,kBAAkB,QAClB,KAAK,EAAE,eAAe,EACtB,gBAAgB,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAC1C,kBAAkB,EAAE,gBAAgB,IAJ/B,MAAM,CAAC,YAAY,CAAC,CAK3B,CACL,CAAC,CAAC,CAAC,CACA,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,YAE/B,KAAC,YAAY,IAA4B,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,IAAzD,MAAM,CAAC,YAAY,CAAC,CAAyC,GAC9E,CACT,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,OAAO,CACH,MAAC,IAAI,IAAC,GAAG,EAAE,CAAC,aACR,KAAC,aAAa,IAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,YACxC,KAAC,MAAM,IACH,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;4BACX,CAAC,CAAC,eAAe,EAAE,CAAC;4BACpB,qBAAqB,CACjB,cAAc,EACd,iBAAiB,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,gBAAgB,EAAE,CAChD,CAAC;wBACN,CAAC,YAED,KAAC,IAAI,IAAC,IAAI,EAAE,eAAe,GAAI,GAC1B,GACG,EAChB,KAAC,eAAe,IAAC,IAAI,EAAC,gBAAgB,EAAC,IAAI,EAAE,cAAc,GAAI,IAC5D,CACV,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC;IAE7D,OAAO,CACH,KAAC,gBAAgB,IACb,KAAK,EAAE,KAAC,YAAY,IAAC,SAAS,EAAE,SAAS,GAAI,EAC7C,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EACvB,kBAAkB,EAAE,gBAAgB,YAEnC,cAAc,GACA,CACtB,CAAC;AACN,CAAC;AAMD,SAAS,YAAY,CAAC,EAAC,SAAS,EAAoB;IAChD,OAAO,CACH,2BACK,IAAI,CAAC,eAAe,CAAC,EACrB,SAAS,IAAI,CACV,MAAC,KAAK,CAAC,QAAQ,eACV,GAAG,EACJ,MAAC,IAAI,IAAC,KAAK,EAAC,WAAW,kBAElB,IAAI,CAAC,iBAAiB,EAAE;gCACrB,IAAI,EAAE,SAAS,CAAC,kBAAkB,CAAC;6BACtC,CAAC,SAEC,IACM,CACpB,IACE,CACV,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"TopicMessage.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  import type { TopicMessage } from '../../../../../../types/api/topic';
2
+ type SchemaInfo = {
3
+ ProtoMessageName?: string;
4
+ Protoseq?: string | number;
5
+ SchemaPath?: string;
6
+ };
2
7
  interface TopicMessageGeneralInfoProps {
3
8
  messageData: TopicMessage;
9
+ schemaInfo?: SchemaInfo;
4
10
  }
5
- export declare function TopicMessageGeneralInfo({ messageData }: TopicMessageGeneralInfoProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function TopicMessageGeneralInfo({ messageData, schemaInfo }: TopicMessageGeneralInfoProps): import("react/jsx-runtime").JSX.Element;
6
12
  export {};
@@ -1,6 +1,8 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { DefinitionList, Flex } from '@gravity-ui/uikit';
3
+ import { isNil } from 'lodash';
3
4
  import { formatTimestamp } from '../../../../../../utils/dataFormatters/dataFormatters';
5
+ import i18n from '../../i18n';
4
6
  import { TOPIC_DATA_COLUMNS_IDS } from '../../utils/types';
5
7
  import { b } from '../shared';
6
8
  import { fields } from './fields';
@@ -29,12 +31,34 @@ const dataGroups = [
29
31
  { name: TOPIC_DATA_COLUMNS_IDS.IP, copy: (row) => row.Ip },
30
32
  ],
31
33
  ];
32
- export function TopicMessageGeneralInfo({ messageData }) {
33
- return (_jsx(Flex, { direction: "column", gap: 3, className: b('details'), children: dataGroups.map((group, index) => (_jsx(DefinitionList, { className: b('list'), nameMaxWidth: 200, children: group.map((item) => {
34
- var _a, _b;
35
- const column = fields.find((f) => f.name === item.name);
36
- const copyText = (_a = item.copy) === null || _a === void 0 ? void 0 : _a.call(item, messageData);
37
- return (_jsx(DefinitionList.Item, { name: column === null || column === void 0 ? void 0 : column.header, copyText: copyText, children: (_b = column === null || column === void 0 ? void 0 : column.render) === null || _b === void 0 ? void 0 : _b.call(column, { row: messageData }) }, item.name));
38
- }) }, index))) }));
34
+ const schemaInfoFields = [
35
+ { name: 'ProtoMessageName', header: i18n('label_proto-message-name') },
36
+ { name: 'Protoseq', header: i18n('label_protoseq') },
37
+ { name: 'SchemaPath', header: i18n('label_schema-path') },
38
+ ];
39
+ function renderField(item, messageData) {
40
+ var _a;
41
+ const field = fields.find((f) => f.name === item.name);
42
+ const copyText = (_a = item.copy) === null || _a === void 0 ? void 0 : _a.call(item, messageData);
43
+ return (_jsx(DefinitionList.Item, { name: field === null || field === void 0 ? void 0 : field.header, copyText: copyText, children: field === null || field === void 0 ? void 0 : field.render({ row: messageData }) }, item.name));
44
+ }
45
+ function renderDataGroups(messageData) {
46
+ return dataGroups.map((group, index) => (_jsx(DefinitionList, { className: b('list'), nameMaxWidth: 200, children: group.map((item) => renderField(item, messageData)) }, index)));
47
+ }
48
+ function renderSchemaInfo(schemaInfo) {
49
+ if (!schemaInfo) {
50
+ return null;
51
+ }
52
+ const visibleFields = schemaInfoFields.filter(({ name }) => {
53
+ const value = schemaInfo[name];
54
+ return !isNil(value) && String(value).trim() !== '';
55
+ });
56
+ if (!visibleFields.length) {
57
+ return null;
58
+ }
59
+ return (_jsx(DefinitionList, { className: b('list'), nameMaxWidth: 200, children: visibleFields.map(({ name, header }) => (_jsx(DefinitionList.Item, { name: header, copyText: String(schemaInfo[name]), children: schemaInfo[name] }, name))) }));
60
+ }
61
+ export function TopicMessageGeneralInfo({ messageData, schemaInfo }) {
62
+ return (_jsxs(Flex, { direction: "column", gap: 3, className: b('details'), children: [renderDataGroups(messageData), renderSchemaInfo(schemaInfo)] }));
39
63
  }
40
64
  //# sourceMappingURL=TopicMessageGeneralInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TopicMessageGeneralInfo.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EAAC,eAAe,EAAC,MAAM,uDAAuD,CAAC;AACtF,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,CAAC,EAAC,MAAM,WAAW,CAAC;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAEhC,MAAM,UAAU,GAGR;IACJ;QACI,EAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,EAAC;QACxC,EAAC,IAAI,EAAE,sBAAsB,CAAC,MAAM,EAAC;QACrC,EAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,EAAC;KACtC;IACD;QACI;YACI,IAAI,EAAE,sBAAsB,CAAC,gBAAgB;YAC7C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC;SACtD;QACD;YACI,IAAI,EAAE,sBAAsB,CAAC,eAAe;YAC5C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC;SACrD;QACD,EAAC,IAAI,EAAE,sBAAsB,CAAC,OAAO,EAAC;KACzC;IACD;QACI,EAAC,IAAI,EAAE,sBAAsB,CAAC,aAAa,EAAC;QAC5C,EAAC,IAAI,EAAE,sBAAsB,CAAC,KAAK,EAAC;QACpC,EAAC,IAAI,EAAE,sBAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAC;QACxE,EAAC,IAAI,EAAE,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAC;QAC9D,EAAC,IAAI,EAAE,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAC;KAC3D;CACJ,CAAC;AAMF,MAAM,UAAU,uBAAuB,CAAC,EAAC,WAAW,EAA+B;IAC/E,OAAO,CACH,KAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YACnD,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,KAAC,cAAc,IAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,YAClD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;gBAChB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxD,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,IAAI,qDAAG,WAAW,CAAC,CAAC;gBAC1C,OAAO,CACH,KAAC,cAAc,CAAC,IAAI,IAEhB,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,YAEjB,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,uDAAG,EAAC,GAAG,EAAE,WAAW,EAAC,CAAC,IAJhC,IAAI,CAAC,IAAI,CAKI,CACzB,CAAC;YACN,CAAC,CAAC,IAbwD,KAAK,CAclD,CACpB,CAAC,GACC,CACV,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"TopicMessageGeneralInfo.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.tsx"],"names":[],"mappings":"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"}
@@ -21,6 +21,17 @@
21
21
  &__truncated {
22
22
  font-style: italic;
23
23
  }
24
+ &__message-wrapper {
25
+ display: inline;
26
+ }
27
+ &__schematize-error-icon {
28
+ display: inline-flex;
29
+
30
+ margin-right: var(--g-spacing-1);
31
+
32
+ cursor: pointer;
33
+ vertical-align: text-top;
34
+ }
24
35
  &__help {
25
36
  white-space: pre-wrap;
26
37
  }
@@ -29,10 +29,20 @@ interface TopicDataTsDiffProps {
29
29
  }
30
30
  export declare function TopicDataTsDiff({ value, baseColor, variant, }: TopicDataTsDiffProps): import("react/jsx-runtime").JSX.Element | "—";
31
31
  interface TopicDataMessageProps {
32
- message?: string;
32
+ message?: string | unknown;
33
33
  size?: number;
34
+ messageSchematizeError?: string;
35
+ /**
36
+ * When true the message value is already schematized (including string
37
+ * primitives) and must be rendered as-is without base64 decoding.
38
+ */
39
+ isSchematized?: boolean;
34
40
  }
35
- export declare function TopicDataMessage({ message, size }: TopicDataMessageProps): import("react/jsx-runtime").JSX.Element | "—";
41
+ interface SchematizeErrorIconProps {
42
+ error?: string;
43
+ }
44
+ export declare function SchematizeErrorIcon({ error }: SchematizeErrorIconProps): import("react/jsx-runtime").JSX.Element | null;
45
+ export declare function TopicDataMessage({ message, size, messageSchematizeError, isSchematized, }: TopicDataMessageProps): import("react/jsx-runtime").JSX.Element | "—";
36
46
  interface TopicDataSizeProps {
37
47
  size?: number;
38
48
  }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { TriangleExclamation } from '@gravity-ui/icons';
2
+ import { CircleExclamationFill, TriangleExclamation } from '@gravity-ui/icons';
3
3
  import DataTable from '@gravity-ui/react-data-table';
4
4
  import { ActionTooltip, Icon, Popover, Text } from '@gravity-ui/uikit';
5
5
  import { isNil } from 'lodash';
@@ -9,7 +9,7 @@ import { MultilineTableHeader } from '../../../../../components/MultilineTableHe
9
9
  import { TENANT_DIAGNOSTICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
10
10
  import { TOPIC_MESSAGE_SIZE_LIMIT } from '../../../../../store/reducers/topic';
11
11
  import { cn } from '../../../../../utils/cn';
12
- import { EMPTY_DATA_PLACEHOLDER } from '../../../../../utils/constants';
12
+ import { EMPTY_DATA_PLACEHOLDER, YDB_POPOVER_CLASS_NAME } from '../../../../../utils/constants';
13
13
  import { formatBytes, formatTimestamp } from '../../../../../utils/dataFormatters/dataFormatters';
14
14
  import { isModifiedClickEvent } from '../../../../../utils/events';
15
15
  import { formatToMs } from '../../../../../utils/timeParsers';
@@ -70,7 +70,7 @@ export const messageColumn = {
70
70
  name: TOPIC_DATA_COLUMNS_IDS.MESSAGE,
71
71
  header: TOPIC_DATA_COLUMNS_TITLES[TOPIC_DATA_COLUMNS_IDS.MESSAGE],
72
72
  align: DataTable.LEFT,
73
- render: ({ row: { Message, OriginalSize } }) => (_jsx(TopicDataMessage, { message: Message, size: OriginalSize })),
73
+ render: ({ row: { Message, OriginalSize, SchematizeError, isSchematized } }) => (_jsx(TopicDataMessage, { message: Message, size: OriginalSize, messageSchematizeError: SchematizeError, isSchematized: isSchematized })),
74
74
  width: 500,
75
75
  };
76
76
  export const sizeColumn = {
@@ -187,21 +187,55 @@ export function TopicDataTsDiff({ value, baseColor = 'primary', variant = 'body-
187
187
  const numericValue = safeParseNumber(value);
188
188
  return (_jsx(Text, { variant: variant, color: numericValue >= 100000 ? 'danger' : baseColor, children: formatToMs(numericValue) }));
189
189
  }
190
- export function TopicDataMessage({ message, size }) {
190
+ export function SchematizeErrorIcon({ error }) {
191
+ if (!error) {
192
+ return null;
193
+ }
194
+ return (_jsx(Popover, { className: YDB_POPOVER_CLASS_NAME, content: error, children: _jsx(Text, { color: "danger", className: b('schematize-error-icon'), children: _jsx(Icon, { data: CircleExclamationFill }) }) }));
195
+ }
196
+ export function TopicDataMessage({ message, size, messageSchematizeError, isSchematized, }) {
197
+ const errorIcon = _jsx(SchematizeErrorIcon, { error: messageSchematizeError });
191
198
  if (isNil(message)) {
192
- return EMPTY_DATA_PLACEHOLDER;
199
+ return messageSchematizeError ? (_jsxs("span", { className: b('message-wrapper'), children: [errorIcon, EMPTY_DATA_PLACEHOLDER] })) : (EMPTY_DATA_PLACEHOLDER);
193
200
  }
194
- let encryptedMessage;
201
+ // A schematized value is already a parsed JSON value (object/array or a
202
+ // primitive such as a string) and must be rendered as-is. Only legacy,
203
+ // non-schematized string values are base64-encoded and need decoding. A raw
204
+ // string value alone is ambiguous, so we rely on the `isSchematized` signal
205
+ // derived from the response schema context rather than guessing from the type.
206
+ let messageToRender;
195
207
  let invalid = false;
196
- try {
197
- encryptedMessage = atob(message);
208
+ if (typeof message === 'string') {
209
+ if (isSchematized) {
210
+ messageToRender = message;
211
+ }
212
+ else {
213
+ messageToRender = message;
214
+ try {
215
+ messageToRender = atob(message);
216
+ }
217
+ catch (e) {
218
+ console.warn(e);
219
+ messageToRender = i18n('description_failed-decode');
220
+ invalid = true;
221
+ }
222
+ }
198
223
  }
199
- catch (_a) {
200
- encryptedMessage = i18n('description_failed-decode');
201
- invalid = true;
224
+ else {
225
+ try {
226
+ messageToRender = JSON.stringify(message);
227
+ }
228
+ catch (e) {
229
+ console.warn(e);
230
+ messageToRender = String(message);
231
+ }
202
232
  }
203
233
  const truncated = safeParseNumber(size) > TOPIC_MESSAGE_SIZE_LIMIT;
204
- return (_jsxs(Text, { variant: "body-2", color: invalid ? 'secondary' : 'primary', className: b('message', { invalid }), children: [encryptedMessage, truncated && (_jsxs(Text, { color: "secondary", className: b('truncated'), children: [' ', i18n('description_truncated')] }))] }));
234
+ let title = messageToRender;
235
+ if (truncated) {
236
+ title += ` ${i18n('description_truncated')}`;
237
+ }
238
+ return (_jsxs("span", { className: b('message-wrapper'), children: [errorIcon, _jsxs(Text, { variant: "body-2", color: invalid ? 'secondary' : 'primary', className: b('message', { invalid }), title: title, children: [messageToRender, truncated && (_jsxs(Text, { color: "secondary", className: b('truncated'), children: [' ', i18n('description_truncated')] }))] })] }));
205
239
  }
206
240
  export function TopicDataSize({ size }) {
207
241
  return formatBytes(size);