Skip to content

fix: add extra security layers for sending messages to attendees#10636

Merged
zomars merged 30 commits intomainfrom
fix/message-to-attendee
Aug 10, 2023
Merged

fix: add extra security layers for sending messages to attendees#10636
zomars merged 30 commits intomainfrom
fix/message-to-attendee

Conversation

@CarinaWolli
Copy link
Copy Markdown
Member

@CarinaWolli CarinaWolli commented Aug 7, 2023

What does this PR do?

  • Enables sending SMS to attendees (reverts fix: temporarily disable sms/whatsapp to attendee workflow action  #10485)

  • Only allow sending SMS to attendees when event type requires confirmation
    You can still set an event type that does not require confirmation as active because this would be too complex to handle otherwise (workflow can have more actions, event type can be changed afterwards etc.). A warning message got added to make users aware.

    Warning message when editing workflows:
    Screenshot 2023-08-07 at 20 32 32
    Warning message when in the workflows tab of event types settings:
    Screenshot 2023-08-07 at 20 33 19

  • Only enable SMS/Whatsapp to attendee for users and teams that are verified

    Screenshot 2023-08-07 at 20 45 14

    Dialog that opens when clicking on verify badge if user is part of team:
    Screenshot 2023-08-07 at 20 36 26

    Dialog that opens when clicking on verify badge if user is not part of team:
    Screenshot 2023-08-07 at 20 38 07

  • Verify teams and users in admin settings:
    Screenshot 2023-08-07 at 20 39 22

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

How should this be tested?

  • Test verifying teams and users
  • Test that sending SMS/Whatsapp messages to attendee does not work with event types that don't require confirmation
  • Test that sending SMS/Whatsapp to attendee does work with event types that do require confirmation
  • Test that SMS/Whatsapp to attendee actions are disabled if user or team is not verified

Mandatory Tasks

  • Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.

@vercel
Copy link
Copy Markdown

vercel Bot commented Aug 7, 2023

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

Name Status Preview Comments Updated (UTC)
api ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 10, 2023 6:08pm
cal-demo ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 10, 2023 6:08pm
dev ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 10, 2023 6:08pm
3 Ignored Deployments
Name Status Preview Comments Updated (UTC)
cal ⬜️ Ignored (Inspect) Visit Preview Aug 10, 2023 6:08pm
qa ⬜️ Ignored (Inspect) Visit Preview Aug 10, 2023 6:08pm
ui ⬜️ Ignored (Inspect) Visit Preview Aug 10, 2023 6:08pm

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Aug 7, 2023

Thank you for following the naming conventions! 🙏

Copy link
Copy Markdown
Contributor

@zomars zomars left a comment

Choose a reason for hiding this comment

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

Codewise is looking pretty good. Can we check why the production build is failing?

@github-actions
Copy link
Copy Markdown
Contributor

📦 Next.js Bundle Analysis for @calcom/web

This analysis was generated by the Next.js Bundle Analysis action. 🤖

New Pages Added

The following pages were added to the bundle from the code in this PR:

Page Size (compressed) First Load % of Budget (350 KB)
/settings/admin/kycVerification 259.37 KB 413.32 KB 118.09%
/settings/admin/kycVerification/kycVerificationView 93.28 KB 247.23 KB 70.64%

Ninety-three Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load % of Budget (350 KB)
/404 96.29 KB 250.24 KB 71.50% (🟡 +0.21%)
/500 90.89 KB 244.84 KB 69.95% (🟡 +0.22%)
/[user] 103.28 KB 257.23 KB 73.49% (🟡 +0.22%)
/[user]/[type] 403.38 KB 557.33 KB 159.24% (🟡 +0.24%)
/[user]/[type]/embed 403.41 KB 557.36 KB 159.25% (🟡 +0.24%)
/[user]/embed 103.31 KB 257.25 KB 73.50% (🟡 +0.22%)
/apps 291.33 KB 445.28 KB 127.22% (🟡 +0.26%)
/apps/[slug]/setup 93.66 KB 247.61 KB 70.75% (🟡 +0.21%)
/apps/categories 253.02 KB 406.97 KB 116.28% (🟡 +0.24%)
/auth/error 106 KB 259.94 KB 74.27% (🟡 +0.21%)
/auth/forgot-password 140.61 KB 294.56 KB 84.16% (🟡 +0.21%)
/auth/forgot-password/[id] 139.99 KB 293.94 KB 83.98% (🟡 +0.22%)
/auth/login 156.29 KB 310.24 KB 88.64% (🟡 +0.21%)
/auth/logout 94.79 KB 248.74 KB 71.07% (🟡 +0.21%)
/auth/saml-idp 85.33 KB 239.27 KB 68.36% (🟡 +0.22%)
/auth/setup 176.66 KB 330.61 KB 94.46% (🟡 +0.28%)
/auth/signin 85.4 KB 239.35 KB 68.39% (🟡 +0.21%)
/auth/sso/[provider] 85.44 KB 239.39 KB 68.40% (🟡 +0.21%)
/auth/sso/direct 85.37 KB 239.31 KB 68.38% (🟡 +0.21%)
/auth/verify 103.16 KB 257.11 KB 73.46% (🟡 +0.22%)
/auth/verify-email 90.79 KB 244.74 KB 69.92% (🟡 +0.22%)
/availability 258.64 KB 412.59 KB 117.88% (🟡 +0.25%)
/availability/[schedule] 355 KB 508.95 KB 145.41% (🟡 +0.24%)
/availability/troubleshoot 253.7 KB 407.65 KB 116.47% (🟡 +0.25%)
/booking/[uid] 326.81 KB 480.76 KB 137.36% (🟡 +0.22%)
/d/[link]/[slug] 403.4 KB 557.35 KB 159.24% (🟡 +0.25%)
/event-types 598.38 KB 752.33 KB 214.95% (🟡 +0.15%)
/getting-started/[[...step]] 405.95 KB 559.9 KB 159.97% (🟡 +0.50%)
/insights 473.3 KB 627.25 KB 179.21% (🟡 +0.25%)
/maintenance 85.54 KB 239.49 KB 68.42% (🟡 +0.22%)
/more 252.65 KB 406.6 KB 116.17% (🟡 +0.25%)
/org/[orgSlug] 232.69 KB 386.64 KB 110.47% (🟡 +0.21%)
/org/[orgSlug]/[user] 238.85 KB 392.8 KB 112.23% (🟡 +0.21%)
/org/[orgSlug]/[user]/[type] 403.54 KB 557.49 KB 159.28% (🟡 +0.25%)
/org/[orgSlug]/[user]/[type]/embed 403.57 KB 557.52 KB 159.29% (🟡 +0.24%)
/org/[orgSlug]/team/[slug] 232.7 KB 386.64 KB 110.47% (🟡 +0.21%)
/org/[orgSlug]/team/[slug]/[type] 403.43 KB 557.38 KB 159.25% (🟡 +0.25%)
/payment/[uid] 125.27 KB 279.21 KB 79.78% (🟡 +0.21%)
/settings/admin 258.92 KB 412.87 KB 117.96% (🟡 +0.25%)
/settings/admin/apps 271.24 KB 425.19 KB 121.48% (🟡 +0.21%)
/settings/admin/apps/[category] 271.23 KB 425.18 KB 121.48% (🟡 +0.21%)
/settings/admin/flags 262.47 KB 416.42 KB 118.98% (🟡 +0.25%)
/settings/admin/impersonation 259.19 KB 413.14 KB 118.04% (🟡 +0.25%)
/settings/admin/organizations 259.97 KB 413.92 KB 118.26% (🟡 +0.25%)
/settings/admin/users 260.96 KB 414.91 KB 118.55% (🟡 +0.25%)
/settings/admin/users/[id]/edit 350.66 KB 504.61 KB 144.17% (🟡 +0.24%)
/settings/admin/users/add 350.36 KB 504.31 KB 144.09% (🟡 +0.23%)
/settings/billing 259.06 KB 413.01 KB 118.00% (🟡 +0.25%)
/settings/developer/api-keys 263.59 KB 417.54 KB 119.30% (🟡 +0.24%)
/settings/developer/webhooks 263.17 KB 417.12 KB 119.18% (🟡 +0.25%)
/settings/developer/webhooks/[id] 264.4 KB 418.35 KB 119.53% (🟡 +0.25%)
/settings/developer/webhooks/new 264.37 KB 418.32 KB 119.52% (🟡 +0.25%)
/settings/my-account/appearance 278.95 KB 432.9 KB 123.69% (🟡 +0.26%)
/settings/my-account/calendars 266.18 KB 420.13 KB 120.04% (🟡 +0.44%)
/settings/my-account/general 346.87 KB 500.82 KB 143.09% (🟡 +0.27%)
/settings/my-account/profile 385.43 KB 539.38 KB 154.11% (🟡 +0.24%)
/settings/organizations/[id]/about 172.56 KB 326.51 KB 93.29% (🟡 +0.21%)
/settings/organizations/[id]/add-teams 172.6 KB 326.55 KB 93.30% (🟡 +0.21%)
/settings/organizations/[id]/onboard-admins 172.62 KB 326.57 KB 93.31% (🟡 +0.21%)
/settings/organizations/[id]/set-password 172.56 KB 326.51 KB 93.29% (🟡 +0.21%)
/settings/organizations/appearance 265.7 KB 419.65 KB 119.90% (🟡 +0.23%)
/settings/organizations/billing 258.9 KB 412.85 KB 117.96% (🟡 +0.25%)
/settings/organizations/general 339.53 KB 493.48 KB 140.99% (🟡 +0.25%)
/settings/organizations/members 288.87 KB 442.82 KB 126.52% (🟡 +0.30%)
/settings/organizations/new 172.57 KB 326.52 KB 93.29% (🟡 +0.22%)
/settings/organizations/profile 380.03 KB 533.98 KB 152.57% (🟡 +0.24%)
/settings/organizations/teams/other 260.07 KB 414.02 KB 118.29% (🟡 +0.25%)
/settings/organizations/teams/other/[id]/appearance 268.44 KB 422.39 KB 120.68% (🟡 +0.27%)
/settings/organizations/teams/other/[id]/members 263.06 KB 417.01 KB 119.14% (🟡 +0.25%)
/settings/organizations/teams/other/[id]/profile 449.24 KB 603.19 KB 172.34% (🟡 +0.16%)
/settings/security/impersonation 261.57 KB 415.52 KB 118.72% (🟡 +0.25%)
/settings/security/sso 268.08 KB 422.03 KB 120.58% (🟡 +0.18%)
/settings/security/two-factor-auth 264.19 KB 418.14 KB 119.47% (🟡 +0.25%)
/settings/teams 258.66 KB 412.61 KB 117.89% (🟡 +0.25%)
/settings/teams/[id]/appearance 268.43 KB 422.38 KB 120.68% (🟡 +0.26%)
/settings/teams/[id]/billing 258.9 KB 412.85 KB 117.96% (🟡 +0.25%)
/settings/teams/[id]/members 381.83 KB 535.78 KB 153.08% (🟡 +0.52%)
/settings/teams/[id]/onboard-members 169.74 KB 323.69 KB 92.48% (🟡 +0.25%)
/settings/teams/[id]/profile 449.63 KB 603.57 KB 172.45% (🟡 +0.16%)
/settings/teams/[id]/sso 268.17 KB 422.12 KB 120.60% (🟡 +0.17%)
/settings/teams/new 193.21 KB 347.16 KB 99.19% (🟡 +0.24%)
/signup 152.25 KB 306.2 KB 87.49% (🟡 +0.21%)
/team/[slug] 232.65 KB 386.6 KB 110.46% (🟡 +0.21%)
/team/[slug]/[type] 403.4 KB 557.34 KB 159.24% (🟡 +0.25%)
/team/[slug]/[type]/embed 403.43 KB 557.38 KB 159.25% (🟡 +0.24%)
/team/[slug]/embed 232.69 KB 386.64 KB 110.47% (🟡 +0.21%)
/teams 252.9 KB 406.85 KB 116.24% (🟡 +0.25%)
/video/[uid] 241.74 KB 395.69 KB 113.05% (🟡 +0.22%)
/video/meeting-ended/[uid] 101.44 KB 255.39 KB 72.97% (🟡 +0.21%)
/video/meeting-not-started/[uid] 101.08 KB 255.03 KB 72.87% (🟡 +0.21%)
/video/no-meeting-found 93.35 KB 247.3 KB 70.66% (🟡 +0.21%)
/workflows 287.71 KB 441.66 KB 126.19% (🟡 +0.25%)
/workflows/[workflow] 400.69 KB 554.64 KB 158.47% (🟡 +0.41%)
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

The "Budget %" column shows what percentage of your performance budget the First Load total takes up. For example, if your budget was 100kb, and a given page's first load size was 10kb, it would be 10% of your budget. You can also see how much this has increased or decreased compared to the base branch of your PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this. If you see "+/- <0.01%" it means that there was a change in bundle size, but it is a trivial enough amount that it can be ignored.

@deploysentinel
Copy link
Copy Markdown

deploysentinel Bot commented Aug 10, 2023

No failed tests 🎉

@CarinaWolli
Copy link
Copy Markdown
Member Author

@zomars fixed production build

@alwaysmeticulous
Copy link
Copy Markdown

alwaysmeticulous Bot commented Aug 10, 2023

🤖 Meticulous spotted visual differences in 15 of 110 screens tested: view and approve differences detected.

Last updated for commit 19876c8. This comment will update as new commits are pushed.

Copy link
Copy Markdown
Contributor

@zomars zomars left a comment

Choose a reason for hiding this comment

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

tommynice

@zomars zomars merged commit c7dfa7b into main Aug 10, 2023
@zomars zomars deleted the fix/message-to-attendee branch August 10, 2023 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core area: core, team members only High priority Created by Linear-GitHub Sync

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants