From 64b2cf05779327648649f42f33847ea6a438c404 Mon Sep 17 00:00:00 2001 From: Keith Williams Date: Sun, 4 Jan 2026 21:38:22 -0300 Subject: [PATCH 1/2] fix(ci): add yarn prisma generate before cache key generation (#26439) This ensures consistent cache keys between the Build Web App job and E2E shards by running yarn prisma generate before generating the cache key. The issue was that packages/prisma/enums/index.ts is: 1. Generated by yarn prisma generate 2. In .gitignore (not committed to git) 3. Included in the SOURCE_HASH (matches packages/**/**.[jt]s) 4. NOT excluded from the hash E2E jobs already run yarn prisma generate before cache-build, but the Build Web App job did not, causing different cache keys in the same workflow run. Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .github/workflows/nextjs-bundle-analysis.yml | 1 + .github/workflows/production-build-without-database.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/nextjs-bundle-analysis.yml b/.github/workflows/nextjs-bundle-analysis.yml index 4994356517b354..3f499d942ccb0a 100644 --- a/.github/workflows/nextjs-bundle-analysis.yml +++ b/.github/workflows/nextjs-bundle-analysis.yml @@ -55,6 +55,7 @@ jobs: - uses: actions/checkout@v4 - uses: ./.github/actions/dangerous-git-checkout - uses: ./.github/actions/yarn-install + - run: yarn prisma generate - uses: ./.github/actions/cache-build - name: Analyze bundle run: | diff --git a/.github/workflows/production-build-without-database.yml b/.github/workflows/production-build-without-database.yml index 5517fc18686643..78920c5fb671f2 100644 --- a/.github/workflows/production-build-without-database.yml +++ b/.github/workflows/production-build-without-database.yml @@ -45,6 +45,7 @@ jobs: - uses: actions/checkout@v4 - uses: ./.github/actions/dangerous-git-checkout - uses: ./.github/actions/yarn-install + - run: yarn prisma generate - name: Generate cache key id: cache-key uses: ./.github/actions/cache-build-key From acee514c42cb7ce4e7a25ef822ae2979d40ec712 Mon Sep 17 00:00:00 2001 From: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> Date: Mon, 5 Jan 2026 10:40:14 +0530 Subject: [PATCH 2/2] fix: show empty screen from event type availability tab (#26396) * fix * update * fix * Remove copying of App Store static files step Removed step to copy App Store static files from the workflow. --- .../tabs/availability/EventAvailabilityTab.tsx | 15 +++++++++++++++ apps/web/public/static/locales/en/common.json | 2 ++ 2 files changed, 17 insertions(+) diff --git a/apps/web/modules/event-types/components/tabs/availability/EventAvailabilityTab.tsx b/apps/web/modules/event-types/components/tabs/availability/EventAvailabilityTab.tsx index 2cf1b62c9941c3..843d8912ada0a0 100644 --- a/apps/web/modules/event-types/components/tabs/availability/EventAvailabilityTab.tsx +++ b/apps/web/modules/event-types/components/tabs/availability/EventAvailabilityTab.tsx @@ -34,6 +34,7 @@ import { SettingsToggle } from "@calcom/ui/components/form"; import { Icon } from "@calcom/ui/components/icon"; import { Spinner } from "@calcom/ui/components/icon"; import { SkeletonText } from "@calcom/ui/components/skeleton"; +import { EmptyScreen } from "@calcom/ui/components/empty-screen"; export type ScheduleQueryData = RouterOutputs["viewer"]["availability"]["schedule"]["get"]; @@ -476,6 +477,20 @@ const EventTypeSchedule = ({ return ; } + if (schedulesQueryData.length === 0) { + return ( + + {t("create")} + } + /> + ); + } + const options = schedulesQueryData.map((schedule) => ({ value: schedule.id, label: schedule.name, diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json index 5824d4067b640c..53d118a1a8ab41 100644 --- a/apps/web/public/static/locales/en/common.json +++ b/apps/web/public/static/locales/en/common.json @@ -1298,6 +1298,8 @@ "schedule_deleted_successfully": "Schedule deleted successfully", "default_schedule_name": "Working Hours", "new_schedule_heading": "Create an availability schedule", + "no_schedules_created_yet": "You haven't created any availability schedules yet. Create one to get started.", + "create_availability_schedule": "Create availability schedule", "new_schedule_description": "Creating availability schedules allows you to manage availability across event types. They can be applied to one or more event types.", "requires_ownership_of_a_token": "Requires ownership of a token belonging to the following address:", "example_name": "John Doe",