Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 6 additions & 2 deletions app/components/chat/ToolCall.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -416,8 +416,12 @@ function toolTitle(invocation: ConvexToolInvocation): React.ReactNode {
</div>
);
} else if (invocation.result?.startsWith('Error:')) {
// This is a hack, but `npx convex dev` prints this out when the typecheck fails
if (invocation.result.includes('To ignore failing typecheck')) {
if (
// This is a hack, but `npx convex dev` prints this out when the typecheck fails
invocation.result.includes('To ignore failing typecheck') ||
// this is a bigger hack! TypeScript fails with error codes like TS
invocation.result.includes('Error TS')
) {
return (
<div className="flex items-center gap-2">
<img className="w-4 h-4 mr-1" height="16" width="16" src="/icons/TypeScript.svg" alt="TypeScript" />
Expand Down
5 changes: 4 additions & 1 deletion app/lib/runtime/action-runner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,10 @@ export class ActionRunner {
case 'deploy': {
const container = await this.#webcontainer;
await waitForContainerBootState(ContainerBootState.READY);
const convexProc = await container.spawn('npx', ['convex', 'dev', '--once']);
const convexProc = await container.spawn('sh', [
'-c',
'convex dev --once && tsc --noEmit -p tsconfig.app.json',
]);
action.abortSignal.addEventListener('abort', () => {
convexProc.kill();
});
Expand Down
2 changes: 1 addition & 1 deletion app/lib/stores/startup/useContainerSetup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { toast } from 'sonner';
import { waitForConvexProjectConnection, type ConvexProject } from '~/lib/stores/convexProject';
import type { WebContainer } from '@webcontainer/api';

const TEMPLATE_URL = '/template-snapshot-ba3672ee.bin';
const TEMPLATE_URL = '/template-snapshot-cb4ccf96.bin';

export function useNewChatContainerSetup() {
useEffect(() => {
Expand Down
Binary file added public/template-snapshot-cb4ccf96.bin
Binary file not shown.
2 changes: 0 additions & 2 deletions template/tsconfig.app.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@

/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true,

Expand Down
2 changes: 0 additions & 2 deletions template/tsconfig.node.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@

/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true
},
Expand Down