Skip to content

fix: make manifest optional in defineStack to prevent white screen on Vercel#663

Merged
hotlong merged 2 commits into
mainfrom
copilot/fix-missing-manifest-property
Feb 13, 2026
Merged

fix: make manifest optional in defineStack to prevent white screen on Vercel#663
hotlong merged 2 commits into
mainfrom
copilot/fix-missing-manifest-property

Conversation

Copilot AI commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

defineStack() throws manifest: Required property 'manifest' is missing at boot, causing a white screen. This regressed when strict defaulted to true — any config without an explicit manifest (e.g. apps/studio/objectstack.config.ts) now fails validation before the app renders.

Changes

  • packages/spec/src/stack.zod.ts: Make manifest optional in ObjectStackDefinitionSchema, consistent with every other field in the schema
  • packages/spec/src/stack.test.ts: Update assertion and add coverage for manifest-less defineStack() calls
// Previously crashed with validation error — now works
export default defineStack({
  objects: [TaskObject],
  data: [{ object: 'task', records: [...] }],
});

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@vercel

vercel Bot commented Feb 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
objectstack-play Ready Ready Preview, Comment Feb 13, 2026 1:10pm
spec Ready Ready Preview, Comment Feb 13, 2026 1:10pm

Request Review

… white screen on Vercel deploy

Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix missing manifest property in deployment fix: make manifest optional in defineStack to prevent white screen on Vercel Feb 13, 2026
Copilot AI requested a review from hotlong February 13, 2026 13:07
@hotlong
hotlong marked this pull request as ready for review February 13, 2026 14:36
Copilot AI review requested due to automatic review settings February 13, 2026 14:36
@hotlong
hotlong merged commit 291775e into main Feb 13, 2026
3 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR prevents defineStack() from failing validation at boot when a stack config omits manifest, which can otherwise lead to a blank/white screen (e.g., in Vercel) after strict defaulted to true.

Changes:

  • Make manifest optional in ObjectStackDefinitionSchema.
  • Update schema tests to reflect that manifest is no longer required.
  • Add a defineStack() test case to cover manifest-less configs.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
packages/spec/src/stack.zod.ts Loosens the stack definition schema by making manifest optional to avoid strict-mode boot failures.
packages/spec/src/stack.test.ts Updates/extends tests to validate manifest-less schema parsing and defineStack() behavior.

{ name: 'task', fields: { title: { type: 'text' } } },
],
};
const result = defineStack(config as any);

Copilot AI Feb 13, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

defineStack now accepts configs without manifest, and this config shape matches other tests in this file, so the as any cast is likely unnecessary. Keeping the test type-safe would better catch schema/type regressions (e.g., defineStack(config) without casting).

Suggested change
const result = defineStack(config as any);
const result = defineStack(config);

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants