typebot.io/commands/setup-worktree.ts
Baptiste Arnaud 512c988951
Some checks failed
Create Tag / create-tag (push) Has been cancelled
Deploy Workflows (Fly.io) / deploy (push) Has been cancelled
👌 Add camera capture options to file uploads (#2560)
## What changed

- add an optional Capture setting for image-only File Upload blocks with
None, Back camera, and Front camera choices
- persist the standard `environment` and `user` values and apply them
through the runtime file input `capture` attribute
- preserve existing behavior when capture is unset, including the legacy
Android accept workaround
- normalize extension-based image allowlists for capture while keeping
server-side validation fail-closed
- update schemas, generated OpenAPI specs, embed package versions, and
focused tests
- install Playwright Chromium during Codex worktree setup and ignore
local Revue session state

## Validation

- pre-commit affected format, lint, link, test, and OpenAPI targets:
passed
- affected tests across 14 projects under `.env.dev.example`: passed
- typecheck for builder, viewer, JS embed, File Input, input schemas,
lib, and bot engine: passed
- targeted Viewer Playwright file-upload capture test: passed (2 tests)
- targeted schema, allowlist, runtime helper, and upload validation
suites: passed

## Browser behavior

The standard capture attribute is a browser hint. Supported mobile
browsers may open the selected camera directly; desktop and unsupported
browsers may continue to show a regular file chooser.
2026-07-15 18:53:17 +02:00

17 lines
612 B
TypeScript

import { $ } from "bun";
const currentWorktreeRoot = (
await $`git rev-parse --show-toplevel`.text()
).trim();
const gitCommonDir = (
await $`git rev-parse --path-format=absolute --git-common-dir`.text()
).trim();
const mainWorktreeRoot = (
await $`cd ${gitCommonDir} && cd .. && pwd`.text()
).trim();
await $`cp ${mainWorktreeRoot}/.env ${currentWorktreeRoot}/.env`;
await $`cp -R ${mainWorktreeRoot}/apps/viewer/src/test/.auth ${currentWorktreeRoot}/apps/viewer/src/test/.auth`;
await $`cd ${currentWorktreeRoot} && bun install`;
await $`cd ${currentWorktreeRoot} && bunx playwright install chromium`;