Commit Graph

3283 Commits

Author SHA1 Message Date
Bilal Godil
28d3aeac98 Hexclave rename PR5: regenerate docs index + llms-full after rebase onto dev
Rebased PR5 onto origin/dev (which now contains the squash-merged friendly-lewin
base + PR4). Regenerated docs-json.generated.ts (hexclave-app slugs + redirects)
and llms-full.txt ([Hexclave App] link text) to match the Step 18 docs renames
on the new base. typecheck + lint green (28/28).
2026-06-03 12:21:18 -07:00
Bilal Godil
e1e36dbe9b Hexclave rename PR5: fix review findings (Step 21)
- BUG: apps/dashboard/scripts/bundle-type-definitions.ts pointed at the
  renamed-away packages/template/src/lib/stack-app, so its glob matched 0 files
  and silently emptied BUNDLED_TYPE_DEFINITIONS (dashboard AI type bundle).
  Fixed -> lib/hexclave-app; regenerated bundle now contains 23 files.
- Stale source-path comments: urls.tsx, admin-metrics.ts.
- Removed dead STACK_RUN_SETUP_WIZARD_TESTS CI var (its only consumer, the
  init-stack setup-wizard test, was deleted).
- Removed stale packages/stack/* entries from .gitignore + .dockerignore
  (dir renamed to packages/next, whose entries already exist).
typecheck + lint green.
2026-06-03 12:17:56 -07:00
Bilal Godil
bf9326b80f Hexclave rename PR5: reword stale MCP test titles (Step 20/F)
mcp.test.ts test descriptions 'Stack Auth docs assistant tool' -> 'Hexclave';
MCP content itself already uses ask_hexclave. Kept the :185 negative-assertion
guard that verifies the old 'Set up Stack Auth's MCP' string stays absent.
typecheck + lint green.
2026-06-03 12:17:56 -07:00
Bilal Godil
834ccb5cd6 Hexclave rename PR5: rename dashboard src/stack -> src/hexclave (Step 19/A)
git mv apps/dashboard/src/stack -> src/hexclave (client.tsx/server.tsx) and
updated the 4 real @/stack/* importers to @/hexclave/*. Left the setup-page
copy-paste snippets teaching the user-project stack/ convention untouched
(that is a separate user-facing/init decision). typecheck + lint green.
2026-06-03 12:17:56 -07:00
Bilal Godil
2f4f5ba9da Hexclave rename PR5: docs-mintlify brand prose + doc file renames (Step 18/F)
Reworded Stack Auth -> Hexclave in restricted-users.mdx; renamed stack-app.mdx
(guides + sdk/objects) and use-stack-app.mdx -> hexclave-app / use-hexclave-app;
updated docs.json slugs + cross-links and added redirects from old slugs.
Kept migration.mdx + 'formerly known as Stack Auth' historical notes.
docs build validation + typecheck + lint green.
2026-06-03 12:17:56 -07:00
Bilal Godil
63e5582f0c Hexclave rename PR5: reword code brand strings (Step 17/F)
Reworded 'Stack Auth'/'Stack dashboard'/'Stack Dashboard' -> Hexclave in
known-errors, permission CRUD descriptions, webhook test messages, init prompt,
page-component-versions walkthrough prompts, internal-tool + emulator labels.
Regenerated OpenAPI (admin/server.json) via codegen; updated the coupled
authorize.test.ts assertions in lockstep. Kept intentional mentions (rebrand
modal, migration/historical notes). MCP brand content deferred (coupled to the
kept ask_stack_auth tool). NOTE: e2e suite not run locally — assertion changes
verified by grep only. typecheck + lint green.
2026-06-03 12:17:56 -07:00
Bilal Godil
a0644b82e1 Hexclave rename PR5: rename package dirs to drop stack- prefix (Step 16/A)
git mv packages/stack-shared->shared, stack-ui->ui, stack-sc->sc, stack-cli->cli,
and stack->next (the generated @hexclave/next pkg, regenerated via generate-sdks
dest change). Fixed deep-relative imports (pacifica/surface.tsx), tailwind content
glob, CI emulator paths, root cli script, generate-setup-prompt-docs + skills
relative imports, and comments. Reinstalled. build + typecheck + lint green (28/28).
2026-06-03 12:17:56 -07:00
Bilal Godil
3570877d08 Hexclave rename PR5: delete packages/init-stack (Step 15/B)
Removed the deprecated standalone init wizard package and the e2e setup-wizard
test that exec'd it (onboarding now lives in @hexclave/cli init). pnpm-workspace
uses packages/* glob so no manifest edit needed; reinstalled. The published
@stackframe/init-stack npm package is left untouched. typecheck + lint green (28/28).
2026-06-03 12:17:56 -07:00
Bilal Godil
88f1560639 Hexclave rename PR5: rename @stackframe/template -> @hexclave/template (Step 14/B)
Renamed the internal codegen-source package name (package.json +
package-template.json template-platform macro). Added @hexclave/template to
config-rendering CONFIG_IMPORT_PACKAGES while keeping @stackframe/template for
back-compat detection. Reinstalled + rebuilt packages. typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
2262894a4d Hexclave rename PR5: rename lib/stack-app -> lib/hexclave-app (Step 13/A)
git mv packages/template/src/lib/stack-app -> lib/hexclave-app and updated all
internal import paths; regenerated SDKs. Internal module path only; public API
unchanged. typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
bb1c181621 Hexclave rename PR5: rename [...stack] route segment to [...hexclave] (Step 12/A)
git mv handler/[...stack] -> handler/[...hexclave] in dashboard, internal-tool,
and 7 examples (docs/ excluded). Pure catch-all param-key rename; public /handler/*
URL unchanged and routeProps/params are @deprecated/unread. Regenerated stale
Next .next/types. typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
fd8212023a Hexclave rename PR5: rename skills/ dir and stack-companion (Step 11/A)
skills/stack-auth -> skills/hexclave (+ docs URL), and
dashboard components/stack-companion.{tsx,/} -> hexclave-companion.
typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
3d8ea0a647 Hexclave rename PR5: rename app stack.* files (Step 10/C)
git mv backend/src/stack.tsx -> hexclave.tsx, internal-tool/src/stack.ts ->
hexclave.ts, dashboard/src/lib/stack-app-internals.ts -> hexclave-app-internals.ts;
updated import specifiers. (stack-companion file+dir deferred to dir-rename step.)
typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
6616f6c4a4 Hexclave rename PR5: rename template handler/provider/context files (Step 9/C)
git mv stack-handler{,-client}.tsx -> hexclave-handler{,-client}.tsx and
stack-{context,provider,provider-client}.tsx -> hexclave-* in packages/template;
updated internal import paths; regenerated SDKs. typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
582415d10c Hexclave rename PR5: doctor + init prefer hexclave.config.ts (Step 8/G)
doctor config-file check now prefers hexclave.config.{ts,js} with stack.config.*
as fallback; init prompt mentions hexclave.config.ts. typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
bb1ba8509b Hexclave rename PR5: rename app-internal symbols (backend/dashboard/mcp/e2e)
Step 7: getStackStripe, expandStackPortPrefix, __stack_* prisma/email markers,
StackAdminAppContext, is/getStackAppTokenInternals, data-stack-handler-page,
createStackMcpHandler -> hexclave*. App-internal only. Kept: stack-scope CSS
(shipped/published UI contract), legacy stack-auth-side helpers. typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
5b6f5a6e38 Hexclave rename PR5: rename template impl classes, private method, devtool CSS
Step 6c: _Stack*AppImpl(Incomplete) classes, _LazyStackAdminAppImpl,
StackClientAppImplConstructorOptionsResolved, the private
_currentUrlLooksLikeStackOAuthCallback method (and its e2e spy), and the
.stack-devtool dev-tool CSS class -> hexclave*. All template-internal.
typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
9e9274a0db Hexclave rename PR5: rename app-internals symbol + internals types
Step 6b: stackAppInternalsSymbol -> hexclaveAppInternalsSymbol and
StackAppInternals/StackAppTokenInternals/StackAppRequestInternals -> Hexclave*
across template (SDK export), dashboard, and examples. The customer-visible
Symbol.for("StackAuth--...--StackAppInternals") string is preserved (dual-attach).
Full package rebuild; typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
be6c6efde9 Hexclave rename PR5: rename template-internal symbols (no external consumers)
Step 6a: StackContext/StackContextValue/StackProviderClient/StackHandlerClient/
StackHandlerProps/StackDevTool/StackRouter/StackOAuthCallback/StackAuthHeaders/
StackAppImport -> Hexclave*. All confined to packages/template/src (not public
entrypoint exports, no in-repo consumers outside template). typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
c91a23ee88 Hexclave rename PR5: rename stack*App local-variable convention
Step 5: rename lowercase local vars stackApp/stackServerApp/stackClientApp/
stackAdminApp -> hexclave* across SDK source, apps, examples, and docs-mintlify
(docs/ excluded). Public StackServerApp/StackClientApp classes and the
useStackApp hook are unchanged. typecheck + lint green.
2026-06-03 12:17:14 -07:00
Bilal Godil
e3f211f260 Hexclave rename PR5: rename internal @hexclave/shared symbols + add plan
Steps 1-4: rename file-local and cross-package internal identifiers in
@hexclave/shared (and their consumers) from stack*/Stack* to hexclave*/Hexclave*.
Wire/compat names, public SDK aliases, and legacy stack-auth.com-side names
(cloud-hosts) intentionally left unchanged. typecheck + lint green.
2026-06-03 12:17:14 -07:00
BilalG1
501ae9fe61
PR 4: Rename Stack -> Hexclave: examples config module, app-internal symbols, crypto docs (#1534)
## What

Continues the **Stack Auth → Hexclave** rename for a set of safe,
internal-only surfaces. This intentionally avoids public-contract names.

### Changes
- **Examples** — renamed the user-facing config module
`stack.ts`/`stack.tsx` (and the `convex` / `lovable` `stack/`
directories) to `hexclave`, and updated every importer across
`.ts`/`.tsx`/`.jsx`. The public `app/handler/[...stack]/` route segment
is left unchanged.
- **apps/{dashboard,backend,internal-tool}** — renamed app-local
SDK-init symbols `stackClientApp → hexclaveClientApp` and
`getStackServerApp → getHexclaveServerApp`, and the dashboard
`StackCompanion` component → `HexclaveCompanion` (incl.
`useStackCompanion`, context types). The public
`StackClientApp`/`StackServerApp` SDK classes are **unchanged**.
- **packages/stack-shared** — added comments to the crypto / JWT / vault
`stack-*` literals documenting that they must **not** be renamed (key
derivation / JWKS / KMS-alias stability). The literals are
byte-identical.

### Deliberately excluded
- **`STACK_*` → `HEXCLAVE_*` env-var rename** — `HEXCLAVE_*` already
resolves via the dual-read layers (SDK env, dashboard `_inlineEnvVars`,
`getEnvVariable`). The remaining holdout is the docker post-build
sentinel path, which the codebase authors explicitly deferred and which
is tightly coupled to `entrypoint.sh` + untestable here. A blind rename
there risks silently breaking self-host/emulator bootstrap for ~zero
functional gain.
- **All public-contract names** — SDK class names, env vars, HTTP
headers (`x-stack-*`), and the `/handler` route convention.

## Verification
- `pnpm lint` — **29/29 passing**.
- `pnpm typecheck` — **28/29 passing**; the only failure is
`@hexclave/docs` (pre-existing missing fumadocs `.source` codegen,
untouched by this PR).
- Two rounds of adversarial multi-agent review; findings fixed:
string-literal collateral from the symbol sweep (CLI test fixtures + an
AI-prompt template) reverted, and a missed `.jsx` importer in
`examples/cjs-test` corrected.

## Notes
- Based on a `dev` snapshot from when the branch was cut (a couple
commits behind tip); the diff contains only the changes above.

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Complete the internal “Stack” → “Hexclave” rename across examples,
app-local code, config tooling, and setup docs, and standardize env
output to HEXCLAVE_* with correct default API URL handling. Public SDK
classes, handler routes, and legacy env names keep working.

- **Refactors**
- Examples/config: `stack.*` files and `stack/` dirs →
`hexclave.*`/`hexclave/`; imports updated; keep `app/handler/[...stack]`
route.
- Apps: backend/dashboard/internal-tool now use `getHexclaveServerApp`
and `hexclaveClientApp`; dashboard `StackCompanion` →
`HexclaveCompanion`. Public `StackClientApp`/`StackServerApp` unchanged.
- Env/setup: Next.js and CLI generators write HEXCLAVE_* and omit API
URL when using https://api.stack-auth.com; CLI `doctor` and auth
resolution prefer HEXCLAVE_* (e.g. `HEXCLAVE_SECRET_SERVER_KEY`,
`HEXCLAVE_PROJECT_ID`) with `STACK_*` fallback.
- Config tooling: `stack-config-file` → `hexclave-config-file`, emitting
`HexclaveConfig`; imports updated across backend/dashboard/tooling.
- Shared/docs: added “do not rename” notes for crypto/JWT/vault
`stack-*` literals; regenerated setup prompt/docs to use
`hexclave.config.ts`, `hexclave dev`, and `src/hexclave/`.
- Tests: updated snapshots/assertions to expect `HexclaveConfig` and
HEXCLAVE_* env names.

- **Migration**
  - No action required. SDK and CLI read both HEXCLAVE_* and STACK_*.

<sup>Written for commit 8a891b4f6c.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/hexclave/hexclave/pull/1534?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Refactor**
* Renamed internal app/client/server instances and companion/provider
components to the new product name across backend, dashboard, examples,
and tooling; imports updated accordingly.
* Updated generated environment variable names and CLI init/doctor
outputs to prefer the new product prefix.

* **Documentation**
* Added clarifying notes about vault/encryption and JWT/key labels to
avoid breaking existing encrypted data.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-03 12:09:20 -07:00
github-actions[bot]
a21ba6b2f5 chore: update package versions 2026-06-03 18:09:27 +00:00
Konstantin Wohlwend
22718843f2 Fix unnecessary console.error in hosted components page 2026-06-03 11:08:33 -07:00
Armaan Jain
8b45b4d220
Clarify setup prompt loading indicator guidance (#1518)
<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/hexclave/hexclave/blob/dev/CONTRIBUTING.md

-->

Updated the AI setup prompt to recommend simple loading indicators,
avoid Hexclave-specific loading copy, and clarify that Suspense loading
is a React requirement.

Regenerated the setup prompt docs/snippet outputs.

Validation:
- `pnpm run generate-setup-prompt-docs`
- `pnpm -C /home/ubuntu/repos/stack-auth/packages/stack-shared exec
eslint --ext .tsx,.ts
src/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.ts
--max-warnings=0`
- `pnpm -C /home/ubuntu/repos/stack-auth --filter @hexclave/shared
typecheck`

Link to Devin session:
https://app.devin.ai/sessions/66641224f5b443ddaca700a621e23a4f
Requested by: @Developing-Gamer

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-03 10:48:30 -07:00
devin-ai-integration[bot]
3422577b28
fix(docs): resolve console errors on Mintlify hexclave pages (#1541)
## Summary

Four Mintlify doc pages threw runtime console errors and rendered
broken/empty content. Two distinct root causes:

1. **`HexclaveAgentReminders` snippet** — broke Setup, "Using Hexclave
with AI", and Stack CLI pages (and home). The component referenced a
sibling module-level export (`<pre>{hexclaveReminders}</pre>`), but
Mintlify evaluates an imported snippet component in an isolated scope
that does not include sibling exports, throwing `hexclaveReminders is
not defined`. Fixed by inlining the value into the component (matching
the self-contained pattern of every other working snippet). The snippet
is generated, so the generator `scripts/generate-setup-prompt-docs.ts`
was updated too.

2. **`connected-account.mdx`** — SDK ConnectedAccount page rendered
empty because it used `CollapsibleTypesSection`/`MethodLayout`/etc. but
was missing the `/snippets/sdk-type-components.jsx` import that all
other SDK type pages have (`Expected component CollapsibleTypesSection
to be defined`). Added the import.

## Validation

- All 4 pages render fully with clean browser consoles (verified locally
via the `mint` dev server).
- `mint validate` passes.
- Re-running the generator produces no diff (snippet stays in sync with
the generator).

Link to Devin session:
https://app.devin.ai/sessions/6ef551840f104808937c325d3f105e7a

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Fixes console errors and empty renders in Mintlify Hexclave docs by
making the `HexclaveAgentReminders` snippet self-contained and adding
missing SDK type component imports in `connected-account.mdx`. Also
removes an unused export to avoid duplication.

- **Bug Fixes**
- Inlined content in `HexclaveAgentReminders` and updated
`scripts/generate-setup-prompt-docs.ts` to emit it, resolving
ReferenceError on Setup, Using Hexclave with AI, Stack CLI, and home
pages.
- Added missing `/snippets/sdk-type-components.jsx` import and the
`ContentSection`/`MethodReturns` named imports in
`sdk/types/connected-account.mdx` so type components render.

- **Refactors**
  - Removed the unused `hexclaveReminders` export from the snippet.

<sup>Written for commit b5f2f7a28e.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/hexclave/hexclave/pull/1541?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: aman <aman@stack-auth.com>
2026-06-02 18:15:06 -07:00
github-actions[bot]
fc7174d110 chore: update package versions 2026-06-03 01:10:42 +00:00
Konstantin Wohlwend
b946c6fa47 Fix nested cross domain auth 2026-06-02 17:58:12 -07:00
Konstantin Wohlwend
a659c7727a Fix hydration error 2026-06-02 17:53:30 -07:00
Konsti Wohlwend
cda1510e93
Make demo dev resilient to dashboard build failures (#1542) 2026-06-02 17:50:22 -07:00
Konsti Wohlwend
338f3ce60c
Remove redundant clean + reinstall from npm-publish workflow (#1540) 2026-06-02 17:36:46 -07:00
BilalG1
7d5adeb06e
fix(email): DNSimple zone teardown, managed-domain apply flow (#1527)
## Summary

Three related fixes, surfaced while investigating a production error on
managed email onboarding.

### 1. DNSimple managed-email zone deletion (the reported production
error)
`deleteDnsimpleZoneByName` issued `DELETE /v2/{account}/zones/{zone}`,
but **DNSimple's v2 API has no DELETE endpoint for zones**. Zones are
created here by creating a *domain* (`POST /domains`), so the symmetric
teardown is `DELETE /domains/{name}`, which also removes the hosted
zone. The old call returned a non-OK status, throwing:

> `HexclaveAssertionError: DNSimple returned non-OK status when deleting
managed email zone`

on every managed-domain deletion (the Resend domain was already deleted
by then, so the request 500s and the DNSimple zone leaks). Now deletes
the owning domain.

### 2. `applyManagedEmailProvider` left configs in an invalid state
The apply early-returned on `domain.status === "applied"` **without
rewriting config**. If the config had since drifted (e.g. the user
switched to a shared/other provider and back), re-applying never
restored `password`/`senderName`, so the *rendered* config was invalid
and **every `GET /internal/projects` 500'd** with `Result admin
validation failed in CRUD handler` (dashboard then loops/refreshes). Now
it only short-circuits when the config actually uses the domain
(`isManagedEmailDomainInUseForTenancy`); otherwise it re-provisions and
writes the full valid config.

### 3. Email-settings dashboard: managed domain now uses the staged save
flow
Clicking "Use this domain" fired an immediate API call and only
refreshed the domains *list* — never the project config the UI derives
"active" from — so nothing visibly changed and it appeared not to
persist. Applying a managed domain now matches the other providers:
selecting a domain stages a draft and shows the standard **"Unsaved
changes → Save"** card; **Save** calls `applyManagedEmailProvider`
(which owns the full config write) and then refreshes the reactive
config cache so the UI flips to **Active**.

### 4. Build unblock: `@stackframe/stack-shared` → `@hexclave/shared`
The `@hexclave/*` rename (#1482) missed `createGlobal`'s import in two
template providers, and PR 3 deleted the compat alias — so `pnpm
build:packages` couldn't resolve
`@stackframe/stack-shared/dist/utils/globals` when building the
dashboard. Fixed in the template (generated SDKs follow). *(Independent
of the email fixes, but required to build the branch.)*

## Files
- `apps/backend/src/lib/managed-email-onboarding.tsx` — DNSimple domain
delete + apply re-provision-on-drift
- `apps/dashboard/.../email-settings/domain-settings.tsx` — staged
managed-domain apply
-
`packages/template/src/providers/{stack-context,translation-provider-client}.tsx`
— globals import rename

## Testing
- `tsc --noEmit` and `eslint` clean on `@hexclave/backend` and
`@hexclave/dashboard`.
- `pnpm build:packages` + `pnpm codegen` succeed; dashboard
email-settings route compiles and serves `200`.
- Reproduced the 500 loop locally, root-caused it to a partial managed
config override, and reset the affected project's `emails.server`
override to recover.

## Notes
- Applying a managed domain still calls the API once (to mint the scoped
Resend sending key) — that call now happens on **Save** rather than on
click.
- The older `apps/dashboard/.../emails/page-client.tsx` has the same
immediate-apply pattern; left untouched pending confirmation that screen
is still in use.

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Fixes managed email onboarding: deletes DNSimple domains correctly,
restores a valid managed config on re-apply, and moves managed-domain
apply to a staged Save that waits for the domain list and shows
selection state. Also updates imports to `@hexclave/shared` to unblock
builds.

- **Bug Fixes**
- DNSimple teardown: use DELETE `/domains/{name}` (zones have no
DELETE). Stops errors and zone leaks when removing managed domains.
- `applyManagedEmailProvider`: only short-circuits when the rendered
config already uses the domain; otherwise re-provisions and writes the
full managed config to prevent invalid renders and 500s.
- Dashboard: managed domain selection now stages a draft; Save calls
`applyManagedEmailProvider`, refreshes the config cache, and the UI
updates. Shows “Selected — save to apply,” supports deselecting,
requires a selection, and disables Save until the domains list finishes
loading.

- **Dependencies**
- Renamed globals import from `@stackframe/stack-shared` to
`@hexclave/shared` to restore `pnpm build:packages`.

<sup>Written for commit 6ecb6a1ff8.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/hexclave/hexclave/pull/1527?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Improved detection and recovery for managed email configuration drift
scenarios
* Fixed teardown behavior to avoid leaving inconsistent managed domain
state

* **New Features**
* Managed domain selection now requires explicit save confirmation
before applying
* Added status labels showing current vs staged domain and pending
changes
* Added ability to deselect staged managed domains; deleting a domain
clears any draft
* Save now shows applied sender identity via toast after applying
managed domain
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-02 16:52:51 -07:00
Konsti Wohlwend
bfd15f07d1
Improve development environment loopback error message (#1526) 2026-06-02 15:40:45 -07:00
Konstantin Wohlwend
7d08af0db8 Revert React 19 requirement 2026-06-02 15:22:18 -07:00
Konsti Wohlwend
9fa3a19920
Fix Docker builds for pnpm v11 (#1532) 2026-06-02 14:41:18 -07:00
Armaan Jain
bd910737e1
Clickhouse ready script updated (#1535)
<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/hexclave/hexclave/blob/dev/CONTRIBUTING.md

-->


<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Improve ClickHouse readiness check for local startup and make it
non-blocking with clearer logs. Also tighten workspace build
permissions.

- **Bug Fixes**
- Updated `wait-until-clickhouse-is-ready` to log status, use `wait-on`
with `http-get://`, verbose output, and a 10s timeout; continue with a
warning if ClickHouse isn’t ready.

- **Dependencies**
- Set `@quetzallabs/i18n` to `false` in `pnpm-workspace.yaml`
`allowBuilds` to prevent building that package.

<sup>Written for commit f24cf668b9.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/hexclave/hexclave/pull/1535?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Improved dependency readiness checks with enhanced error handling and
logging during system initialization.
* Updated build configuration to optimize package dependency management
and build processes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-02 11:15:48 -07:00
Konstantin Wohlwend
82f470e564 Move pnpm package.json field to pnpm-workspace.yaml 2026-06-02 11:09:26 -07:00
Konstantin Wohlwend
a2a14833ee Update setup docs 2026-06-02 09:49:50 -07:00
Konstantin Wohlwend
1af0071233 Metrics page improvement 2026-06-01 18:55:29 -07:00
Konstantin Wohlwend
8a6e13fa38 Fix dev launchpad link 2026-06-01 18:48:15 -07:00
Konstantin Wohlwend
2e1bfecb5f Fix types 2026-06-01 16:25:49 -07:00
Konstantin Wohlwend
f9d081da09 Upgrade pnpm to v11.5.0 2026-06-01 15:33:25 -07:00
Konstantin Wohlwend
6fb99c4340 Remove CLAUDE-KNOWLEDGE file 2026-06-01 15:06:23 -07:00
Konstantin Wohlwend
d1d96fdcc4 Update light mode logo 2026-06-01 15:05:44 -07:00
Konstantin Wohlwend
647d63ee5f Update lockfile 2026-06-01 14:52:44 -07:00
Konstantin Wohlwend
97bb65cc33 Fix config overrides for RDEs 2026-06-01 14:51:47 -07:00
Konstantin Wohlwend
64dbc70b8f Update out-of-date error message 2026-06-01 14:46:43 -07:00
github-actions[bot]
64a38d0758 chore: update package versions 2026-06-01 21:41:58 +00:00
BilalG1
011d7d751d
Fix stale e2e CLI + RDE config tests (emulator removal & hexclave rename) (#1528)
## What

Fixes the 9 failing tests in the E2E (Local Emulator) job — 2 test
files, both stale after recent refactors that renamed source but missed
the tests.

### `apps/e2e/tests/general/cli.test.ts` (6 failures)
The `stack emulator` command was removed in #1522 (which also reworded
its auth errors from "local emulator" → "development environment"), but
the e2e tests were never updated:
- Updated two error-string assertions:
- `"Local emulator publishable client key not found"` → `"Development
environment publishable client key not found"`
- `"Cannot reach local emulator"` → `"Cannot reach development
environment"`
- Removed the dead `"Stack CLI — Emulator"` describe block (4 tests for
the deleted `emulator pull/start/stop/list-releases` subcommands) and
the now-unused `CLI_SRC_BIN` const.

###
`apps/dashboard/src/lib/remote-development-environment/config-file.test.ts`
(3 failures)
Leftover `@stackframe/*` names from the `@hexclave` rename:
- Fixture imports `@stackframe/stack-shared/config` →
`@hexclave/shared/config` (the `defineStackConfig` /
`defineHexclaveConfig` cases were failing with `Cannot find module`).
- Rendered-config snapshot type import `@stackframe/js` →
`@hexclave/js`.

## Verification
- `config-file.test.ts`: **7 passed**.
- `cli.test.ts` against a live local backend: **69 passed / 4 skipped /
0 failed** (the 4 skips are environment-gated `it.runIf`/`it.skip`, not
failures).
- Reproduced both CLI error paths against the built CLI binary to
confirm the new strings match exactly.
- `lint` ✓ and `typecheck` ✓ for `@hexclave/e2e-tests` and
`@hexclave/dashboard`.

Only test files are changed — no production code.

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Fixes 9 failing E2E tests by updating CLI error messages and RDE config
test imports after the emulator command removal and the `@hexclave`
rename. Removes obsolete emulator CLI tests; no production code changed.

- **Bug Fixes**
- CLI: updated two error-string assertions to use “Development
environment …” wording.
- CLI: removed the obsolete “Stack CLI — Emulator” test block and the
unused `CLI_SRC_BIN`.
- Dashboard RDE config tests: replaced `@stackframe/stack-shared/config`
with `@hexclave/shared/config`.
  - Snapshot import: `@stackframe/js` → `@hexclave/js`.

<sup>Written for commit a887d7209b.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/hexclave/stack-auth/pull/1528?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Updated error messages to use "development environment" terminology
instead of "emulator" references.

* **Tests**
* Adjusted test assertions and imports for consistency with updated
terminology.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 14:31:01 -07:00
Konstantin Wohlwend
66242c9e63 Mark @stackframe packages as deprecated 2026-06-01 14:30:19 -07:00