diff --git a/frontend/src/components/Flow/NodePanel.tsx b/frontend/src/components/Flow/NodePanel.tsx index 9d7c747..cfafc0b 100644 --- a/frontend/src/components/Flow/NodePanel.tsx +++ b/frontend/src/components/Flow/NodePanel.tsx @@ -49,7 +49,13 @@ import { secretsQueryOptions, useParamSuggestions, } from "./queries" -import { InfoTip, PANEL_SECTION, PanelTitle, SidePanel } from "./SidePanel" +import { + FieldLabel, + InfoTip, + PANEL_SECTION, + PanelTitle, + SidePanel, +} from "./SidePanel" const NodeEditor = lazy(() => import("./NodeEditor")) @@ -782,7 +788,14 @@ function ParamsForm({ const reference = (params[key] ?? null) as { $secret?: string } | null return (
- + + {label} + -

- {secrets.length - ? property.description || - "Stored in the secrets store, never in the flow file." - : "No secrets stored yet."} -

+ {secrets.length ? null : ( +

+ No secrets stored yet. +

+ )}
) } @@ -819,9 +831,9 @@ function ParamsForm({ property.type === "integer" || property.type === "number" return (
- + set(key, numeric ? Number(next) : next)} /> - {property.description ? ( -

- {property.description} -

- ) : null} {key === "cron" ? (
-

Remote users

+
+

Remote users

+ + They get a user of their own here, not yours, and never a + superuser, so they cannot pass access on. + +

- Let someone else reach this instance through the portal. They - get a user of their own here — not yours, and never a - superuser, so they cannot pass access on. + Let someone else reach this instance through the portal.

- +
+ + + Added users appear under Admin → Users; deleting them there + ends their access. + +

They get a code at fluksio.com → Instances → Join an instance. - Added users appear under Admin → Users; deleting them there - ends their access.

diff --git a/frontend/src/routes/_layout/alerts.tsx b/frontend/src/routes/_layout/alerts.tsx index 625172b..b426827 100644 --- a/frontend/src/routes/_layout/alerts.tsx +++ b/frontend/src/routes/_layout/alerts.tsx @@ -4,6 +4,7 @@ import { Bell, BellOff, Plus, Send, Trash2 } from "lucide-react" import { useState } from "react" import { type AlertsConfig, AlertsService, type Channel } from "@/client" +import { InfoTip } from "@/components/Flow/SidePanel" import { Button } from "@/components/ui/button" import { Checkbox } from "@/components/ui/checkbox" import { Input } from "@/components/ui/input" @@ -161,9 +162,7 @@ function Alerts() {

Alerts

- Where the engine goes when something breaks. A channel is somewhere to - send to; a rule says which failures go to which channels. The same - fault repeating is held back until its cooldown passes. + Where the engine goes when something breaks.

{data ? : null} @@ -229,7 +228,14 @@ function AlertsForm({ initial }: { initial: AlertsConfig }) {
-

Channels

+
+

Channels

+ + Somewhere to send to. A setting can hold{" "} + {`{"$secret": "name"}`} instead + of the value itself, and the stored secret is used. + +
-

Rules

+
+

Rules

+ + Which failures go to which channels. The same fault repeating is + held back until its cooldown passes. + +