Check out our new feature!
', subject: 'Product Updates', @@ -48,12 +48,12 @@ If a user has unsubscribed from Marketing emails, the email will be automaticall ## Sending emails -Emails are sent from your server using `stackServerApp.sendEmail()`. You must provide the content (HTML, a template, or a draft) and the recipients. +Emails are sent from your server using `hexclaveServerApp.sendEmail()`. You must provide the content (HTML, a template, or a draft) and the recipients. ### Send to specific users ```typescript -await stackServerApp.sendEmail({ +await hexclaveServerApp.sendEmail({ userIds: ['user-id-1', 'user-id-2'], subject: 'Welcome to our platform!', html: 'Thanks for joining us.
', @@ -63,7 +63,7 @@ await stackServerApp.sendEmail({ ### Send to all users ```typescript -await stackServerApp.sendEmail({ +await hexclaveServerApp.sendEmail({ allUsers: true, templateId: 'your-template-id', subject: 'We just shipped a big update', @@ -78,7 +78,7 @@ await stackServerApp.sendEmail({ If you've composed an email in the dashboard's draft editor, you can trigger it programmatically. See [Drafts](/guides/dashboard-references/emails/drafts) for the full workflow. ```typescript -await stackServerApp.sendEmail({ +await hexclaveServerApp.sendEmail({ userIds: ['user-id'], draftId: 'your-draft-id', }); @@ -87,7 +87,7 @@ await stackServerApp.sendEmail({ ### Full options ```typescript -await stackServerApp.sendEmail({ +await hexclaveServerApp.sendEmail({ // Recipients - exactly one of these is required: userIds: ['user-id-1'], // specific users // allUsers: true, // or all users in your project @@ -136,11 +136,11 @@ type SendEmailOptions = { `sendEmail` resolves once the email has been queued. If validation fails, the user IDs do not exist, or the project is still using the shared email server, it throws a Hexclave known error with a stable `errorCode`: ```typescript -import { stackServerApp } from '@/stack/server'; +import { hexclaveServerApp } from '@/hexclave/server'; export async function sendTestEmail(userId: string) { try { - await stackServerApp.sendEmail({ + await hexclaveServerApp.sendEmail({ userIds: [userId], html: 'Hello!
', subject: 'Test Email', @@ -180,7 +180,7 @@ Common errors are: Pass a `scheduledAt` date to delay delivery. The email enters the pipeline immediately but won't be sent until the scheduled time. ```typescript -await stackServerApp.sendEmail({ +await hexclaveServerApp.sendEmail({ userIds: ['user-id'], html: 'Happy New Year!
', subject: 'Happy New Year!', @@ -197,10 +197,10 @@ Emails integrate with Hexclave UI components automatically (for example verifica For custom flows, trigger `sendEmail` from your server code: ```typescript -import { stackServerApp } from '@hexclave/next'; +import { hexclaveServerApp } from '@/hexclave/server'; export async function inviteUser(userId: string) { - const result = await stackServerApp.sendEmail({ + const result = await hexclaveServerApp.sendEmail({ userIds: [userId], templateId: 'invitation-template', subject: "You're invited!", diff --git a/docs-mintlify/guides/apps/launch-checklist/overview.mdx b/docs-mintlify/guides/apps/launch-checklist/overview.mdx index 5e46320f3..c7e19033c 100644 --- a/docs-mintlify/guides/apps/launch-checklist/overview.mdx +++ b/docs-mintlify/guides/apps/launch-checklist/overview.mdx @@ -1,20 +1,20 @@ --- title: "Launch Checklist" -description: "Steps to prepare Stack for production use" +description: "Steps to prepare Hexclave for production use" icon: "/images/app-icons/launch-checklist.svg" --- -Stack makes development easy with various default settings, but these settings need to be optimized for security and user experience when moving to production. Here's a checklist of things you need to do before switching to production mode: +Hexclave makes development easy with various default settings, but these settings need to be optimized for security and user experience when moving to production. Here's a checklist of things you need to do before switching to production mode: ## Domains -By default, Stack allows all localhost paths as valid callback URLs. This is convenient for development but poses a security risk in production because attackers could use their own domains as callback URLs to intercept sensitive information. Therefore, in production, Stack must know your domain (e.g., `https://your-website.com`) and only allow callbacks from those domains. +By default, Hexclave allows all localhost paths as valid callback URLs. This is convenient for development but poses a security risk in production because attackers could use their own domains as callback URLs to intercept sensitive information. Therefore, in production, Hexclave must know your domain (e.g., `https://your-website.com`) and only allow callbacks from those domains. Follow these steps when you're ready to push your application to production:
@@ -144,7 +144,7 @@ Some apps let users work either personally or inside a team. Use `allowNull` to
```tsx
"use client";
-import { SelectedTeamSwitcher, useUser } from "@stackframe/stack";
+import { SelectedTeamSwitcher, useUser } from "@hexclave/next";
export function ScopeSwitcher() {
const user = useUser({ or: "redirect" });
diff --git a/docs-mintlify/guides/apps/webhooks/overview.mdx b/docs-mintlify/guides/apps/webhooks/overview.mdx
index b04d144aa..7f2f42889 100644
--- a/docs-mintlify/guides/apps/webhooks/overview.mdx
+++ b/docs-mintlify/guides/apps/webhooks/overview.mdx
@@ -1,16 +1,16 @@
---
title: "Webhooks"
-description: "Receive real-time updates when events occur in your Stack project"
+description: "Receive real-time updates when events occur in your Hexclave project"
icon: "/images/app-icons/webhooks.svg"
---
-Webhooks are a powerful way to keep your backend in sync with Stack. They allow you to receive real-time updates when events occur in your Stack project, such as when a user or team is created, updated, or deleted.
+Webhooks are a powerful way to keep your backend in sync with Hexclave. They allow you to receive real-time updates when events occur in your Hexclave project, such as when a user or team is created, updated, or deleted.
For payload schemas and generated webhook event references, see the [webhook API reference](/api/webhooks/users/usercreated).
## Setting up webhooks
-In the Stack dashboard, you can create a webhook endpoint in the "Webhooks" section. After creating this endpoint with your server URL, you will start receiving POST requests with a JSON payload at that endpoint. The event payload will look something like this:
+In the Hexclave dashboard, you can create a webhook endpoint in the "Webhooks" section. After creating this endpoint with your server URL, you will start receiving POST requests with a JSON payload at that endpoint. The event payload will look something like this:
```json
{
@@ -39,7 +39,7 @@ The **Webhooks** dashboard page embeds the endpoint manager where you create end
The main Webhooks page shows your webhook endpoints. Each endpoint includes:
-- **Endpoint URL** - The URL Stack sends events to.
+- **Endpoint URL** - The URL Hexclave sends events to.
- **Description** - Optional label for your own reference.
- **Status** - **Active** or **Disabled**.
- **Actions** - View details, test, edit, or delete the endpoint.
@@ -69,12 +69,16 @@ Endpoint rows have a **Test** action, and newly-created endpoints can be tested
{
"type": "stack.test",
"data": {
- "message": "Stack webhook test event triggered from the Stack dashboard.",
+ "message": "Hexclave webhook test event triggered from the Hexclave dashboard.",
"endpointUrl": "https://example.com/api/webhooks/stack"
}
}
```
+