Skip to content

feat: disable transcription setting in cal video #21755

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 2 commits into from
Jun 18, 2025

Conversation

Udit-takkar
Copy link
Contributor

@Udit-takkar Udit-takkar commented Jun 10, 2025

What does this PR do?

Screenshot 2025-06-10 at 7 44 49 PM

Screenshot 2025-06-10 at 7 45 59 PM

Mandatory Tasks (DO NOT REMOVE)

  • I have self-reviewed the code (A decent size PR without self-review might be rejected).
  • N/A I have updated the developer docs in /docs if this PR makes changes that would require a documentation change. If N/A, write N/A here and check the checkbox.
  • N/A I confirm automated tests are in place that prove my fix is effective or that my feature works.

How should this be tested?

  1. Select 'cal video' as location
  2. Toggle "Disable transcription for guests" and test on cal video meeting page

Summary by cubic

Added new settings to disable transcription for guests and organizers in Cal Video meetings.

  • New Features
    • Added toggles to disable transcription for guests and organizers in event type settings.
    • Updated Cal Video UI to respect these settings and hide the transcription option when disabled.
    • Updated database schema and API to support the new settings.

@Udit-takkar Udit-takkar requested review from a team as code owners June 10, 2025 14:16
@graphite-app graphite-app bot requested a review from a team June 10, 2025 14:16
@github-actions github-actions bot added the ❗️ migrations contains migration files label Jun 10, 2025
@keithwillcode keithwillcode added core area: core, team members only enterprise area: enterprise, audit log, organisation, SAML, SSO labels Jun 10, 2025
@dosubot dosubot bot added cal video ✨ feature New feature or request labels Jun 10, 2025
Copy link

graphite-app bot commented Jun 10, 2025

Graphite Automations

"Add consumer team as reviewer" took an action on this PR • (06/10/25)

1 reviewer was added to this PR based on Keith Williams's automation.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

cubic found 1 issue across 14 files. Review it in cubic.dev

React with 👍 or 👎 to teach cubic. Tag @cubic-dev-ai to give specific feedback.

@@ -174,6 +174,8 @@ export const useEventTypeForm = ({
redirectUrlOnExit: z.string().url().nullish(),
disableRecordingForOrganizer: z.boolean().nullable(),
disableRecordingForGuests: z.boolean().nullable(),
disableTranscriptionForGuests: z.boolean().nullable(),
Copy link
Contributor

Choose a reason for hiding this comment

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

If calVideoSettings is present this new field becomes mandatory (only null allowed). Existing eventType objects that don’t yet include this property will fail validation. Mark the field as optional as well to keep backward-compatibility.

Suggested change
disableTranscriptionForGuests: z.boolean().nullable(),
disableTranscriptionForGuests: z.boolean().nullable().optional(),

Copy link

linear bot commented Jun 10, 2025

Comment on lines +379 to +427
{!isPlatform && (
<Controller
name="calVideoSettings.disableTranscriptionForGuests"
defaultValue={!!eventType.calVideoSettings?.disableTranscriptionForGuests}
render={({ field: { onChange, value } }) => {
return (
<SettingsToggle
title={t("disable_transcription_for_guests")}
labelClassName="text-sm"
checked={value}
onCheckedChange={onChange}
/>
);
}}
/>
)}
{!isPlatform && (
<Controller
name="calVideoSettings.disableTranscriptionForOrganizer"
defaultValue={!!eventType.calVideoSettings?.disableTranscriptionForOrganizer}
render={({ field: { onChange, value } }) => {
return (
<SettingsToggle
title={t("disable_transcription_for_organizer")}
labelClassName="text-sm"
checked={value}
onCheckedChange={onChange}
/>
);
}}
/>
)}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

settings UI

Comment on lines +48 to +80
const shouldEnableTranscriptionButton = ({
hasTeamPlan,
calVideoSettings,
isOrganizer,
}: {
hasTeamPlan: boolean;
calVideoSettings?: CalVideoSettings | null;
isOrganizer: boolean;
}) => {
if (!hasTeamPlan) return false;
if (!calVideoSettings) return true;

if (isOrganizer) {
return !calVideoSettings.disableTranscriptionForOrganizer;
}

return !calVideoSettings.disableTranscriptionForGuests;
};

Copy link
Contributor Author

Choose a reason for hiding this comment

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

disableTranscriptionForOrganizer and disableTranscriptionForGuests default value is false

Copy link
Member

@alishaz-polymath alishaz-polymath left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link

vercel bot commented Jun 16, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

2 Skipped Deployments
Name Status Preview Comments Updated (UTC)
cal ⬜️ Ignored (Inspect) Visit Preview Jun 16, 2025 3:30pm
cal-eu ⬜️ Ignored (Inspect) Visit Preview Jun 16, 2025 3:30pm

Copy link
Contributor

@emrysal emrysal left a comment

Choose a reason for hiding this comment

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

Looks good to me, good work @Udit-takkar

@keithwillcode keithwillcode enabled auto-merge (squash) June 18, 2025 14:26
@keithwillcode keithwillcode merged commit 2880a68 into main Jun 18, 2025
79 of 82 checks passed
@keithwillcode keithwillcode deleted the feat/cal-transcription-settings branch June 18, 2025 14:36
Copy link
Contributor

E2E results are ready!

BKM14 pushed a commit to BKM14/cal.com that referenced this pull request Jun 26, 2025
* feat: disable transcription setting in cal video

* fix: type err
devin-ai-integration bot added a commit that referenced this pull request Jul 4, 2025
- Add disableRecordingDownloadEmailForGuests field to CalVideoSettings schema
- Update repository layer to handle new field with default false value
- Add UI toggle in event type setup page alongside other Cal Video settings
- Modify sendDailyVideoRecordingEmails to conditionally skip attendee emails
- Update webhook handler to pass calVideoSettings to email function
- Add i18n translation for new toggle option
- Update all TypeScript types and TRPC schemas
- Create database migration for new field

Follows pattern from PR #21755 for transcription settings.
Only attendee emails are skipped when enabled - organizer emails always sent.

Co-Authored-By: udit@cal.com <udit222001@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cal video core area: core, team members only enterprise area: enterprise, audit log, organisation, SAML, SSO ✨ feature New feature or request ❗️ migrations contains migration files ready-for-e2e Requested
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Disable transcription setting in cal video
5 participants