-
Notifications
You must be signed in to change notification settings - Fork 38
Release/2.0.21 #2226
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Release/2.0.21 #2226
Changes from all commits
Commits
Show all changes
133 commits
Select commit
Hold shift + click to select a range
500dee9
chore(env): introduce Zod-validated env shim for Node scripts
andrew-bierman 509ae49
chore(env): simplify to plain zod parse, remove caching/helpers
Copilot dbd7cce
fix(ci): resolve all biome/circular-dep/catalog checks after rebase
andrew-bierman b72ae21
Merge remote-tracking branch 'origin/development' into chore/zod-env-…
Copilot d7e2277
chore(env): rename env→nodeEnv, add no-raw-process-env lint script
Copilot d4e92bb
feat(env): broad process.env migration across analytics, Expo, guides…
Copilot 042cade
feat(admin): add analytics API routes and dashboard
claude ff18207
refactor: split analytics package and expand admin analytics API
claude 9d5ac48
feat: add apps/admin — Next.js 15 admin dashboard
claude c2c08c2
ci(e2e): harden Maestro workflow for reliability
andrew-bierman 0085d73
ci(e2e): downgrade secret preflight to warning so build still runs
andrew-bierman 8c7e4dc
ci(e2e): idempotently seed the E2E test user before Maestro
andrew-bierman f059d03
ci(e2e): drive E2E email from secrets too, not hardcoded
andrew-bierman 47b92c1
ci(e2e): reuse canonical hashPassword util in the seed
andrew-bierman f60c97d
ci(e2e): fix check-types + biome + fallocate busy on swap
andrew-bierman b50a7fb
ci(e2e): stop deleting Android NDK during disk cleanup
andrew-bierman 6b71914
ci(e2e): fail fast when secrets missing — no more false green
andrew-bierman 9cda42b
ci(e2e): bump MAESTRO_DRIVER_STARTUP_TIMEOUT to 10min
andrew-bierman ecdd455
Merge remote-tracking branch 'origin/main' into claude/add-analytics-…
claude 9ec1b42
fix: biome violations in chart.tsx and package.json ordering
claude 1126307
fix: pin recharts peer dep to 3.8.1 to match workspace versions
claude 5a70fcd
fix: auto-fix biome lint violations across merged files
claude 1988c8f
ci(e2e): set MAESTRO_CLI_NO_ANALYTICS — per maestro docs
andrew-bierman 55b0762
ci(e2e): fix APP_ID — preview variant bundle IDs
andrew-bierman f68563a
chore: add .next to root .gitignore
claude 0b9fb41
ci(e2e): cache node_modules + CocoaPods
andrew-bierman d585654
Merge remote-tracking branch 'origin/main' into claude/add-analytics-…
claude 2538864
ci: trigger CI run on updated branch
claude 4493a09
ci(e2e): collapse android maestro invocation to one line
andrew-bierman 3b1e81e
ci(e2e): use .github/scripts/e2e.sh for android too
andrew-bierman d92b59b
Initial plan
Copilot 50f1af3
Fix copilot-instructions.md: correct test commands and add missing co…
Copilot ceae91f
Add @packrat/mcp — full-featured MCP server on Cloudflare Workers
claude a0580ed
Fix dep management in packages/mcp to satisfy monorepo lint rules
claude 71dddaa
fix(ai): bump ai catalog to v6, @ai-sdk/react v3, await convertToMode…
andrew-bierman 1fd30d9
fix(tsconfig): inline expo base + restore ignoreDeprecations + align …
andrew-bierman fe1761b
fix: vitest-pool-workers → 0.14.6 for vitest 4 compat + include globa…
andrew-bierman d71e66a
trigger: retrigger CI after node_modules clean install verified vites…
andrew-bierman 2d2774c
fix(vitest): migrate vitest.config.ts to vitest-pool-workers 0.14.6 API
andrew-bierman aa1c845
fix(vitest): rename vitest.config.ts → .mts (ESM)
andrew-bierman b28570d
revert: vitest 4 + vitest-pool-workers 0.14.6 — defer to its own PR
andrew-bierman 720d478
chore(deps): bump @ai-sdk/openai 2.0.11 → ^3.0.52 (align with google/…
andrew-bierman 1bcca13
revert(deps): AI SDK v3 + ai v6 — defer to its own PR
andrew-bierman 16ffe08
chore(deps): align @types/react to ~19.1.10 across workspaces
andrew-bierman 88b5b37
refactor(mcp): remove biome-ignores, add enums, centralize constants
claude 331f610
fix(mcp): fix biome format in resources.ts
claude 1d56e59
feat(mcp): extract api-client workspace package, fix API signatures
claude 9e2e965
fix: sort root package.json scripts alphabetically (mcp entries)
claude 9900dc5
fix(deps): align @types/react to ~19.1.10 in guides and web-ui
claude b8a320f
feat: add app/checks workspaces with frozen app config and magic-stri…
Copilot eeb35ae
refactor: refine magic-string heuristics and dashboard gap constant u…
Copilot f73aceb
refactor: simplify dashboard layout config sections and tighten check…
Copilot 794203d
chore: relax path heuristic in magic-string checker
Copilot 2ffa9c1
Fix catalog auth wall layout by removing duplicate header
Copilot 885e90d
Merge pull request #2207 from PackRat-AI/copilot/fix-layout-issue-cat…
mikib0 f10e202
Initial plan
Copilot 71b6f22
refactor: rename app workspace to config
Copilot 2f23c48
ci: re-trigger checks after @types/react alignment fix
claude 95b76fb
Merge pull request #2209 from PackRat-AI/copilot/sub-pr-2204
andrew-bierman 8cd8c66
fix(biome): fix format, import order, and useMaxParams in mcp/api-client
claude 088a82e
fix: address biome CI lint errors in expo and api tests
Copilot da54db5
fix: resolve failing check-types and biome checks
Copilot bab8eef
refactor: type catalog service mock return in test setup
Copilot 71e1f0a
feat(env): move guides env and lint script into @packrat/env package
Copilot bccf9ed
chore(ci): consolidate biome and type checks into checks workflow
Copilot 4f6f56d
Merge pull request #2176 from PackRat-AI/fix/e2e-ci-reliability
andrew-bierman b3d074f
chore(ci): align checks workflow biome command and permissions note
Copilot c11bbf1
Merge pull request #2186 from PackRat-AI/claude/build-mcp-server-lYTiQ
andrew-bierman c4a9248
chore(ci): make checks workflow fix conditions explicit
Copilot b424340
fix: address remaining PR CI failures in types and biome checks
Copilot 71a2f57
feat(env): move Expo env shims into @packrat/env package
Copilot adaca84
Merge pull request #2210 from PackRat-AI/copilot/update-action-biome-…
andrew-bierman d006fd7
fix: resolve remaining biome and typecheck CI blockers
Copilot 119f6ae
refactor: tighten test mock typing and simplify weather hour formatting
Copilot 74b82d9
chore: merge origin/development into claude/add-analytics-api-K625X
claude 602831e
Merge remote-tracking branch 'origin/development' into chore/zod-env-…
Copilot c132f01
fix: resolve all biome warnings and related typecheck issues
Copilot 7f41b4e
fix(analytics): fix TypeScript errors in analytics route files
claude f38702e
fix: align workspace rename to @packrat/analytics
Copilot 34b13cb
fix: repair bun.lock and cli package.json after development merge
claude e451b7e
Merge pull request #2204 from PackRat-AI/copilot/add-checks-script-fo…
andrew-bierman 1a19f53
fix: restore bun.lock and cli/package.json to use @packrat/analytics
claude 1fe5a6e
Delete .env.local.example
andrew-bierman 8e68abc
fix(api): use hono zod instance in analytics routes
Copilot 5358d83
fix(analytics): align API response shapes with client types
claude e239520
Merge remote-tracking branch 'origin/development' into chore/zod-env-…
Copilot c6be7a5
refactor(api): remove inline analytics HTML dashboards
Copilot 94f8efa
fix: update feedUtils mock to @packrat/env/expo-client, remove unused…
Copilot c1a8e59
fix: update stale expo-app/env/clientEnvs import paths to @packrat/en…
Copilot e60b0a3
fix: sort @packrat/env/expo-client import before @packrat/ui in profi…
Copilot 3bd5ec1
Merge pull request #2193 from PackRat-AI/claude/add-analytics-api-K625X
andrew-bierman 78afa2c
feat: add monorepo react doctor custom check
Copilot 6e7f76c
refactor: remove magic numbers in react doctor check
Copilot 2bb42ed
chore: address react doctor check review feedback
Copilot 87759f8
chore: document output constants in react doctor check
Copilot 32a1112
feat: expand copilot-setup-steps to full toolchain bootstrap
Copilot 34a04e6
fix: add environment:copilot and read Bun version from package.json
Copilot 446d53b
chore(expo): add missing expo doctor peer dependencies
Copilot 2063c43
feat(cli): harden command parsing and bootstrap behavior
Copilot 22999cd
fix(cli): address validation review feedback
Copilot 1a2a057
fix(cli): validate package version metadata and numeric preprocess ed…
Copilot fa198b4
fix: address PR review - TTY guard, HEADER_LINES, dead script field, …
Copilot 5a8bce2
fix: restore Run Expo Doctor step alongside new React Doctor checks step
Copilot 8b60998
fix: guard pull_request trigger for fork PRs and remove legacy setup …
Copilot c2655f9
fix: remove --frozen-lockfile from setup workflow to fix CI
Copilot 1d643ba
fix: update bun.lock for semver 7.7.4 and add --frozen-lockfile to al…
Copilot 01239c8
fix: run doctor checks sequentially to avoid bunx race condition
Copilot 050aac3
Merge pull request #2219 from PackRat-AI/copilot/align-dependencies-w…
andrew-bierman 6470f33
fix(cli): resolve CI type and biome failures in arg parsing changes
Copilot 289130c
Merge pull request #2217 from PackRat-AI/copilot/add-react-doctor-cus…
andrew-bierman fde0624
Bump Expo dependency to 54.0.33
Copilot 17fe3be
merge: resolve conflicts with development branch
Copilot 96cb086
fix(cli): resolve remaining check-types zod preprocess typing
Copilot 6ecf125
Merge pull request #2046 from PackRat-AI/chore/zod-env-shim
andrew-bierman 965afa8
merge: sync with latest development (env package) and fix bun.lock wo…
Copilot 1812f98
merge: sync with latest development (env package) and fix bun.lock wo…
Copilot d29febb
Merge pull request #2221 from PackRat-AI/copilot/build-full-functiona…
andrew-bierman da3afe2
fix: correct all bun.lock workspace dependency mismatches
Copilot 5c6d50b
Merge remote-tracking branch 'origin/development' into copilot/improv…
Copilot c2b2b1b
fix: add semver to bun.lock catalog, fix packages/cli zod dep, merge …
Copilot 35cb56a
Merge pull request #2218 from PackRat-AI/copilot/improve-copilot-setu…
andrew-bierman c81ee0f
Merge branch 'development' into copilot/bump-expo-using-install-helper
andrew-bierman 746a57b
chore: ignore worktree dirs and add Hono RPC foundation plan
andrew-bierman a56cba6
🙈 chore: ignore worktree dirs and local Claude files
andrew-bierman 96984ec
🔧 chore(cli): make packrat entrypoint executable and refresh bun.lock
andrew-bierman b428036
Merge pull request #2223 from PackRat-AI/chore/ignore-worktrees-add-r…
andrew-bierman 8e37130
Merge pull request #2222 from PackRat-AI/copilot/bump-expo-using-inst…
andrew-bierman dc3d225
feat(ai): gate local AI behind a feature flag
mikib0 c431a32
Merge 'development' into 'feat/gate-local-ai'
mikib0 ff1eb0f
Merge pull request #2224 from PackRat-AI/feat/gate-local-ai
mikib0 89dbfdf
chore: bump version to v2.0.21
mikib0 58b9a99
chore: update bun lock
mikib0 d6d1165
fix: address all PR review comments
Copilot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,59 @@ | ||
| name: Checks | ||
|
|
||
| on: | ||
| pull_request: | ||
| branches: ['**'] | ||
| workflow_dispatch: | ||
| inputs: | ||
| fix: | ||
| description: 'Apply Biome autofixes (runs bun lint and commits changes)' | ||
| required: false | ||
| default: false | ||
| type: boolean | ||
|
|
||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| permissions: | ||
| # Required for optional workflow_dispatch autofix commits. | ||
| contents: write | ||
|
|
||
|
mikib0 marked this conversation as resolved.
|
||
| jobs: | ||
| checks: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v6 | ||
| - uses: oven-sh/setup-bun@v2 | ||
| with: | ||
| bun-version: latest | ||
| cache: true | ||
| - name: Install dependencies | ||
| env: | ||
| PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN: ${{ secrets.PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN }} | ||
| run: bun install --frozen-lockfile | ||
| - name: Run Biome (check mode) | ||
| if: ${{ !(github.event_name == 'workflow_dispatch' && inputs.fix == true) }} | ||
| run: bun biome check | ||
| - name: Run Biome (autofix mode) | ||
| if: ${{ github.event_name == 'workflow_dispatch' && inputs.fix == true }} | ||
| run: bun lint | ||
| - name: Commit Biome autofixes | ||
| if: ${{ github.event_name == 'workflow_dispatch' && inputs.fix == true }} | ||
| uses: stefanzweifel/git-auto-commit-action@v6 | ||
| with: | ||
| commit_message: 'chore: apply biome autofixes via checks workflow' | ||
| - name: Check circular dependencies | ||
| run: bun scripts/lint/no-circular-deps.ts | ||
| - name: Check for duplicate/catalog dependencies | ||
| run: bun scripts/lint/no-duplicate-deps.ts | ||
| - name: Check package.json ordering | ||
| run: bun scripts/format/sort-package-json.ts --check | ||
| - name: Check types | ||
| run: bun check-types | ||
| - name: Run Expo Doctor | ||
| run: bunx expo-doctor | ||
| working-directory: apps/expo | ||
| continue-on-error: true | ||
|
mikib0 marked this conversation as resolved.
|
||
| - name: Run React Doctor checks | ||
| run: bun check:react-doctor | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,109 @@ | ||
| name: "Copilot Setup Steps" | ||
|
|
||
| # Run automatically when this file changes to validate it, and allow manual testing. | ||
| on: | ||
| workflow_dispatch: | ||
| push: | ||
| paths: | ||
| - .github/workflows/copilot-setup-steps.yml | ||
| pull_request: | ||
| paths: | ||
| - .github/workflows/copilot-setup-steps.yml | ||
|
|
||
| jobs: | ||
| # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot. | ||
| copilot-setup-steps: | ||
| runs-on: ubuntu-latest | ||
| # Skip on fork PRs: environment secrets are not available to forked repositories, | ||
| # so the secret-validation step would always fail for external contributors. | ||
| if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false | ||
| # Secrets for this repo are stored in the 'copilot' environment. | ||
| environment: copilot | ||
|
|
||
| # Minimum permissions needed. Copilot will be given its own token for its operations. | ||
| permissions: | ||
| contents: read | ||
|
|
||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v6 | ||
|
|
||
| # Validate the private-package token before attempting install, so failures are | ||
| # actionable rather than opaque 401s buried in bun install output. | ||
| - name: Validate required secrets | ||
| env: | ||
| PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN: ${{ secrets.PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN }} | ||
| run: | | ||
| if [ -z "$PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN" ]; then | ||
| echo "❌ PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN is not set." | ||
| echo "" | ||
| echo "This secret is required to install the private @packrat-ai/nativewindui" | ||
| echo "package from GitHub Package Registry (npm.pkg.github.com)." | ||
| echo "" | ||
| echo "Fix: Add PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN as a secret in the 'copilot'" | ||
| echo "GitHub Actions environment (Settings → Environments → copilot → Secrets)." | ||
| echo "The token needs the 'read:packages' scope." | ||
| exit 1 | ||
| fi | ||
| echo "✓ PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN is present" | ||
|
|
||
| # Pin Node to the exact major required by package.json engines (>=24). | ||
| - name: Set up Node.js 24 | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: "24" | ||
|
|
||
| # Read the Bun version from package.json#packageManager to keep a single source of truth. | ||
| - name: Read Bun version from package.json | ||
| id: bun-version | ||
| run: | | ||
| BUN_VERSION=$(jq -r '.packageManager' package.json | sed 's/bun@//') | ||
| echo "version=$BUN_VERSION" >> "$GITHUB_OUTPUT" | ||
| echo "Resolved Bun version: $BUN_VERSION" | ||
|
|
||
| # Pin Bun to the exact version declared in package.json#packageManager. | ||
| - name: Set up Bun | ||
| uses: oven-sh/setup-bun@v2 | ||
| with: | ||
| bun-version: ${{ steps.bun-version.outputs.version }} | ||
| cache: true | ||
|
|
||
| # Sanity-check that the runner satisfies the repo's engine constraints. | ||
| - name: Verify runtime versions | ||
| run: | | ||
| echo "Bun: $(bun --version)" | ||
| echo "Node: $(node --version)" | ||
|
|
||
| NODE_MAJOR=$(node --version | sed 's/v\([0-9]*\).*/\1/') | ||
| if [ "$NODE_MAJOR" -lt 24 ]; then | ||
| echo "❌ Node.js $NODE_MAJOR is below the required minimum of 24." | ||
| exit 1 | ||
| fi | ||
| echo "✓ Runtime versions satisfy repo constraints" | ||
|
|
||
| # Install all workspace dependencies. | ||
| # The preinstall hook (configure-deps.ts) checks PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN | ||
| # automatically, so no extra wrangling is needed here. | ||
| - name: Install dependencies | ||
| env: | ||
| PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN: ${{ secrets.PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN }} | ||
| run: bun install --frozen-lockfile | ||
|
|
||
| # Confirm the key CLI tools installed by the workspace are usable. | ||
| # Scoped to cloud-agent-safe tasks (lint/typecheck/tests); no mobile simulator tooling. | ||
| - name: Smoke check — verify toolchain | ||
| run: | | ||
| echo "=== Biome ===" | ||
| bunx biome --version | ||
|
|
||
| echo "" | ||
| echo "=== TypeScript ===" | ||
| bunx tsc --version | ||
|
|
||
| echo "" | ||
| echo "=== Wrangler (Cloudflare Workers CLI) ===" | ||
| bunx wrangler --version | ||
|
|
||
| echo "" | ||
| echo "✓ Copilot environment is ready" | ||
| echo " Available tasks: bun lint · bun check-types · bun test:api:unit · bun test:expo · bun api" |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.