Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
ba9f6e7
feat(webapp): migrate from the classic Remix compiler to Vite
kathiekiwi Jul 7, 2026
9ae20e5
fix(webapp): move routeOperationsToRun into a server module
kathiekiwi Jul 8, 2026
42244ad
fix(webapp): guard prom metrics registration against vite dev HMR re-…
kathiekiwi Jul 8, 2026
653cb43
fix(webapp): export the builder loader from converted API routes
kathiekiwi Jul 8, 2026
9aadad2
fix(webapp): close vite dev server on shutdown
kathiekiwi Jul 12, 2026
140073d
feat(webapp): add light theme behind feature flag
kathiekiwi Jul 9, 2026
942c2b1
fix(webapp): address light theme review feedback
kathiekiwi Jul 12, 2026
030b9a5
fix(webapp): address light theme review round 2
kathiekiwi Jul 13, 2026
68a919c
fix(webapp): light theme polish for query, apikeys, alerts, regions, …
kathiekiwi Jul 14, 2026
000ccd1
chore(webapp): default theme switcher on for preview (drop before merge)
kathiekiwi Jul 12, 2026
bb34a2e
fix(webapp): scope development branches to each member (#4323)
carderne Jul 22, 2026
a9815f7
fix(cli): stop dev runs crashing when a rebuild removes an in-use bui…
ericallam Jul 22, 2026
7a14188
fix(webapp): limit account email address length (#4330)
carderne Jul 22, 2026
e7de120
fix(webapp): remove Enterprise badge from SSO & Directory Sync menu i…
samejr Jul 22, 2026
81eac67
fix(webapp): correct docs link on the blank prompts page (#4247)
matt-aitken Jul 22, 2026
11d8a05
fix(webapp): restore admin debug tooltip on Tasks and Runs, make its …
samejr Jul 22, 2026
509a459
fix(cli): redact task run env values from debug log (#4336)
carderne Jul 22, 2026
84add4a
feat(supervisor): export workload_token_enforcement_mode gauge (#4335)
nicktrn Jul 22, 2026
14fa906
chore: ignore .worktrees/ in the repo gitignore (#4334)
nicktrn Jul 22, 2026
55a3bf2
feat(core,cli): add node-24 and node-26 runtimes, deprecate experimen…
carderne Jul 22, 2026
b3b1441
fix(webapp): guard workload auth gate metric against dev HMR re-regis…
kathiekiwi Jul 22, 2026
aafc333
chore: release v4.5.7 (#4319)
github-actions[bot] Jul 22, 2026
a7fb3e3
Merge remote-tracking branch 'origin/main' into feat/system-preferenc…
kathiekiwi Jul 22, 2026
a2d382b
feat(webapp): add emission fan-out metrics to the native realtime fee…
ericallam Jul 22, 2026
0ef9d5b
feat(webapp): add Classic, System preference, Dark and Light interfac…
kathiekiwi Jul 22, 2026
23d5771
feat(webapp): unconfigured billing limit UX and default billing alert…
kathiekiwi Jul 22, 2026
6073943
fix(webapp): move theme preference helper out of the server-only module
kathiekiwi Jul 22, 2026
e9ac98b
perf(run-store): route id-set reads to the owning store, not both DBs…
ericallam Jul 22, 2026
ceff1c7
fix(webapp): white delete icon on hover in light theme on env vars page
kathiekiwi Jul 22, 2026
69b7274
feat(webapp): unify System preference accents across dark and light m…
kathiekiwi Jul 23, 2026
3c82248
chore(deps): bump tar to 7.5.19 (#4345)
claude[bot] Jul 23, 2026
6513d67
feat(webapp): move staging and preview env colors off orange/yellow i…
kathiekiwi Jul 23, 2026
6357c7d
feat(webapp): blue dev and teal staging env colors in System themes
kathiekiwi Jul 23, 2026
4c12264
feat(webapp): env colors take three - pink dev, orange staging, blue …
kathiekiwi Jul 23, 2026
fbb55b1
feat(webapp): monochrome side menu icons in System themes
kathiekiwi Jul 23, 2026
17f5492
feat(webapp): monochrome section icons on the limits page in System t…
kathiekiwi Jul 23, 2026
9f80186
feat(webapp): env names inherit text color in System themes, icons ke…
kathiekiwi Jul 23, 2026
78ed1e7
feat(webapp): status labels go monochrome in System themes, icons kee…
kathiekiwi Jul 23, 2026
66f79b0
fix(webapp): prompts blank state uses the nav's pen icon
kathiekiwi Jul 23, 2026
dbbe98e
Merge remote-tracking branch 'origin/feat/queue-metrics-and-health' i…
kathiekiwi Jul 23, 2026
88ca009
fix(docker): stop the container entrypoint printing database connecti…
ericallam Jul 23, 2026
c73b4e7
Merge remote-tracking branch 'origin/main' into feat/light-theme
kathiekiwi Jul 23, 2026
950688d
feat(webapp): queue charts go blue in System themes; burst and warnin…
kathiekiwi Jul 23, 2026
ddf3dbb
feat(webapp): filled status chips and badges in System themes; uncolo…
kathiekiwi Jul 23, 2026
0da446c
fix(webapp): sparkline totals readable in System themes
kathiekiwi Jul 23, 2026
d5373e5
fix(webapp): truncate the Model column on the models table
kathiekiwi Jul 23, 2026
69f9c05
fix(webapp): models table tooltip + no scroll; query schema names rea…
kathiekiwi Jul 23, 2026
c39adbb
feat(webapp): filled rate-limit type pills in System themes
kathiekiwi Jul 23, 2026
ee0179f
feat(webapp): docs buttons get a monochrome label in System themes, i…
kathiekiwi Jul 23, 2026
8bbd59a
feat(webapp): filled quota source badges in System themes
kathiekiwi Jul 23, 2026
7948127
fix(webapp): white count on the rounded badge in System themes
kathiekiwi Jul 23, 2026
945d28f
feat(webapp): monochrome run and span titles in System themes
kathiekiwi Jul 23, 2026
11e2770
fix(webapp): prompt override banner readable on the light theme
kathiekiwi Jul 23, 2026
8c75049
feat(webapp): amber-filled override controls and badges in System themes
kathiekiwi Jul 23, 2026
ab83648
fix(webapp): white override button labels; billing banner icon visibl…
kathiekiwi Jul 23, 2026
5e6a6af
feat(webapp): inverted icon buttons on queue live blocks in System th…
kathiekiwi Jul 23, 2026
d226c31
feat(webapp): BigNumber block buttons follow the standard primary hov…
kathiekiwi Jul 23, 2026
b387d5e
feat(webapp): default badges invert to a blue fill with white text in…
kathiekiwi Jul 23, 2026
99a8b08
fix(webapp): no-machine icon visible on the light theme
kathiekiwi Jul 23, 2026
4b6aa4c
fix(webapp): burst-runs suffix reliably uncolored in System themes
kathiekiwi Jul 23, 2026
188a211
feat(webapp): inverted number stepper buttons in System themes
kathiekiwi Jul 23, 2026
b1974e0
feat(webapp): filled error status chips in System themes
kathiekiwi Jul 23, 2026
68340d8
feat(webapp): settings logo globe icon; System-theme fixes for date g…
kathiekiwi Jul 23, 2026
0ab6217
feat(webapp): replace the wireframe globe icon with GlobeLinesIcon ap…
kathiekiwi Jul 23, 2026
4b56625
fix(webapp): untangle globe icon imports
kathiekiwi Jul 23, 2026
4e774a9
feat(webapp): two chip prominence levels - subtle in dense lists, bri…
kathiekiwi Jul 23, 2026
374b2e7
feat(webapp): subtle badges get a blue tint in System themes
kathiekiwi Jul 23, 2026
a38b1a7
feat(webapp): subtle badges try a colored border with monochrome text…
kathiekiwi Jul 23, 2026
bb38a1b
feat(webapp): lighter fills on queue live-block buttons
kathiekiwi Jul 23, 2026
d22221c
fix(webapp): keep the billing banner button on the darker amber
kathiekiwi Jul 23, 2026
c1ab98f
feat(webapp): error status chips use colored border with monochrome t…
kathiekiwi Jul 23, 2026
db3ca46
feat(webapp): live-block buttons follow the semantic accent tokens
kathiekiwi Jul 23, 2026
632bc23
feat(webapp): list chips settle on tinted background with colored text
kathiekiwi Jul 23, 2026
a1b8310
feat(webapp): all filled buttons use semantic accent tokens
kathiekiwi Jul 23, 2026
81b45cf
feat(webapp): drop the timeline label shadow in System themes
kathiekiwi Jul 23, 2026
80321c1
fix(webapp): filled buttons keep their fill on hover and darken
kathiekiwi Jul 23, 2026
44ab5b0
feat(webapp): queue health chips match the error status chip style an…
kathiekiwi Jul 23, 2026
5bc364b
feat(webapp): limits pills and source badges match the errors chip style
kathiekiwi Jul 23, 2026
819420b
feat(webapp): quota source badges join the tinted chip style
kathiekiwi Jul 23, 2026
7b03086
feat(webapp): centered add-connection button; secondary Remove on pro…
kathiekiwi Jul 23, 2026
9b6424e
feat(webapp): prompt override Remove becomes an outlined secondary bu…
kathiekiwi Jul 23, 2026
38ad170
fix(webapp): query editor toolbar sits on white in the light theme
kathiekiwi Jul 23, 2026
91f98a1
fix(webapp): private connection chips match the default style; white …
kathiekiwi Jul 23, 2026
3e7d5e3
fix(webapp): transparent query toolbar background on light
kathiekiwi Jul 23, 2026
ff1b3de
feat(webapp): lighter grey chart reference series in System themes
kathiekiwi Jul 23, 2026
0689066
feat(webapp): interface contrast slider for the System themes
kathiekiwi Jul 23, 2026
fc2b65f
feat(webapp): contrast overlay covers the full monochrome scale
kathiekiwi Jul 23, 2026
ffa3b52
fix(webapp): light-mode contrast pushes foregrounds, not backgrounds
kathiekiwi Jul 23, 2026
ae288da
feat(webapp): tinted status chips respond to the contrast control
kathiekiwi Jul 23, 2026
17d1a7c
fix(webapp): chips gain a currentColor ring with contrast instead of …
kathiekiwi Jul 23, 2026
722e240
feat(supervisor): add prometheus metric for outbound http requests (#…
nicktrn Jul 23, 2026
7c548ea
feat(webapp): quiet slider variant for the contrast setting
kathiekiwi Jul 23, 2026
3f3c240
feat(webapp): borderless contrast slider thumb; release note covers t…
kathiekiwi Jul 23, 2026
1db252c
feat(webapp): borderless solid thumb on the contrast slider
kathiekiwi Jul 23, 2026
447a663
feat(webapp): contrast slider thumb matches the switch thumb
kathiekiwi Jul 23, 2026
c376521
fix(webapp): pinned theme applies immediately after leaving system pr…
kathiekiwi Jul 23, 2026
b41d0de
fix(webapp): contrast slider thumb visible on the light track
kathiekiwi Jul 23, 2026
4719b7a
fix(webapp): contrast slider thumb reuses the secondary button shadow
kathiekiwi Jul 23, 2026
2fada02
fix(webapp): stronger contrast slider thumb definition
kathiekiwi Jul 23, 2026
8b64da9
Merge remote-tracking branch 'origin/main' into feat/light-theme
kathiekiwi Jul 23, 2026
48f75c5
feat(webapp): logged-out pages follow the OS appearance
kathiekiwi Jul 23, 2026
b8813ce
fix(webapp): hide the dark dashboard backdrop on the light theme
kathiekiwi Jul 23, 2026
d8ce6d4
fix(webapp): logged-out pages stay on the branded Classic look
kathiekiwi Jul 23, 2026
d52c68a
feat(webapp): light blurred backdrop for the new-organization page
kathiekiwi Jul 23, 2026
62f38ae
feat(webapp): close the light-theme gaps from the final audit
kathiekiwi Jul 23, 2026
27172a1
fix(webapp): error screen keeps the dark animation, text stays readab…
kathiekiwi Jul 23, 2026
62c3d4f
revert(webapp): onboarding screenshots stay dark in every theme
kathiekiwi Jul 23, 2026
33a5415
Merge branch 'feat/system-preference-theme' into feat/light-theme
kathiekiwi Jul 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 0 additions & 22 deletions .changeset/chat-custom-agent-capture.md

This file was deleted.

2 changes: 1 addition & 1 deletion .changeset/vite-ignore-optional-imports.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"@trigger.dev/sdk": patch
---

Suppress a build-time warning that could appear in Vite-based projects when the optional `@ai-sdk/otel` package is not installed.
Annotate the optional `@ai-sdk/otel` dynamic import with `@vite-ignore` so Vite-based bundlers don't warn about an unanalyzable import.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,6 @@ apps/**/public/build
ailogger-output.log
# per-package vitest timing capture (transient; merged into root test-timings.json)
.vitest-timing.json

# local git worktree checkouts (not source) — keeps oxfmt/oxlint from descending into them
.worktrees/
6 changes: 6 additions & 0 deletions .server-changes/default-billing-alerts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
area: webapp
type: improvement
---

Organizations without billing alerts now get default spend alert thresholds, so you're notified before usage grows unexpectedly. The billing limit page no longer pre-selects an option before you've set a limit and prompts you to configure one. Alert previews now update immediately after you change your billing limit.
6 changes: 6 additions & 0 deletions .server-changes/entrypoint-no-log-db-connection-strings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
area: webapp
type: fix
---

Container startup no longer prints database and ClickHouse connection strings (with credentials) to the logs.
6 changes: 6 additions & 0 deletions .server-changes/light-theme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
area: webapp
type: feature
---

Adds an opt-in Interface theme setting on the account page behind a feature flag. Choose Classic (the default), System preference (follows your OS), Dark, or Light, and fine-tune the new themes with a contrast slider. System preference switches automatically when your OS appearance changes.
6 changes: 0 additions & 6 deletions .server-changes/prevent-duplicate-root-environments.md

This file was deleted.

6 changes: 6 additions & 0 deletions .server-changes/realtime-emission-fanout-metrics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
area: webapp
type: improvement
---

Add metrics to the realtime backend that measure how often a single changed run is served to multiple subscriptions in one batch.
6 changes: 0 additions & 6 deletions .server-changes/side-menu-project-and-org-menus.md

This file was deleted.

6 changes: 6 additions & 0 deletions .server-changes/supervisor-outbound-request-metrics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
area: supervisor
type: improvement
---

Improved supervisor observability: it now reports metrics for its outbound requests, making failed calls to upstream services easier to monitor.
39 changes: 38 additions & 1 deletion apps/supervisor/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {
isKubernetesEnvironment,
} from "@trigger.dev/core/v3/serverOnly";
import { createK8sApi, createApiserverMetricsFetcher } from "./clients/kubernetes.js";
import { collectDefaultMetrics, Gauge, Histogram } from "prom-client";
import { collectDefaultMetrics, Counter, Gauge, Histogram } from "prom-client";
import { register } from "./metrics.js";
import { PodCleaner } from "./services/podCleaner.js";
import { FailedPodHandler } from "./services/failedPodHandler.js";
Expand Down Expand Up @@ -60,6 +60,21 @@ const workloadCreateDuration = new Histogram({
registers: [register],
});

const outboundRequestsTotal = new Counter({
name: "supervisor_outbound_request_total",
help: "Count of outbound HTTP requests from the supervisor, by target name, method, response status, and outcome (ok, http_error, invalid_response, network_error).",
labelNames: ["name", "method", "status", "outcome"],
registers: [register],
});

const outboundRequestDuration = new Histogram({
name: "supervisor_outbound_request_duration_seconds",
help: "Duration of outbound HTTP requests from the supervisor, by target name and outcome. Includes the HTTP client's internal retries and backoff.",
labelNames: ["name", "outcome"],
buckets: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2, 5, 10, 11, 12.5, 15, 20, 30, 60],
registers: [register],
});

class ManagedSupervisor {
private readonly workerSession: SupervisorSession;
private readonly metricsServer?: HttpServer;
Expand Down Expand Up @@ -322,6 +337,10 @@ class ManagedSupervisor {
runNotificationsEnabled: env.TRIGGER_WORKLOAD_API_ENABLED,
heartbeatIntervalSeconds: env.TRIGGER_WORKER_HEARTBEAT_INTERVAL_SECONDS,
sendRunDebugLogs: env.SEND_RUN_DEBUG_LOGS,
onHttpRequestComplete: ({ name, method, status, outcome, durationMs }) => {
outboundRequestsTotal.inc({ name, method, status, outcome });
outboundRequestDuration.observe({ name, outcome }, durationMs / 1000);
},
preDequeue: async () => {
// Synchronous, hot-path-safe cached read; false when no monitors are active.
const skipForBackpressure = this.backpressureMonitors.some((m) => m.shouldSkipDequeue());
Expand Down Expand Up @@ -692,6 +711,18 @@ class ManagedSupervisor {
headers.traceparent = traceparent;
}

const requestStart = performance.now();
const record = (
status: string,
outcome: "ok" | "http_error" | "invalid_response" | "network_error"
) => {
outboundRequestsTotal.inc({ name: "warm_start", method: "POST", status, outcome });
outboundRequestDuration.observe(
{ name: "warm_start", outcome },
(performance.now() - requestStart) / 1000
);
};

try {
const res = await fetch(warmStartUrlWithPath.href, {
method: "POST",
Expand All @@ -700,8 +731,10 @@ class ManagedSupervisor {
});

if (!res.ok) {
record(String(res.status), "http_error");
this.logger.error("Warm start failed", {
runId: dequeuedMessage.run.id,
statusCode: res.status,
});
return false;
}
Expand All @@ -710,15 +743,19 @@ class ManagedSupervisor {
const parsedData = z.object({ didWarmStart: z.boolean() }).safeParse(data);

if (!parsedData.success) {
record(String(res.status), "invalid_response");
this.logger.error("Warm start response invalid", {
runId: dequeuedMessage.run.id,
data,
});
return false;
}

record(String(res.status), "ok");

return parsedData.data.didWarmStart;
} catch (error) {
record("none", "network_error");
this.logger.error("Warm start error", {
runId: dequeuedMessage.run.id,
error,
Expand Down
12 changes: 11 additions & 1 deletion apps/supervisor/src/workloadToken.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
type WorkloadDeploymentTokenClaims,
type WorkloadDeploymentTokenInput,
} from "@trigger.dev/core/v3";
import { Counter } from "prom-client";
import { Counter, Gauge } from "prom-client";
import { env } from "./env.js";
import { register } from "./metrics.js";

Expand Down Expand Up @@ -37,6 +37,16 @@ const verifyCounter = new Counter({
registers: [register],
});

// Exports the active mode (value 1 for the current WORKLOAD_TOKEN_ENFORCEMENT) so dashboards can show
// disabled/log/enforce at a glance — the counters alone don't distinguish log from enforce.
const enforcementModeGauge = new Gauge({
name: "workload_token_enforcement_mode",
help: "Active runner-boundary auth mode: value 1 for the label matching WORKLOAD_TOKEN_ENFORCEMENT",
labelNames: ["mode"] as const,
registers: [register],
});
enforcementModeGauge.set({ mode: env.WORKLOAD_TOKEN_ENFORCEMENT }, 1);

export async function mintDeploymentToken(
claims: WorkloadDeploymentTokenInput
): Promise<string | undefined> {
Expand Down
33 changes: 19 additions & 14 deletions apps/webapp/app/assets/icons/MachineIcon.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,28 +48,33 @@ export function MachineDefaultIcon({ className }: { className?: string }) {

function MachineIconNoMachine({ className }: { className?: string }) {
return (
<svg className={className} viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<svg
className={cn("text-[#D7D9DD] light:text-charcoal-500", className)}
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M16.1875 13C16.6362 13 17 13.3638 17 13.8125V16.1875C17 16.6362 16.6362 17 16.1875 17H6.18945C6.25882 16.9453 6.32663 16.8872 6.39062 16.8232L10.2139 13H16.1875Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
<path
d="M4.84961 12H3.8125C3.36377 12 3 11.6362 3 11.1875V8.8125C3 8.36377 3.36377 8 3.8125 8H8.84961L4.84961 12ZM16.1875 8C16.6362 8 17 8.36377 17 8.8125V11.1875C17 11.6362 16.6362 12 16.1875 12H11.2139L15.2139 8H16.1875Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
<path
d="M9.85059 7H3.8125C3.36377 7 3 6.63623 3 6.1875V3.8125C3 3.36377 3.36377 3 3.8125 3H13.8506L9.85059 7Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
<line
x1="3"
y1="16.9998"
x2="17.0018"
y2="2.99805"
stroke="#D7D9DD"
stroke="currentColor"
strokeOpacity="0.4"
strokeWidth="2"
strokeLinecap="round"
Expand All @@ -83,17 +88,17 @@ function MachineIconMicro({ className }: { className?: string }) {
<svg className={className} viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M16.1875 13C16.6362 13 17 13.3638 17 13.8125V16.1875C17 16.6362 16.6362 17 16.1875 17H3.8125C3.36377 17 3 16.6362 3 16.1875V13.8125C3 13.3638 3.36377 13 3.8125 13H16.1875ZM5 14C4.44772 14 4 14.4477 4 15C4 15.5523 4.44772 16 5 16C5.55228 16 6 15.5523 6 15C6 14.4477 5.55228 14 5 14Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
<path
d="M16.1875 8C16.6362 8 17 8.36377 17 8.8125V11.1875C17 11.6362 16.6362 12 16.1875 12H3.8125C3.36377 12 3 11.6362 3 11.1875V8.8125C3 8.36377 3.36377 8 3.8125 8H16.1875ZM5 9C4.44772 9 4 9.44772 4 10C4 10.5523 4.44772 11 5 11C5.55228 11 6 10.5523 6 10C6 9.44772 5.55228 9 5 9Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
<path
d="M16.1875 3C16.6362 3 17 3.36377 17 3.8125V6.1875C17 6.63623 16.6362 7 16.1875 7H3.8125C3.36377 7 3 6.63623 3 6.1875V3.8125C3 3.36377 3.36377 3 3.8125 3H16.1875ZM5 4C4.44772 4 4 4.44772 4 5C4 5.55228 4.44772 6 5 6C5.55228 6 6 5.55228 6 5C6 4.44772 5.55228 4 5 4Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
</svg>
Expand All @@ -109,12 +114,12 @@ function MachineIconSmall1x({ className }: { className?: string }) {
/>
<path
d="M16.1875 8C16.6362 8 17 8.36377 17 8.8125V11.1875C17 11.6362 16.6362 12 16.1875 12H3.8125C3.36377 12 3 11.6362 3 11.1875V8.8125C3 8.36377 3.36377 8 3.8125 8H16.1875ZM5 9C4.44772 9 4 9.44772 4 10C4 10.5523 4.44772 11 5 11C5.55228 11 6 10.5523 6 10C6 9.44772 5.55228 9 5 9Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
<path
d="M16.1875 3C16.6362 3 17 3.36377 17 3.8125V6.1875C17 6.63623 16.6362 7 16.1875 7H3.8125C3.36377 7 3 6.63623 3 6.1875V3.8125C3 3.36377 3.36377 3 3.8125 3H16.1875ZM5 4C4.44772 4 4 4.44772 4 5C4 5.55228 4.44772 6 5 6C5.55228 6 6 5.55228 6 5C6 4.44772 5.55228 4 5 4Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
</svg>
Expand All @@ -130,12 +135,12 @@ function MachineIconSmall2x({ className }: { className?: string }) {
/>
<path
d="M16.1875 8C16.6362 8 17 8.36377 17 8.8125V11.1875C17 11.6362 16.6362 12 16.1875 12H3.8125C3.36377 12 3 11.6362 3 11.1875V8.8125C3 8.36377 3.36377 8 3.8125 8H16.1875ZM5 9C4.44772 9 4 9.44772 4 10C4 10.5523 4.44772 11 5 11C5.55228 11 6 10.5523 6 10C6 9.44772 5.55228 9 5 9Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
<path
d="M16.1875 3C16.6362 3 17 3.36377 17 3.8125V6.1875C17 6.63623 16.6362 7 16.1875 7H3.8125C3.36377 7 3 6.63623 3 6.1875V3.8125C3 3.36377 3.36377 3 3.8125 3H16.1875ZM5 4C4.44772 4 4 4.44772 4 5C4 5.55228 4.44772 6 5 6C5.55228 6 6 5.55228 6 5C6 4.44772 5.55228 4 5 4Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
</svg>
Expand All @@ -155,7 +160,7 @@ function MachineIconMedium1x({ className }: { className?: string }) {
/>
<path
d="M16.1875 3C16.6362 3 17 3.36377 17 3.8125V6.1875C17 6.63623 16.6362 7 16.1875 7H3.8125C3.36377 7 3 6.63623 3 6.1875V3.8125C3 3.36377 3.36377 3 3.8125 3H16.1875ZM5 4C4.44772 4 4 4.44772 4 5C4 5.55228 4.44772 6 5 6C5.55228 6 6 5.55228 6 5C6 4.44772 5.55228 4 5 4Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
</svg>
Expand All @@ -175,7 +180,7 @@ function MachineIconMedium2x({ className }: { className?: string }) {
/>
<path
d="M16.1875 3C16.6362 3 17 3.36377 17 3.8125V6.1875C17 6.63623 16.6362 7 16.1875 7H3.8125C3.36377 7 3 6.63623 3 6.1875V3.8125C3 3.36377 3.36377 3 3.8125 3H16.1875ZM5 4C4.44772 4 4 4.44772 4 5C4 5.55228 4.44772 6 5 6C5.55228 6 6 5.55228 6 5C6 4.44772 5.55228 4 5 4Z"
fill="#D7D9DD"
fill="currentColor"
fillOpacity="0.4"
/>
</svg>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion apps/webapp/app/components/AskAI.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@ function ChatMessages({
<div className="flex flex-col">
<Callout variant="error" className="mb-4">
<Paragraph className="font-semibold text-error">Error generating answer:</Paragraph>
<Paragraph className="text-rose-300">
<Paragraph className="text-rose-500 dark:text-rose-300">
{error} If the problem persists after retrying, please contact support.
</Paragraph>
</Callout>
Expand Down
Loading
Loading