@knime/hub-features 1.11.6 → 1.11.8

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @knime/hub-features
2
2
 
3
+ ## 1.11.8
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [170b8d2]
8
+ - @knime/components@1.33.2
9
+
10
+ ## 1.11.7
11
+
12
+ ### Patch Changes
13
+
14
+ - 2e90c18: Add possibility to send and copy stacktrace in RFC errors
15
+
3
16
  ## 1.11.6
4
17
 
5
18
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knime/hub-features",
3
- "version": "1.11.6",
3
+ "version": "1.11.8",
4
4
  "description": "Vue components & composables for shared hub features",
5
5
  "homepage": "https://knime.github.io/webapps-common/",
6
6
  "license": "GPL 3 and Additional Permissions according to Sec. 7 (SEE the file LICENSE)",
@@ -31,9 +31,9 @@
31
31
  "lodash-es": "4.17.21",
32
32
  "ofetch": "^1.4.1",
33
33
  "typescript": "^5.4.5",
34
- "@knime/components": "1.33.1",
35
- "@knime/styles": "1.10.0",
36
- "@knime/utils": "1.5.3"
34
+ "@knime/components": "1.33.2",
35
+ "@knime/utils": "1.5.3",
36
+ "@knime/styles": "1.10.0"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "consola": "3.x",
@@ -6,16 +6,12 @@ import { Button } from "@knime/components";
6
6
  import CheckIcon from "@knime/styles/img/icons/check.svg";
7
7
  import CopyIcon from "@knime/styles/img/icons/copy.svg";
8
8
 
9
- interface Props {
9
+ import type { RFCErrorData } from "./types";
10
+
11
+ type Props = {
10
12
  headline: string; // toast headline, will not be displayed here but needed when copying to clipboard
11
- title: string;
12
- status?: number;
13
- date?: Date;
14
- details?: string[];
15
- requestId?: string;
16
- errorId?: string;
17
13
  canCopyToClipboard?: boolean;
18
- }
14
+ } & RFCErrorData;
19
15
 
20
16
  const props = withDefaults(defineProps<Props>(), {
21
17
  status: undefined,
@@ -78,7 +74,12 @@ const errorForClipboard = computed(() => {
78
74
  }
79
75
 
80
76
  if (props.errorId) {
81
- errorText += props.errorId ? `Error Id: ${props.errorId}\n` : "";
77
+ errorText += `Error Id: ${props.errorId}\n`;
78
+ }
79
+
80
+ if (props.stacktrace) {
81
+ errorText += "------\n"; // separator
82
+ errorText += `Stacktrace:\n\n${props.stacktrace}\n`;
82
83
  }
83
84
 
84
85
  return errorText;
@@ -123,6 +124,9 @@ const onShowDetailsClicked = () => {
123
124
  <div v-if="date"><strong>Date: </strong>{{ formattedDate }}</div>
124
125
  <div v-if="requestId"><strong>Request id: </strong>{{ requestId }}</div>
125
126
  <div v-if="errorId"><strong>Error id: </strong>{{ errorId }}</div>
127
+ <div v-if="stacktrace">
128
+ <strong>Stacktrace: </strong>Part of clipboard text
129
+ </div>
126
130
  <div v-if="canCopyToClipboard" class="copy-button-wrapper">
127
131
  <Button @click="copyToClipboard">
128
132
  <template v-if="copied">
@@ -9,7 +9,16 @@ export type RFCErrorData = {
9
9
  date?: Date;
10
10
  details?: string[];
11
11
  requestId?: string;
12
+ /**
13
+ * Id used to find an error in the Hub logs. Specially relevant
14
+ * when details of the error are not wanted to be exposed to the user.
15
+ */
12
16
  errorId?: string;
17
+ /**
18
+ * Relevant only for the Analytics Platform, since the Hub does not expose
19
+ * stack traces.
20
+ */
21
+ stacktrace?: string;
13
22
  };
14
23
 
15
24
  export class RFCError extends Error {