diff --git a/apps/webapp/app/bootstrap.ts b/apps/webapp/app/bootstrap.ts index 84c13c061f8..301fffab5d0 100644 --- a/apps/webapp/app/bootstrap.ts +++ b/apps/webapp/app/bootstrap.ts @@ -40,7 +40,7 @@ async function createWorkerGroup() { console.log(` ========================== -Trigger.dev Bootstrap - Worker Token +AirTrigger Bootstrap - Worker Token WARNING: This will only be shown once. Save it now! diff --git a/apps/webapp/app/components/AskAI.tsx b/apps/webapp/app/components/AskAI.tsx index 814d4649c8f..9c8b0866edd 100644 --- a/apps/webapp/app/components/AskAI.tsx +++ b/apps/webapp/app/components/AskAI.tsx @@ -230,7 +230,7 @@ function ChatMessages({ ]; return ( -
+
{conversation.length === 0 ? ( - I'm trained on docs, examples, and other content. Ask me anything about Trigger.dev. + I'm trained on docs, examples, and other content. Ask me anything about AirTrigger. {exampleQuestions.map((question, index) => ( - Preview branches in Trigger.dev create isolated environments for testing new features before + Preview branches in AirTrigger create isolated environments for testing new features before production. diff --git a/apps/webapp/app/components/DevPresence.tsx b/apps/webapp/app/components/DevPresence.tsx index 7a99dab37a5..b94e644d3ba 100644 --- a/apps/webapp/app/components/DevPresence.tsx +++ b/apps/webapp/app/components/DevPresence.tsx @@ -169,8 +169,8 @@ export function DevPresencePanel({ isConnected }: { isConnected: boolean | undef {isConnected === undefined ? "Checking connection..." : isConnected - ? "Your local dev server is connected to Trigger.dev" - : "Your local dev server is not connected to Trigger.dev"} + ? "Your local dev server is connected to AirTrigger" + : "Your local dev server is not connected to AirTrigger"}
{isConnected ? null : ( @@ -180,7 +180,7 @@ export function DevPresencePanel({ isConnected }: { isConnected: boolean | undef Run this CLI dev command to connect to - the Trigger.dev servers to start developing locally. Keep it running while you develop + the AirTrigger servers to start developing locally. Keep it running while you develop to stay connected. Learn more in the{" "} CLI docs. @@ -210,7 +210,7 @@ export function DevDisconnectedBanner({ isConnected }: { isConnected: boolean | iconSpacing="gap-1" LeadingIcon={} > - Your local dev server is not connected to Trigger.dev + Your local dev server is not connected to AirTrigger diff --git a/apps/webapp/app/components/ErrorDisplay.tsx b/apps/webapp/app/components/ErrorDisplay.tsx index 5787a2edbac..cf5c2e5d08c 100644 --- a/apps/webapp/app/components/ErrorDisplay.tsx +++ b/apps/webapp/app/components/ErrorDisplay.tsx @@ -43,7 +43,7 @@ type DisplayOptionsProps = { export function ErrorDisplay({ title, message, button }: DisplayOptionsProps) { return ( -
+
{title} {message && {message}} diff --git a/apps/webapp/app/components/Feedback.tsx b/apps/webapp/app/components/Feedback.tsx index ecfd4e88c9a..49880f7181b 100644 --- a/apps/webapp/app/components/Feedback.tsx +++ b/apps/webapp/app/components/Feedback.tsx @@ -114,7 +114,7 @@ export function Feedback({ button, defaultValue = "bug", onOpenChange }: Feedbac panelClassName="w-full mb-2" > - The quickest way to get answers from the Trigger.dev team and community is to{" "} + The quickest way to get answers from the AirTrigger team and community is to{" "} ask in our Discord. diff --git a/apps/webapp/app/components/LoginPageLayout.tsx b/apps/webapp/app/components/LoginPageLayout.tsx index d9ac7ceb4d7..21dd4c9c98e 100644 --- a/apps/webapp/app/components/LoginPageLayout.tsx +++ b/apps/webapp/app/components/LoginPageLayout.tsx @@ -1,60 +1,20 @@ -import { useEffect, useState } from "react"; -import { AppsmithLogo } from "~/assets/logos/AppsmithLogo"; -import { CalComLogo } from "~/assets/logos/CalComLogo"; -import { LyftLogo } from "~/assets/logos/LyftLogo"; -import { MiddayLogo } from "~/assets/logos/MiddayLogo"; -import { TldrawLogo } from "~/assets/logos/TldrawLogo"; -import { UnkeyLogo } from "~/assets/logos/UnkeyLogo"; import { LogoType } from "./LogoType"; import { LinkButton } from "./primitives/Buttons"; -import { Header3 } from "./primitives/Headers"; import { Paragraph } from "./primitives/Paragraph"; import { TextLink } from "./primitives/TextLink"; import { BookOpenIcon } from "@heroicons/react/20/solid"; -interface QuoteType { - quote: string; - person: string; -} - -const quotes: QuoteType[] = [ - { - quote: "Trigger.dev is redefining background jobs for modern developers.", - person: "Paul Copplestone, Supabase", - }, - { - quote: - "Trigger.dev is a great way to automate email campaigns with Resend, and we've heard nothing but good things from our mutual customers.", - person: "Zeno Rocha, Resend", - }, - { - quote: "We love Trigger.dev and it’s had a big impact in dev iteration velocity already.", - person: "André Neves, ZBD", - }, - { - quote: - "We’ve been looking for a product like Trigger.dev for a really long time - automation that's simple and developer-focused.", - person: "Han Wang, Mintlify", - }, -]; - export function LoginPageLayout({ children }: { children: React.ReactNode }) { - const [randomQuote, setRandomQuote] = useState(null); - useEffect(() => { - const randomIndex = Math.floor(Math.random() * quotes.length); - setRandomQuote(quotes[randomIndex]); - }, []); - return (
- + @@ -63,27 +23,21 @@ export function LoginPageLayout({ children }: { children: React.ReactNode }) {
{children}
- Having login issues? Email us{" "} - or ask us in Discord + Having login issues?{" "} + Email us
- - {randomQuote?.quote} - - {randomQuote?.person} -
-
- Trusted by developers at -
- - - - - - +
+

+ Background jobs, simplified. +

+

+ Run reliable background tasks with zero infrastructure overhead. Build, deploy, and + monitor your workflows from one place. +

diff --git a/apps/webapp/app/components/LogoIcon.tsx b/apps/webapp/app/components/LogoIcon.tsx index 365c7c90c63..0da161c4b08 100644 --- a/apps/webapp/app/components/LogoIcon.tsx +++ b/apps/webapp/app/components/LogoIcon.tsx @@ -1,32 +1,20 @@ export function LogoIcon({ className }: { className?: string }) { return ( + - - - - - - + ); } diff --git a/apps/webapp/app/components/LogoType.tsx b/apps/webapp/app/components/LogoType.tsx index 76a88fce1a1..91fa16bd30b 100644 --- a/apps/webapp/app/components/LogoType.tsx +++ b/apps/webapp/app/components/LogoType.tsx @@ -1,190 +1,32 @@ export function LogoType({ className }: { className?: string }) { return ( - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + {/* Icon */} + + + + {/* Text */} + + AirTrigger + ); } diff --git a/apps/webapp/app/components/code/AIQueryInput.tsx b/apps/webapp/app/components/code/AIQueryInput.tsx index 0775ec2c2a0..c251a2964a5 100644 --- a/apps/webapp/app/components/code/AIQueryInput.tsx +++ b/apps/webapp/app/components/code/AIQueryInput.tsx @@ -267,7 +267,7 @@ export function AIQueryInput({ onChange={(e) => setPrompt(e.target.value)} disabled={isLoading} rows={8} - className="m-0 min-h-10 w-full resize-none border-0 bg-background-bright px-3 py-2.5 text-sm text-text-bright scrollbar-thin scrollbar-track-transparent scrollbar-thumb-charcoal-600 file:border-0 file:bg-transparent file:text-base file:font-medium placeholder:text-text-dimmed focus:border-0 focus:outline-none focus:ring-0 focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50" + className="m-0 min-h-10 w-full resize-none border-0 bg-background-bright px-3 py-2.5 text-sm text-text-bright scrollbar-thin scrollbar-track-transparent scrollbar-thumb-gray-300 file:border-0 file:bg-transparent file:text-base file:font-medium placeholder:text-text-dimmed focus:border-0 focus:outline-none focus:ring-0 focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50" onKeyDown={(e) => { if (e.key === "Enter" && !e.shiftKey && prompt.trim() && !isLoading) { e.preventDefault(); @@ -400,7 +400,7 @@ export function AIQueryInput({ )}
-
+
{thinking}

}> {thinking}
diff --git a/apps/webapp/app/components/code/CodeBlock.tsx b/apps/webapp/app/components/code/CodeBlock.tsx index 8757acc324e..a6c4e781cff 100644 --- a/apps/webapp/app/components/code/CodeBlock.tsx +++ b/apps/webapp/app/components/code/CodeBlock.tsx @@ -355,7 +355,7 @@ export const CodeBlock = forwardRef(
( ) : (
                   {highlightSearchText(code, searchTerm)}
@@ -490,7 +490,7 @@ function HighlightCode({
   }, []);
 
   const containerClasses = cn(
-    "px-3 py-3 scrollbar-thin scrollbar-track-transparent scrollbar-thumb-charcoal-600",
+    "px-3 py-3 scrollbar-thin scrollbar-track-transparent scrollbar-thumb-gray-300",
     !isWrapped && "overflow-x-auto",
     isWrapped && "overflow-y-auto",
     className
diff --git a/apps/webapp/app/components/code/TSQLEditor.tsx b/apps/webapp/app/components/code/TSQLEditor.tsx
index 1fa56a2cea8..9ab93569d0e 100644
--- a/apps/webapp/app/components/code/TSQLEditor.tsx
+++ b/apps/webapp/app/components/code/TSQLEditor.tsx
@@ -271,7 +271,7 @@ export function TSQLEditor(opts: TSQLEditorProps) {
     >
       
{ diff --git a/apps/webapp/app/components/code/TSQLResultsTable.tsx b/apps/webapp/app/components/code/TSQLResultsTable.tsx index 3eb033c1d09..3627a2bc0d8 100644 --- a/apps/webapp/app/components/code/TSQLResultsTable.tsx +++ b/apps/webapp/app/components/code/TSQLResultsTable.tsx @@ -1072,7 +1072,7 @@ export const TSQLResultsTable = memo(function TSQLResultsTable({ return (
@@ -1127,7 +1127,7 @@ export const TSQLResultsTable = memo(function TSQLResultsTable({ return (
diff --git a/apps/webapp/app/components/integrations/VercelBuildSettings.tsx b/apps/webapp/app/components/integrations/VercelBuildSettings.tsx index 3a2da69d7ee..e0a678fbd18 100644 --- a/apps/webapp/app/components/integrations/VercelBuildSettings.tsx +++ b/apps/webapp/app/components/integrations/VercelBuildSettings.tsx @@ -193,7 +193,7 @@ export function BuildSettingsFields({ When enabled, production deployments wait for Vercel deployment to complete before - promoting the Trigger.dev deployment. This will disable the "Auto-assign Custom + promoting the AirTrigger deployment. This will disable the "Auto-assign Custom Production Domains" option in your Vercel project settings to perform staged deployments.{" "} diff --git a/apps/webapp/app/components/integrations/VercelOnboardingModal.tsx b/apps/webapp/app/components/integrations/VercelOnboardingModal.tsx index 28bfe5672c6..859fd6a3bc9 100644 --- a/apps/webapp/app/components/integrations/VercelOnboardingModal.tsx +++ b/apps/webapp/app/components/integrations/VercelOnboardingModal.tsx @@ -707,7 +707,7 @@ export function VercelOnboardingModal({
Select Vercel Project - Choose which Vercel project to connect with this Trigger.dev project. + Choose which Vercel project to connect with this AirTrigger project. Your API keys will be automatically synced to Vercel. @@ -788,7 +788,7 @@ export function VercelOnboardingModal({
Map Vercel Environment to Staging - Select which custom Vercel environment should map to Trigger.dev's Staging + Select which custom Vercel environment should map to AirTrigger's Staging environment. Production and Preview environments are mapped automatically. If you skip this step, the{" "} TRIGGER_SECRET_KEY{" "} @@ -1080,13 +1080,13 @@ export function VercelOnboardingModal({
Connect GitHub Repository - To fully integrate with Vercel, Trigger.dev needs access to your source code. + To fully integrate with Vercel, AirTrigger needs access to your source code. This allows automatic deployments and build synchronization.

- Connecting your GitHub repository enables Trigger.dev to read your source code + Connecting your GitHub repository enables AirTrigger to read your source code and automatically create deployments when you push changes to Vercel.

diff --git a/apps/webapp/app/components/layout/AppLayout.tsx b/apps/webapp/app/components/layout/AppLayout.tsx index e0b58ed717c..92d611f3231 100644 --- a/apps/webapp/app/components/layout/AppLayout.tsx +++ b/apps/webapp/app/components/layout/AppLayout.tsx @@ -37,7 +37,7 @@ export function PageBody({
+
{children}
@@ -71,10 +71,10 @@ export function MainHorizontallyCenteredContainer({ className?: string; }) { return ( -
+
diff --git a/apps/webapp/app/components/logs/LogDetailView.tsx b/apps/webapp/app/components/logs/LogDetailView.tsx index a44d833054f..152862a2d89 100644 --- a/apps/webapp/app/components/logs/LogDetailView.tsx +++ b/apps/webapp/app/components/logs/LogDetailView.tsx @@ -146,7 +146,7 @@ export function LogDetailView({ logId, initialLog, onClose, searchTerm }: LogDet className="pl-1" />
-
+
diff --git a/apps/webapp/app/components/logs/LogsTable.tsx b/apps/webapp/app/components/logs/LogsTable.tsx index dcbd2d6868f..bb4e1b3861a 100644 --- a/apps/webapp/app/components/logs/LogsTable.tsx +++ b/apps/webapp/app/components/logs/LogsTable.tsx @@ -115,7 +115,7 @@ export function LogsTable({ }, [hasMore, isLoadingMore, onLoadMore]); return ( -
+
diff --git a/apps/webapp/app/components/navigation/AccountSideMenu.tsx b/apps/webapp/app/components/navigation/AccountSideMenu.tsx index 5c74658f51d..b59c23789d1 100644 --- a/apps/webapp/app/components/navigation/AccountSideMenu.tsx +++ b/apps/webapp/app/components/navigation/AccountSideMenu.tsx @@ -32,7 +32,7 @@ export function AccountSideMenu({ user }: { user: User }) { Back to app -
+
@@ -125,7 +125,7 @@ export function HelpAndFeedback({ trailingIconClassName="text-text-dimmed" inactiveIconColor="text-green-500" activeIconColor="text-green-500" - to="https://status.trigger.dev/" + to="#" data-action="status" target="_blank" /> @@ -136,7 +136,7 @@ export function HelpAndFeedback({ trailingIconClassName="text-text-dimmed" inactiveIconColor="text-sun-500" activeIconColor="text-sun-500" - to="https://feedback.trigger.dev/" + to="#" data-action="suggest-a-feature" target="_blank" /> @@ -147,7 +147,7 @@ export function HelpAndFeedback({ trailingIconClassName="text-text-dimmed" inactiveIconColor="text-sun-500" activeIconColor="text-sun-500" - to="https://trigger.dev/changelog" + to="#" data-action="changelog" target="_blank" /> @@ -181,7 +181,7 @@ export function HelpAndFeedback({ As a subscriber, you have access to a dedicated Slack channel for 1-to-1 - support with the Trigger.dev team. + support with the AirTrigger team.

@@ -189,11 +189,11 @@ export function HelpAndFeedback({ - Send us an email to this address from your Trigger.dev account email + Send us an email to this address from your AirTrigger account email address: @@ -215,7 +215,7 @@ export function HelpAndFeedback({ icon={DiscordIcon} trailingIcon={ArrowUpRightIcon} trailingIconClassName="text-text-dimmed" - to="https://trigger.dev/discord" + to="#" data-action="join our discord" target="_blank" /> @@ -226,7 +226,7 @@ export function HelpAndFeedback({ trailingIconClassName="text-text-dimmed" inactiveIconColor="text-rose-500" activeIconColor="text-rose-500" - to="https://cal.com/team/triggerdotdev/founders-call" + to="#" data-action="book-a-call" target="_blank" /> diff --git a/apps/webapp/app/components/navigation/OrganizationSettingsSideMenu.tsx b/apps/webapp/app/components/navigation/OrganizationSettingsSideMenu.tsx index e0e414b189e..1939312b0c0 100644 --- a/apps/webapp/app/components/navigation/OrganizationSettingsSideMenu.tsx +++ b/apps/webapp/app/components/navigation/OrganizationSettingsSideMenu.tsx @@ -68,7 +68,7 @@ export function OrganizationSettingsSideMenu({ Back to app
-
+
diff --git a/apps/webapp/app/components/navigation/SideMenu.tsx b/apps/webapp/app/components/navigation/SideMenu.tsx index 89bf139c981..8252bc2ef54 100644 --- a/apps/webapp/app/components/navigation/SideMenu.tsx +++ b/apps/webapp/app/components/navigation/SideMenu.tsx @@ -329,7 +329,7 @@ export function SideMenu({ "min-h-0 overflow-y-auto pt-2", isCollapsed ? "scrollbar-none" - : "scrollbar-thin scrollbar-track-transparent scrollbar-thumb-charcoal-600" + : "scrollbar-thin scrollbar-track-transparent scrollbar-thumb-gray-300" )} ref={borderRef} > @@ -842,7 +842,7 @@ function ProjectSelector({ disableHoverableContent />
{children}
diff --git a/apps/webapp/app/components/onboarding/TechnologyPicker.tsx b/apps/webapp/app/components/onboarding/TechnologyPicker.tsx index 3d822e4b692..7a2cec142d3 100644 --- a/apps/webapp/app/components/onboarding/TechnologyPicker.tsx +++ b/apps/webapp/app/components/onboarding/TechnologyPicker.tsx @@ -297,7 +297,7 @@ export function TechnologyPicker({ />
- + {filteredOptions.map((option) => ( diff --git a/apps/webapp/app/components/primitives/Sheet.tsx b/apps/webapp/app/components/primitives/Sheet.tsx index 49ad15fe0ee..3c77229aa92 100644 --- a/apps/webapp/app/components/primitives/Sheet.tsx +++ b/apps/webapp/app/components/primitives/Sheet.tsx @@ -171,7 +171,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName; export const SheetBody = ({ className, ...props }: React.HTMLAttributes) => (
{popoverContent}
diff --git a/apps/webapp/app/components/primitives/TreeView/TreeView.tsx b/apps/webapp/app/components/primitives/TreeView/TreeView.tsx index d1e002abb58..bcc4809930b 100644 --- a/apps/webapp/app/components/primitives/TreeView/TreeView.tsx +++ b/apps/webapp/app/components/primitives/TreeView/TreeView.tsx @@ -74,7 +74,7 @@ export function TreeView({ } }} className={cn( - "w-full overflow-y-auto scrollbar-thin scrollbar-track-transparent scrollbar-thumb-charcoal-600 focus-within:outline-none", + "w-full overflow-y-auto scrollbar-thin scrollbar-track-transparent scrollbar-thumb-gray-300 focus-within:outline-none", parentClassName )} layoutScroll diff --git a/apps/webapp/app/components/primitives/charts/ChartLegendCompound.tsx b/apps/webapp/app/components/primitives/charts/ChartLegendCompound.tsx index 6cf3f7d7f24..706f94b3345 100644 --- a/apps/webapp/app/components/primitives/charts/ChartLegendCompound.tsx +++ b/apps/webapp/app/components/primitives/charts/ChartLegendCompound.tsx @@ -201,7 +201,7 @@ export function ChartLegendCompound({ className={cn( "flex flex-col", scrollable && - "min-h-0 flex-1 overflow-y-auto scrollbar-thin scrollbar-track-transparent scrollbar-thumb-charcoal-600" + "min-h-0 flex-1 overflow-y-auto scrollbar-thin scrollbar-track-transparent scrollbar-thumb-gray-300" )} > {legendItems.visible.map((item) => { diff --git a/apps/webapp/app/components/primitives/charts/ChartZoom.tsx b/apps/webapp/app/components/primitives/charts/ChartZoom.tsx index 4b2e921630b..eedf4e43f2f 100644 --- a/apps/webapp/app/components/primitives/charts/ChartZoom.tsx +++ b/apps/webapp/app/components/primitives/charts/ChartZoom.tsx @@ -127,7 +127,7 @@ export function ZoomTooltip({ "absolute whitespace-nowrap rounded border px-2 py-1 text-xxs tabular-nums", invalidSelection ? "border-amber-800 bg-amber-950 text-amber-400" - : "border-blue-800 bg-[#1B2334] text-blue-400" + : "border-blue-800 bg-blue-50 text-blue-400" )} style={{ left: coordinate?.x, @@ -141,7 +141,7 @@ export function ZoomTooltip({ "absolute -top-[5px] left-1/2 h-2 w-2 -translate-x-1/2 rotate-45", invalidSelection ? "border-l border-t border-amber-800 bg-amber-950" - : "border-l border-t border-blue-800 bg-[#1B2334]" + : "border-l border-t border-blue-800 bg-blue-50" )} />
diff --git a/apps/webapp/app/components/runs/v3/ReplayRunDialog.tsx b/apps/webapp/app/components/runs/v3/ReplayRunDialog.tsx index e42a2122abe..e729675cedd 100644 --- a/apps/webapp/app/components/runs/v3/ReplayRunDialog.tsx +++ b/apps/webapp/app/components/runs/v3/ReplayRunDialog.tsx @@ -239,7 +239,7 @@ function ReplayForm({ className="-mx-3 mt-3 w-auto flex-1 border-b border-t border-grid-dimmed" > -
+
-
+
Options enable you to control the execution behavior of your task.{" "} diff --git a/apps/webapp/app/components/scheduled/timezones.tsx b/apps/webapp/app/components/scheduled/timezones.tsx index 779afd1dd51..9c11eb0a678 100644 --- a/apps/webapp/app/components/scheduled/timezones.tsx +++ b/apps/webapp/app/components/scheduled/timezones.tsx @@ -14,7 +14,7 @@ export function TimezoneList({ timezones }: { timezones: string[] }) { return (
v.key)); const mergedEnvVars: VercelEnvironmentVariable[] = [ diff --git a/apps/webapp/app/root.tsx b/apps/webapp/app/root.tsx index c6027b1a6d3..7dbaa9f028f 100644 --- a/apps/webapp/app/root.tsx +++ b/apps/webapp/app/root.tsx @@ -32,7 +32,7 @@ export const headers = () => ({ export const meta: MetaFunction = ({ data }) => { const typedData = data as UseDataFunctionReturn; return [ - { title: typedData?.appEnv ? `Trigger.dev${appEnvTitleTag(typedData.appEnv)}` : "Trigger.dev" }, + { title: typedData?.appEnv ? `AirTrigger${appEnvTitleTag(typedData.appEnv)}` : "AirTrigger" }, { name: "viewport", content: "width=1024, initial-scale=1", @@ -40,7 +40,7 @@ export const meta: MetaFunction = ({ data }) => { { name: "robots", content: - typeof window === "undefined" || window.location.hostname !== "cloud.trigger.dev" + typeof window === "undefined" || window.location.hostname !== "cloud.airtrigger.dev" ? "noindex, nofollow" : "index, follow", }, diff --git a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam._index/route.tsx b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam._index/route.tsx index 5d6a947a424..1518bdeba4a 100644 --- a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam._index/route.tsx +++ b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam._index/route.tsx @@ -98,7 +98,7 @@ import { export const meta: MetaFunction = () => { return [ { - title: `Tasks | Trigger.dev`, + title: `Tasks | AirTrigger`, }, ]; }; @@ -601,7 +601,7 @@ function HelpfulInfoHasTasks({ onClose }: { onClose: () => void }) { return (
-
+
@@ -673,7 +673,7 @@ function HelpfulInfoHasTasks({ onClose }: { onClose: () => void }) {
@@ -773,14 +773,14 @@ function HelpfulInfoHasTasks({ onClose }: { onClose: () => void }) { - Trigger.dev walkthrough + AirTrigger walkthrough