Merge branch 'dev' into devin/1780356523-fix-pnpm-approve-builds

This commit is contained in:
Konsti Wohlwend 2026-06-02 10:54:48 -07:00 committed by GitHub
commit a9fd68b2a8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 30 additions and 14 deletions

View File

@ -948,12 +948,12 @@ export default function MetricsPage(props: { toSetup: () => void }) {
const [customDateRange, setCustomDateRange] = useState<CustomDateRange | null>(null);
const user = useUser();
const displayName = user?.displayName || user?.primaryEmail || "User";
const truncatedName = displayName.length > 30 ? `${displayName.slice(0, 30)}...` : displayName;
const displayName = user?.displayName || user?.primaryEmail || null;
const truncatedName = displayName && displayName.length > 30 ? `${displayName.slice(0, 30)}...` : displayName;
return (
<PageLayout
title={`Welcome back, ${truncatedName}!`}
title={`Welcome back${truncatedName ? `, ${truncatedName}` : ""}!`}
actions={
<div className="flex items-center gap-2 sm:gap-3 flex-shrink-0">
<TimeRangeToggle

View File

@ -440,7 +440,7 @@
if ((app.importance ?? 0) === importance) {
// TODO escape HTML
appContainer.innerHTML += `
<a href="http://${`${stackPortPrefix}` === "81" ? "" : `p${stackPortPrefix}.`}localhost:${withPrefix(app.portSuffix)}${app.path ?? ""}" target="_blank" rel="noopener noreferrer" class="${app.importance === 2 ? "important" : app.importance === 1 ? "" : "unimportant"}">
<a href="http://${app.portSuffix === "42" ? "127.0.0.1" : (`${stackPortPrefix}` === "81" ? "localhost" : `p${stackPortPrefix}.localhost`)}:${withPrefix(app.portSuffix)}${app.path ?? ""}" target="_blank" rel="noopener noreferrer" class="${app.importance === 2 ? "important" : app.importance === 1 ? "" : "unimportant"}">
<div class="port">:${withPrefix(app.portSuffix)}</div>
<div>
<img src=${app.img || `//localhost:${withPrefix(app.portSuffix)}/favicon.ico`} />

File diff suppressed because one or more lines are too long

View File

@ -218,7 +218,9 @@ The frameworks and languages with explicit SDK support are:
If you already use Hexclave for your product, we recommend you re-use the same project to share your configuration between the two.
<AccordionGroup>
<Accordion title="Option 1: Running Hexclave's dev environment (recommended)" defaultOpen>
<Accordion title="Option 1: Running Hexclave's dashboard locally (recommended)" defaultOpen>
This is the strongly recommended option unless the user has explicitly said otherwise, as it allows usage of `stack.config.ts` files and does not require the user to get project IDs or API keys from the dashboard.
First, create a `stack.config.ts` configuration file in the root directory of the workspace (or anywhere else):
```ts stack.config.ts

File diff suppressed because one or more lines are too long

View File

@ -519,7 +519,9 @@ export function getSdkSetupPrompt(mainType: "ai-prompt" | "nextjs" | "react" | "
` : ""}
<AccordionGroup>
<Accordion title="Option 1: Running Hexclave's dev environment (recommended)" defaultOpen>
<Accordion title="Option 1: Running Hexclave's dashboard locally (recommended)" defaultOpen>
${isAiPrompt ? "This is the strongly recommended option unless the user has explicitly said otherwise, as it allows usage of \`stack.config.ts\` files and does not require the user to get project IDs or API keys from the dashboard." : ""}
First, create a \`stack.config.ts\` configuration file in the root directory of the workspace (or anywhere else):
\`\`\`ts stack.config.ts