@oneuptime/common 10.0.45 → 10.0.46
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/Server/Services/Index.ts +2 -0
- package/Server/Utils/StartServer.ts +25 -12
- package/Tests/UI/Components/ComponentsModal.test.tsx +88 -38
- package/UI/Components/Workflow/ComponentsModal.tsx +348 -59
- package/UI/Utils/Navigation.ts +1 -0
- package/UI/esbuild-config.js +29 -1
- package/build/dist/Server/Services/Index.js +2 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +17 -11
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Tests/UI/Components/ComponentsModal.test.js +33 -24
- package/build/dist/Tests/UI/Components/ComponentsModal.test.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentsModal.js +194 -46
- package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
- package/build/dist/UI/Utils/Navigation.js +1 -0
- package/build/dist/UI/Utils/Navigation.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Show a large modal full of components.
|
|
2
2
|
import ErrorMessage from "../ErrorMessage/ErrorMessage";
|
|
3
3
|
import Icon from "../Icon/Icon";
|
|
4
|
-
import Input from "../Input/Input";
|
|
5
4
|
import SideOver from "../SideOver/SideOver";
|
|
6
5
|
import IconProp from "../../../Types/Icon/IconProp";
|
|
7
6
|
import ComponentMetadata, {
|
|
@@ -12,6 +11,7 @@ import React, {
|
|
|
12
11
|
FunctionComponent,
|
|
13
12
|
ReactElement,
|
|
14
13
|
useEffect,
|
|
14
|
+
useRef,
|
|
15
15
|
useState,
|
|
16
16
|
} from "react";
|
|
17
17
|
|
|
@@ -23,20 +23,62 @@ export interface ComponentProps {
|
|
|
23
23
|
categories: Array<ComponentCategory>;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
const escapeRegExp: (value: string) => string = (value: string): string => {
|
|
27
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const getSearchScore: (
|
|
31
|
+
componentMetadata: ComponentMetadata,
|
|
32
|
+
searchTerm: string,
|
|
33
|
+
) => number = (
|
|
34
|
+
componentMetadata: ComponentMetadata,
|
|
35
|
+
searchTerm: string,
|
|
36
|
+
): number => {
|
|
37
|
+
const title: string = componentMetadata.title.toLowerCase();
|
|
38
|
+
const description: string = componentMetadata.description.toLowerCase();
|
|
39
|
+
const category: string = componentMetadata.category.toLowerCase();
|
|
40
|
+
|
|
41
|
+
let score: number = 0;
|
|
42
|
+
|
|
43
|
+
if (title.startsWith(searchTerm)) {
|
|
44
|
+
score += 140;
|
|
45
|
+
} else if (title.includes(searchTerm)) {
|
|
46
|
+
score += 100;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (category.startsWith(searchTerm)) {
|
|
50
|
+
score += 75;
|
|
51
|
+
} else if (category.includes(searchTerm)) {
|
|
52
|
+
score += 55;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (description.includes(searchTerm)) {
|
|
56
|
+
score += 35;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (
|
|
60
|
+
title.split(" ").some((word: string) => {
|
|
61
|
+
return word.trim().startsWith(searchTerm);
|
|
62
|
+
})
|
|
63
|
+
) {
|
|
64
|
+
score += 15;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return score;
|
|
68
|
+
};
|
|
69
|
+
|
|
26
70
|
const ComponentsModal: FunctionComponent<ComponentProps> = (
|
|
27
71
|
props: ComponentProps,
|
|
28
72
|
): ReactElement => {
|
|
29
73
|
const [search, setSearch] = useState<string>("");
|
|
74
|
+
const searchInputRef: React.RefObject<HTMLInputElement> =
|
|
75
|
+
useRef<HTMLInputElement>(null);
|
|
30
76
|
|
|
31
77
|
const [components, setComponents] = useState<Array<ComponentMetadata>>([]);
|
|
32
78
|
const [categories, setCategories] = useState<Array<ComponentCategory>>([]);
|
|
33
|
-
|
|
34
79
|
const [componentsToShow, setComponentsToShow] = useState<
|
|
35
80
|
Array<ComponentMetadata>
|
|
36
81
|
>([]);
|
|
37
|
-
|
|
38
|
-
const [isSearching, setIsSearching] = useState<boolean>(false);
|
|
39
|
-
|
|
40
82
|
const [selectedComponentMetadata, setSelectedComponentMetadata] =
|
|
41
83
|
useState<ComponentMetadata | null>(null);
|
|
42
84
|
|
|
@@ -44,37 +86,135 @@ const ComponentsModal: FunctionComponent<ComponentProps> = (
|
|
|
44
86
|
setComponents(props.components);
|
|
45
87
|
setComponentsToShow([...props.components]);
|
|
46
88
|
setCategories(props.categories);
|
|
47
|
-
}, []);
|
|
89
|
+
}, [props.categories, props.components]);
|
|
48
90
|
|
|
49
91
|
useEffect(() => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
92
|
+
const normalizedSearch: string = search.trim().toLowerCase();
|
|
93
|
+
|
|
94
|
+
const filteredComponents: Array<ComponentMetadata> = components
|
|
95
|
+
.filter((componentMetadata: ComponentMetadata) => {
|
|
96
|
+
return componentMetadata.componentType === props.componentsType;
|
|
97
|
+
})
|
|
98
|
+
.filter((componentMetadata: ComponentMetadata) => {
|
|
99
|
+
if (!normalizedSearch) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
60
102
|
|
|
61
|
-
setComponentsToShow([
|
|
62
|
-
...components.filter((componentMetadata: ComponentMetadata) => {
|
|
63
103
|
return (
|
|
64
|
-
componentMetadata.
|
|
65
|
-
|
|
104
|
+
componentMetadata.title.toLowerCase().includes(normalizedSearch) ||
|
|
105
|
+
componentMetadata.description
|
|
66
106
|
.toLowerCase()
|
|
67
|
-
.includes(
|
|
68
|
-
|
|
69
|
-
.toLowerCase()
|
|
70
|
-
.includes(search.trim().toLowerCase()) ||
|
|
71
|
-
componentMetadata.category
|
|
72
|
-
.toLowerCase()
|
|
73
|
-
.includes(search.trim().toLowerCase()))
|
|
107
|
+
.includes(normalizedSearch) ||
|
|
108
|
+
componentMetadata.category.toLowerCase().includes(normalizedSearch)
|
|
74
109
|
);
|
|
75
|
-
})
|
|
76
|
-
|
|
77
|
-
|
|
110
|
+
})
|
|
111
|
+
.sort((componentA: ComponentMetadata, componentB: ComponentMetadata) => {
|
|
112
|
+
if (!normalizedSearch) {
|
|
113
|
+
return componentA.title.localeCompare(componentB.title);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const scoreDifference: number =
|
|
117
|
+
getSearchScore(componentB, normalizedSearch) -
|
|
118
|
+
getSearchScore(componentA, normalizedSearch);
|
|
119
|
+
|
|
120
|
+
if (scoreDifference !== 0) {
|
|
121
|
+
return scoreDifference;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return componentA.title.localeCompare(componentB.title);
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
setComponentsToShow(filteredComponents);
|
|
128
|
+
}, [components, props.componentsType, search]);
|
|
129
|
+
|
|
130
|
+
useEffect(() => {
|
|
131
|
+
searchInputRef.current?.focus();
|
|
132
|
+
}, []);
|
|
133
|
+
|
|
134
|
+
useEffect(() => {
|
|
135
|
+
const handleKeyDown: (event: KeyboardEvent) => void = (
|
|
136
|
+
event: KeyboardEvent,
|
|
137
|
+
): void => {
|
|
138
|
+
const target: HTMLElement | null = event.target as HTMLElement | null;
|
|
139
|
+
|
|
140
|
+
const isTypingContext: boolean = Boolean(
|
|
141
|
+
target &&
|
|
142
|
+
(target.tagName === "INPUT" ||
|
|
143
|
+
target.tagName === "TEXTAREA" ||
|
|
144
|
+
target.getAttribute("contenteditable") === "true"),
|
|
145
|
+
);
|
|
146
|
+
|
|
147
|
+
if (
|
|
148
|
+
event.key === "/" &&
|
|
149
|
+
!event.metaKey &&
|
|
150
|
+
!event.ctrlKey &&
|
|
151
|
+
!event.altKey &&
|
|
152
|
+
!isTypingContext
|
|
153
|
+
) {
|
|
154
|
+
event.preventDefault();
|
|
155
|
+
searchInputRef.current?.focus();
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
160
|
+
|
|
161
|
+
return () => {
|
|
162
|
+
window.removeEventListener("keydown", handleKeyDown);
|
|
163
|
+
};
|
|
164
|
+
}, []);
|
|
165
|
+
|
|
166
|
+
const hasSearchTerm: boolean = search.trim().length > 0;
|
|
167
|
+
const normalizedSearch: string = search.trim().toLowerCase();
|
|
168
|
+
const totalComponentCount: number = components.length;
|
|
169
|
+
const componentTypeLabel: string = `${props.componentsType.toLowerCase()}${
|
|
170
|
+
totalComponentCount === 1 ? "" : "s"
|
|
171
|
+
}`;
|
|
172
|
+
const suggestedCategories: Array<ComponentCategory> = categories
|
|
173
|
+
.filter((category: ComponentCategory) => {
|
|
174
|
+
return components.some((componentMetadata: ComponentMetadata) => {
|
|
175
|
+
return componentMetadata.category === category.name;
|
|
176
|
+
});
|
|
177
|
+
})
|
|
178
|
+
.slice(0, 4);
|
|
179
|
+
|
|
180
|
+
const renderHighlightedText: (
|
|
181
|
+
text: string,
|
|
182
|
+
markClassName?: string,
|
|
183
|
+
) => React.ReactNode = (
|
|
184
|
+
text: string,
|
|
185
|
+
markClassName?: string,
|
|
186
|
+
): React.ReactNode => {
|
|
187
|
+
if (!hasSearchTerm) {
|
|
188
|
+
return text;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
const highlightedParts: Array<string> = text.split(
|
|
192
|
+
new RegExp(`(${escapeRegExp(search.trim())})`, "ig"),
|
|
193
|
+
);
|
|
194
|
+
|
|
195
|
+
return (
|
|
196
|
+
<>
|
|
197
|
+
{highlightedParts.map((part: string, index: number) => {
|
|
198
|
+
if (part.toLowerCase() === normalizedSearch) {
|
|
199
|
+
return (
|
|
200
|
+
<mark
|
|
201
|
+
key={`${part}-${index}`}
|
|
202
|
+
className={
|
|
203
|
+
markClassName || "rounded bg-amber-100 px-0.5 text-current"
|
|
204
|
+
}
|
|
205
|
+
>
|
|
206
|
+
{part}
|
|
207
|
+
</mark>
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
return (
|
|
212
|
+
<React.Fragment key={`${part}-${index}`}>{part}</React.Fragment>
|
|
213
|
+
);
|
|
214
|
+
})}
|
|
215
|
+
</>
|
|
216
|
+
);
|
|
217
|
+
};
|
|
78
218
|
|
|
79
219
|
return (
|
|
80
220
|
<SideOver
|
|
@@ -93,31 +233,151 @@ const ComponentsModal: FunctionComponent<ComponentProps> = (
|
|
|
93
233
|
<>
|
|
94
234
|
<div className="flex flex-col h-full">
|
|
95
235
|
{/* Search box */}
|
|
96
|
-
<div className="mt-4 mb-
|
|
97
|
-
<div className="
|
|
98
|
-
<div className="
|
|
99
|
-
<
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
236
|
+
<div className="mt-4 mb-5">
|
|
237
|
+
<div className="rounded-3xl border border-slate-200 bg-gradient-to-br from-white via-indigo-50 to-slate-50 p-3 shadow-sm">
|
|
238
|
+
<div className="mb-3 flex items-start justify-between gap-3">
|
|
239
|
+
<div className="min-w-0">
|
|
240
|
+
<label
|
|
241
|
+
htmlFor="workflow-component-search"
|
|
242
|
+
className="block text-xs font-semibold uppercase tracking-wide text-slate-500"
|
|
243
|
+
>
|
|
244
|
+
Search {componentTypeLabel}
|
|
245
|
+
</label>
|
|
246
|
+
<p className="mt-1 text-sm text-slate-600">
|
|
247
|
+
{hasSearchTerm
|
|
248
|
+
? "Showing the closest matches first across title, description, and category."
|
|
249
|
+
: `Find the right ${props.componentsType.toLowerCase()} by name, category, or the job you need it to do.`}
|
|
250
|
+
</p>
|
|
251
|
+
</div>
|
|
252
|
+
<div className="inline-flex flex-shrink-0 items-center rounded-full bg-white/90 px-3 py-1 text-xs font-semibold text-slate-500 ring-1 ring-slate-200">
|
|
253
|
+
{hasSearchTerm
|
|
254
|
+
? `${componentsToShow.length} match${
|
|
255
|
+
componentsToShow.length === 1 ? "" : "es"
|
|
256
|
+
}`
|
|
257
|
+
: `${totalComponentCount} available`}
|
|
258
|
+
</div>
|
|
103
259
|
</div>
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
260
|
+
|
|
261
|
+
<div className="relative flex items-center gap-3 rounded-2xl border border-slate-200 bg-white/90 px-3 py-3 shadow-sm transition-all duration-200 hover:border-slate-300 focus-within:border-indigo-500 focus-within:ring-4 focus-within:ring-indigo-100">
|
|
262
|
+
<div className="flex h-11 w-11 flex-shrink-0 items-center justify-center rounded-2xl bg-gradient-to-br from-white via-indigo-50 to-sky-100 text-indigo-600 ring-1 ring-indigo-100 shadow-sm">
|
|
263
|
+
<Icon icon={IconProp.Search} className="h-4 w-4" />
|
|
264
|
+
</div>
|
|
265
|
+
<div className="min-w-0 flex-1">
|
|
266
|
+
<input
|
|
267
|
+
id="workflow-component-search"
|
|
268
|
+
ref={searchInputRef}
|
|
269
|
+
type="text"
|
|
270
|
+
value={search}
|
|
271
|
+
placeholder={`Search ${componentTypeLabel} by name, description, or category`}
|
|
272
|
+
autoComplete="off"
|
|
273
|
+
className="block w-full border-0 bg-transparent p-0 text-base font-semibold text-slate-900 placeholder:text-slate-400 focus:outline-none focus:ring-0"
|
|
274
|
+
onChange={(event: React.ChangeEvent<HTMLInputElement>) => {
|
|
275
|
+
setSearch(event.target.value);
|
|
276
|
+
}}
|
|
277
|
+
onKeyDown={(
|
|
278
|
+
event: React.KeyboardEvent<HTMLInputElement>,
|
|
279
|
+
) => {
|
|
280
|
+
if (event.key === "Escape" && hasSearchTerm) {
|
|
281
|
+
setSearch("");
|
|
282
|
+
searchInputRef.current?.focus();
|
|
283
|
+
}
|
|
284
|
+
}}
|
|
285
|
+
/>
|
|
286
|
+
<div className="mt-1 flex flex-wrap items-center gap-2 text-xs text-slate-500">
|
|
287
|
+
<span>
|
|
288
|
+
{hasSearchTerm
|
|
289
|
+
? `Showing ${componentsToShow.length} of ${totalComponentCount} ${componentTypeLabel}.`
|
|
290
|
+
: "Searches title, description, and category."}
|
|
291
|
+
</span>
|
|
292
|
+
{!hasSearchTerm && (
|
|
293
|
+
<span className="hidden items-center gap-1 rounded-full bg-slate-100 px-2 py-1 font-medium text-slate-500 sm:inline-flex">
|
|
294
|
+
<kbd className="rounded bg-white px-1.5 py-0.5 text-[10px] font-semibold text-slate-500 ring-1 ring-slate-200">
|
|
295
|
+
/
|
|
296
|
+
</kbd>
|
|
297
|
+
Quick focus
|
|
298
|
+
</span>
|
|
299
|
+
)}
|
|
300
|
+
{hasSearchTerm && (
|
|
301
|
+
<span className="hidden items-center gap-1 rounded-full bg-indigo-50 px-2 py-1 font-medium text-indigo-600 sm:inline-flex">
|
|
302
|
+
<kbd className="rounded bg-white px-1.5 py-0.5 text-[10px] font-semibold text-indigo-600 ring-1 ring-indigo-100">
|
|
303
|
+
Esc
|
|
304
|
+
</kbd>
|
|
305
|
+
Clear search
|
|
306
|
+
</span>
|
|
307
|
+
)}
|
|
308
|
+
</div>
|
|
309
|
+
</div>
|
|
310
|
+
|
|
311
|
+
{hasSearchTerm && (
|
|
312
|
+
<div className="flex flex-shrink-0 items-center gap-2">
|
|
313
|
+
<button
|
|
314
|
+
type="button"
|
|
315
|
+
className="inline-flex items-center gap-1 rounded-full bg-slate-900 px-3 py-1.5 text-xs font-medium text-white shadow-sm transition-colors duration-150 hover:bg-slate-700"
|
|
316
|
+
onClick={() => {
|
|
317
|
+
setSearch("");
|
|
318
|
+
searchInputRef.current?.focus();
|
|
319
|
+
}}
|
|
320
|
+
>
|
|
321
|
+
<Icon icon={IconProp.Close} className="h-3 w-3" />
|
|
322
|
+
Clear
|
|
323
|
+
</button>
|
|
324
|
+
</div>
|
|
325
|
+
)}
|
|
112
326
|
</div>
|
|
327
|
+
|
|
328
|
+
{suggestedCategories.length > 0 && (
|
|
329
|
+
<div className="mt-3 flex flex-wrap items-center gap-2">
|
|
330
|
+
<span className="text-xs font-medium text-slate-500">
|
|
331
|
+
Quick filters:
|
|
332
|
+
</span>
|
|
333
|
+
{suggestedCategories.map((category: ComponentCategory) => {
|
|
334
|
+
const isActive: boolean =
|
|
335
|
+
normalizedSearch === category.name.toLowerCase();
|
|
336
|
+
|
|
337
|
+
return (
|
|
338
|
+
<button
|
|
339
|
+
key={category.name}
|
|
340
|
+
type="button"
|
|
341
|
+
onClick={() => {
|
|
342
|
+
setSearch(category.name);
|
|
343
|
+
searchInputRef.current?.focus();
|
|
344
|
+
}}
|
|
345
|
+
className={`inline-flex items-center gap-1 rounded-full border px-3 py-1.5 text-xs font-medium transition-colors duration-150 ${
|
|
346
|
+
isActive
|
|
347
|
+
? "border-indigo-200 bg-indigo-50 text-indigo-700"
|
|
348
|
+
: "border-slate-200 bg-white text-slate-600 hover:border-slate-300 hover:bg-slate-50"
|
|
349
|
+
}`}
|
|
350
|
+
>
|
|
351
|
+
<Icon icon={category.icon} className="h-3 w-3" />
|
|
352
|
+
{category.name}
|
|
353
|
+
</button>
|
|
354
|
+
);
|
|
355
|
+
})}
|
|
356
|
+
</div>
|
|
357
|
+
)}
|
|
113
358
|
</div>
|
|
114
359
|
</div>
|
|
115
360
|
|
|
116
361
|
<div className="overflow-y-auto overflow-x-hidden flex-1">
|
|
117
362
|
{!componentsToShow ||
|
|
118
363
|
(componentsToShow.length === 0 && (
|
|
119
|
-
<div className="w-full flex justify-center
|
|
120
|
-
<
|
|
364
|
+
<div className="mt-20 flex w-full flex-col items-center justify-center gap-4 px-4">
|
|
365
|
+
<div className="max-w-2xl">
|
|
366
|
+
<ErrorMessage message="No components that match your search. If you are looking for an integration that does not exist currently - you can use Custom Code or API component to build anything you like." />
|
|
367
|
+
</div>
|
|
368
|
+
{hasSearchTerm && (
|
|
369
|
+
<button
|
|
370
|
+
type="button"
|
|
371
|
+
className="inline-flex items-center gap-2 rounded-full border border-slate-200 bg-white px-4 py-2 text-sm font-medium text-slate-600 shadow-sm transition-colors duration-150 hover:bg-slate-50 hover:text-slate-800"
|
|
372
|
+
onClick={() => {
|
|
373
|
+
setSearch("");
|
|
374
|
+
searchInputRef.current?.focus();
|
|
375
|
+
}}
|
|
376
|
+
>
|
|
377
|
+
<Icon icon={IconProp.Close} className="h-3.5 w-3.5" />
|
|
378
|
+
Reset search
|
|
379
|
+
</button>
|
|
380
|
+
)}
|
|
121
381
|
</div>
|
|
122
382
|
))}
|
|
123
383
|
|
|
@@ -223,17 +483,41 @@ const ComponentsModal: FunctionComponent<ComponentProps> = (
|
|
|
223
483
|
|
|
224
484
|
{/* Text */}
|
|
225
485
|
<div style={{ minWidth: 0, flex: 1 }}>
|
|
226
|
-
<
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
486
|
+
<div className="flex items-start justify-between gap-2">
|
|
487
|
+
<p
|
|
488
|
+
style={{
|
|
489
|
+
fontSize: "0.8125rem",
|
|
490
|
+
fontWeight: 600,
|
|
491
|
+
color: isSelected ? "#4338ca" : "#1e293b",
|
|
492
|
+
margin: 0,
|
|
493
|
+
lineHeight: "1.25rem",
|
|
494
|
+
}}
|
|
495
|
+
>
|
|
496
|
+
{renderHighlightedText(
|
|
497
|
+
componentMetadata.title,
|
|
498
|
+
isSelected
|
|
499
|
+
? "rounded bg-white/80 px-0.5 text-current"
|
|
500
|
+
: "rounded bg-amber-100 px-0.5 text-current",
|
|
501
|
+
)}
|
|
502
|
+
</p>
|
|
503
|
+
|
|
504
|
+
{hasSearchTerm && (
|
|
505
|
+
<span
|
|
506
|
+
className={`mt-0.5 inline-flex flex-shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium ${
|
|
507
|
+
isSelected
|
|
508
|
+
? "bg-white/80 text-indigo-700"
|
|
509
|
+
: "bg-slate-100 text-slate-500"
|
|
510
|
+
}`}
|
|
511
|
+
>
|
|
512
|
+
{renderHighlightedText(
|
|
513
|
+
componentMetadata.category,
|
|
514
|
+
isSelected
|
|
515
|
+
? "rounded bg-indigo-100 px-0.5 text-current"
|
|
516
|
+
: "rounded bg-white px-0.5 text-current",
|
|
517
|
+
)}
|
|
518
|
+
</span>
|
|
519
|
+
)}
|
|
520
|
+
</div>
|
|
237
521
|
<p
|
|
238
522
|
style={{
|
|
239
523
|
fontSize: "0.75rem",
|
|
@@ -247,7 +531,12 @@ const ComponentsModal: FunctionComponent<ComponentProps> = (
|
|
|
247
531
|
overflow: "hidden",
|
|
248
532
|
}}
|
|
249
533
|
>
|
|
250
|
-
{
|
|
534
|
+
{renderHighlightedText(
|
|
535
|
+
componentMetadata.description,
|
|
536
|
+
isSelected
|
|
537
|
+
? "rounded bg-white/80 px-0.5 text-current"
|
|
538
|
+
: "rounded bg-amber-100 px-0.5 text-current",
|
|
539
|
+
)}
|
|
251
540
|
</p>
|
|
252
541
|
</div>
|
|
253
542
|
|
package/UI/Utils/Navigation.ts
CHANGED
package/UI/esbuild-config.js
CHANGED
|
@@ -180,6 +180,31 @@ function readEnvFile(pathToFile) {
|
|
|
180
180
|
return env;
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
+
function resolvePackageRoot(packageName) {
|
|
184
|
+
const resolutionPaths = [
|
|
185
|
+
process.cwd(),
|
|
186
|
+
__dirname,
|
|
187
|
+
path.resolve(__dirname, '..'),
|
|
188
|
+
path.resolve(__dirname, '../..'),
|
|
189
|
+
];
|
|
190
|
+
|
|
191
|
+
for (const resolutionPath of resolutionPaths) {
|
|
192
|
+
try {
|
|
193
|
+
const packageJsonPath = require.resolve(`${packageName}/package.json`, {
|
|
194
|
+
paths: [resolutionPath],
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
return path.dirname(packageJsonPath);
|
|
198
|
+
} catch (error) {
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
throw new Error(
|
|
204
|
+
`Unable to locate ${packageName} package for esbuild alias resolution.`,
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
|
|
183
208
|
/**
|
|
184
209
|
* Create esbuild configuration for a service
|
|
185
210
|
* @param {Object} options - Configuration options
|
|
@@ -204,6 +229,7 @@ function createConfig(options) {
|
|
|
204
229
|
|
|
205
230
|
const isDev = process.env.NODE_ENV !== 'production';
|
|
206
231
|
const isAnalyze = process.env.analyze === 'true';
|
|
232
|
+
const reactRoot = resolvePackageRoot('react');
|
|
207
233
|
|
|
208
234
|
return {
|
|
209
235
|
entryPoints: [entryPoint],
|
|
@@ -223,7 +249,9 @@ function createConfig(options) {
|
|
|
223
249
|
},
|
|
224
250
|
external: ['react-native-sqlite-storage', ...additionalExternal],
|
|
225
251
|
alias: {
|
|
226
|
-
'react':
|
|
252
|
+
'react': reactRoot,
|
|
253
|
+
'react/jsx-runtime': path.join(reactRoot, 'jsx-runtime.js'),
|
|
254
|
+
'react/jsx-dev-runtime': path.join(reactRoot, 'jsx-dev-runtime.js'),
|
|
227
255
|
...additionalAlias,
|
|
228
256
|
},
|
|
229
257
|
plugins: [createMermaidPlugin(), createRefractorCompatibilityPlugin(), createCSSPlugin(), createFileLoaderPlugin()],
|
|
@@ -30,6 +30,7 @@ import IncidentStateService from "./IncidentStateService";
|
|
|
30
30
|
import IncidentStateTimelineService from "./IncidentStateTimelineService";
|
|
31
31
|
//Labels.
|
|
32
32
|
import LabelService from "./LabelService";
|
|
33
|
+
import KubernetesClusterService from "./KubernetesClusterService";
|
|
33
34
|
import LlmProviderService from "./LlmProviderService";
|
|
34
35
|
import LogService from "./LogService";
|
|
35
36
|
import MailService from "./MailService";
|
|
@@ -234,6 +235,7 @@ const services = [
|
|
|
234
235
|
IncidentStateTimelineService,
|
|
235
236
|
IncidentFeedService,
|
|
236
237
|
LabelService,
|
|
238
|
+
KubernetesClusterService,
|
|
237
239
|
LlmProviderService,
|
|
238
240
|
MailService,
|
|
239
241
|
MonitorCustomFieldService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../Server/Services/Index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../Server/Services/Index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import CommonAPI from "../API/Index";
|
|
|
3
3
|
import { AppVersion, IsBillingEnabled, getFrontendEnvVars, } from "../EnvironmentConfig";
|
|
4
4
|
import LocalCache from "../Infrastructure/LocalCache";
|
|
5
5
|
import "./Environment";
|
|
6
|
-
import Express, { ExpressJson, ExpressRaw, ExpressStatic, ExpressUrlEncoded, } from "./Express";
|
|
6
|
+
import Express, { ExpressJson, ExpressRaw, ExpressStatic, ExpressUrlEncoded, headerValueToString, } from "./Express";
|
|
7
7
|
import logger from "./Logger";
|
|
8
8
|
import "./Process";
|
|
9
9
|
import Response from "./Response";
|
|
@@ -77,22 +77,21 @@ app.use((req, _res, next) => {
|
|
|
77
77
|
next();
|
|
78
78
|
});
|
|
79
79
|
/*
|
|
80
|
-
* Parse protobuf (binary) bodies for OTLP
|
|
81
|
-
*
|
|
82
|
-
*
|
|
80
|
+
* Parse protobuf (binary) bodies for non-OTLP routes.
|
|
81
|
+
* OTLP HTTP ingestion bypasses the global body parsers and handles raw/gzip
|
|
82
|
+
* payloads in the telemetry router to avoid conflicts with the merged app stack.
|
|
83
83
|
*/
|
|
84
84
|
const protobufBodyParserMiddleware = ExpressRaw({
|
|
85
85
|
type: ["application/x-protobuf", "application/protobuf"],
|
|
86
86
|
limit: "50mb",
|
|
87
87
|
});
|
|
88
88
|
app.use((req, res, next) => {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
(contentType.includes("application/x-protobuf") ||
|
|
92
|
-
contentType.includes("application/protobuf"))) {
|
|
93
|
-
protobufBodyParserMiddleware(req, res, next);
|
|
89
|
+
if (req.path.includes("/otlp/v1/")) {
|
|
90
|
+
return next();
|
|
94
91
|
}
|
|
95
|
-
|
|
92
|
+
const contentType = headerValueToString(req.headers["content-type"]);
|
|
93
|
+
const contentEncoding = headerValueToString(req.headers["content-encoding"]);
|
|
94
|
+
if (contentEncoding === null || contentEncoding === void 0 ? void 0 : contentEncoding.includes("gzip")) {
|
|
96
95
|
const buffers = [];
|
|
97
96
|
req.on("data", (chunk) => {
|
|
98
97
|
buffers.push(chunk);
|
|
@@ -109,12 +108,19 @@ app.use((req, res, next) => {
|
|
|
109
108
|
});
|
|
110
109
|
});
|
|
111
110
|
}
|
|
111
|
+
else if (contentType &&
|
|
112
|
+
(contentType.includes("application/x-protobuf") ||
|
|
113
|
+
contentType.includes("application/protobuf"))) {
|
|
114
|
+
protobufBodyParserMiddleware(req, res, next);
|
|
115
|
+
}
|
|
112
116
|
else {
|
|
113
117
|
jsonBodyParserMiddleware(req, res, next);
|
|
114
118
|
}
|
|
115
119
|
});
|
|
116
120
|
app.use((req, res, next) => {
|
|
117
|
-
|
|
121
|
+
var _a;
|
|
122
|
+
if (req.path.includes("/otlp/v1/") ||
|
|
123
|
+
((_a = headerValueToString(req.headers["content-encoding"])) === null || _a === void 0 ? void 0 : _a.includes("gzip"))) {
|
|
118
124
|
next();
|
|
119
125
|
}
|
|
120
126
|
else {
|