Skip to content

Commit 21cc7b6

Browse files
committed
wip: hide if there is no metadata
1 parent 3e3e11e commit 21cc7b6

File tree

1 file changed

+46
-35
lines changed

1 file changed

+46
-35
lines changed

src/remote.ts

Lines changed: 46 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -450,39 +450,57 @@ export class Remote {
450450
},
451451
})
452452

453+
agentMetadataEventSource.addEventListener("error", () => {
454+
agentMetadataStatusBarItem.hide()
455+
})
456+
457+
agentMetadataEventSource.addEventListener("open", () => {
458+
agentMetadataStatusBarItem.show()
459+
})
460+
453461
agentMetadataEventSource.addEventListener("data", (event) => {
454-
const AgentMetadataEventSchema = z
455-
.object({
456-
result: z.object({
457-
collected_at: z.string(),
458-
age: z.number(),
459-
value: z.string(),
460-
error: z.string(),
461-
}),
462-
description: z.object({
463-
display_name: z.string(),
464-
key: z.string(),
465-
script: z.string(),
466-
interval: z.number(),
467-
timeout: z.number(),
468-
}),
469-
})
470-
.array()
462+
try {
463+
const AgentMetadataEventSchema = z
464+
.object({
465+
result: z.object({
466+
collected_at: z.string(),
467+
age: z.number(),
468+
value: z.string(),
469+
error: z.string(),
470+
}),
471+
description: z.object({
472+
display_name: z.string(),
473+
key: z.string(),
474+
script: z.string(),
475+
interval: z.number(),
476+
timeout: z.number(),
477+
}),
478+
})
479+
.array()
471480

472-
const dataEvent = JSON.parse(event.data)
473-
const agentMetadata = AgentMetadataEventSchema.parse(dataEvent)
474-
agentMetadataStatusBarItem.text = `Agent: ${agent?.name}`
481+
const dataEvent = JSON.parse(event.data)
482+
const agentMetadata = AgentMetadataEventSchema.parse(dataEvent)
475483

476-
const tooltipData = agentMetadata.map((agentMetadata) => {
477-
return [agentMetadata.description.display_name.trim(), agentMetadata.result.value.replace("\n", "").trim()]
478-
})
484+
if (agentMetadata.length === 0) {
485+
agentMetadataStatusBarItem.hide()
486+
agentMetadataEventSource.close()
487+
}
479488

480-
const tooltipMarkdown = new vscode.MarkdownString(
481-
"| | | " + "\n" + "|:--- | ---: |" + "\n" + tooltipData.map((row) => `| ${row[0]} | ${row[1]} |`).join("\n"),
482-
)
489+
agentMetadataStatusBarItem.text = "$(symbol-variable) Metadata"
483490

484-
agentMetadataStatusBarItem.tooltip = tooltipMarkdown
485-
agentMetadataStatusBarItem.show()
491+
const tooltipData = agentMetadata.map((agentMetadata) => {
492+
return [agentMetadata.description.display_name.trim(), agentMetadata.result.value.replace("\n", "").trim()]
493+
})
494+
495+
const tooltipMarkdown = new vscode.MarkdownString(
496+
"| | | " + "\n" + "|:--- | ---: |" + "\n" + tooltipData.map((row) => `| ${row[0]} | ${row[1]} |`).join("\n"),
497+
)
498+
499+
agentMetadataStatusBarItem.tooltip = tooltipMarkdown
500+
} catch (error) {
501+
agentMetadataStatusBarItem.hide()
502+
agentMetadataEventSource.close()
503+
}
486504
})
487505
}
488506

@@ -738,10 +756,3 @@ export class Remote {
738756
})
739757
}
740758
}
741-
/**
742-
* | A | B |
743-
* | -----: |------- |
744-
* | a | b |
745-
* | aaaa | rodrigo |
746-
*/
747-
function test() {}

0 commit comments

Comments
 (0)