Skip to content

Unbreak main: route export from #364, Docker manifests for both new bricks - #367

Open
Deodat-Lawson wants to merge 1 commit into
mainfrom
claude/drive-linked-files-ci-fixes
Open

Unbreak main: route export from #364, Docker manifests for both new bricks#367
Deodat-Lawson wants to merge 1 commit into
mainfrom
claude/drive-linked-files-ci-fixes

Conversation

@Deodat-Lawson

@Deodat-Lawson Deodat-Lawson commented Aug 30, 2026

Copy link
Copy Markdown
Owner

Summary

Related

Follow-up to #364 and #362.

Checklist

  • pnpm check passes (lint + typecheck)
  • pnpm --filter @launchstack/web test passes (unchanged by this diff; google-drive package tests 13/13)
  • Changeset added — n/a
  • New env vars — n/a
  • UI changes — n/a
  • Docs — n/a

Testing

  • SKIP_ENV_VALIDATION=1 pnpm --filter @launchstack/web build compiles clean on this branch (it fails on main with the route-type error).
  • Dockerfile fix mirrors the failure mechanism exactly: the manifest COPY list drives the filtered install, and the missing entries are the two packages whose imports crashed at runtime/build.

Notes for reviewers

Six files, 15 insertions. The Dockerfile manifest list is a recurring trap — every new workspace package must be added in three places; possibly worth generating that layer from pnpm-workspace.yaml in a follow-up.

🤖 Generated with Claude Code


Note

Low Risk
Infrastructure and module-export fixes with no change to OAuth behavior or runtime auth logic beyond where the constant is defined.

Overview
Restores main after follow-on breakage from the Google Drive and document-conversion workspace packages.

Next.js build: OAUTH_STATE_COOKIE is no longer exported from the Google OAuth start route. It lives in server/services/google-drive/config with a short note that route modules may only export handlers—something next build enforces but plain typecheck does not. The callback route imports the cookie name from config instead of the sibling route file.

Docker install layers: The manifest COPY lists in apps/web/Dockerfile, apps/web/Dockerfile.prebuilt, and apps/worker/Dockerfile now include packages/google-drive and packages/document-conversion-engine so filtered pnpm install --frozen-lockfile resolves those workspace deps (fixing compose-smoke / image build failures from missing packages like zod).

Reviewed by Cursor Bugbot for commit f25fa08. Bugbot is set up for automated code reviews on this repo. Configure here.

…ker manifests

Main went red when PR #364 merged at its conflict-resolution commit, before
the CI fixes landed on the branch; #362 then stacked a second latent failure
on top. Two causes, both fixed here:

- next build rejects non-handler exports from route modules (a check plain
  tsc does not run): OAUTH_STATE_COOKIE moves from the oauth start route
  into services/google-drive/config, and the callback stops importing from
  a sibling route file. Fixes the CI `build` job, both Docker image builds,
  and the Vercel deploy.
- the worker and web Dockerfiles enumerate workspace package manifests for
  their install layer; BOTH new bricks were missing. packages/google-drive
  (from #364) is what killed compose-smoke ("Cannot find package 'zod'"),
  and packages/document-conversion-engine (from #362) would have failed the
  web image build the same way next. Both added to all three Dockerfiles.

Verified: SKIP_ENV_VALIDATION next build compiles clean on this branch;
google-drive package tests 13/13.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
launch-stack Error Error Aug 30, 2026 12:44am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
pdr-ai-v2 Ignored Ignored Aug 30, 2026 12:44am

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.

1 participant