Rajiv Sahal and GitHub
f11c4dd7ec
fix: platform billing portal ( #23975 )
...
* fix: check if team is platform or not when sending billingPortalUrl
* update team repository
* fix: pass teamId explicitely for platform team
* fix: coderabbit feedback
* fix: merge conflicts
* fix: merge conflicts
* fix: make sure we pass in the correct subsciption id
* fix: implement PR feedback
2025-09-24 20:07:46 +00:00
20b7ac8c0d
feat: implement tiered Intercom chat system replacing Plain ( #23285 )
...
* feat: implement tiered Intercom chat system replacing Plain
- Add TieredIntercomChat component with customer tier detection
- Add IntercomContactForm for free users using Intercom API
- Add /api/intercom-conversation endpoint for free user support
- Update UserDropdown to use tiered chat logic
- Replace Plain chat with Intercom in app providers
- Remove all Plain chat components and related files
- Use useHasPaidPlan hook for customer tier detection
Paying customers see Intercom widget, free users see contact form
that creates conversations via Intercom API.
Co-Authored-By: peer@cal.com <peer@cal.com >
* fix: add missing environment variables to turbo.json globalEnv
- Add NEXT_PUBLIC_WEBAPP_URL, NEXT_PUBLIC_WEBSITE_URL, NEXT_PUBLIC_STRIPE_PUBLIC_KEY
- Add NEXT_PUBLIC_IS_E2E, NEXT_PUBLIC_STRIPE_PREMIUM_PLAN_PRICE_MONTHLY
- Add NEXT_PUBLIC_BOOKER_NUMBER_OF_DAYS_TO_LOAD, NEXT_PUBLIC_STRIPE_CREDITS_PRICE_ID
- Resolves turbo/no-undeclared-env-vars ESLint errors blocking commits
Co-Authored-By: peer@cal.com <peer@cal.com >
* fix: resolve linting errors in platform examples base package
- Fix prettier/prettier formatting (quotes and comma)
- Add underscore prefix to unused variables
- Resolves CI failure in @calcom/base#lint check
Co-Authored-By: peer@cal.com <peer@cal.com >
* remove plain usage
* placement fixes
* fix: pop closing immediately issue
* stuff
* proper error and additional user info
* add key to .env.example and remove unused plain route
* fix conversation route
* refactor intercom dynamic provider
* code rabbit fixes
* feat: introduce tiered support feature flag
* fix: type check
* Apply suggestion from @coderabbitai[bot]
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com >
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com >
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-09 18:20:22 +09:00
Rajiv Sahal and GitHub
f5bb734441
fix: platform onboarding ( #23581 )
...
* fix: platform onboarding
* chore: better function naming
* fix: implement PR feedback
2025-09-08 19:04:33 +00:00
Lauris Skraucis and GitHub
4a53ec0b74
feat: platform toggle calendar event creation ( #21788 )
...
* feat: add areCalendarEventsEnabled to PlatformOAuthClient table
* feat: areCalendarEvents enabled in handleNewBooking and v2
* feat: v2 handle areCalendarEventsEnabled
* feat: toggle areCalendarEventsEnabled on frontend
* feat: enable areCalendarEventsEnabled for recurring,confirm,paid
* refactor: use placeholder calendar event
* remove merge conflicts
* chore: bump libraries
* chore: bump libraries
2025-06-13 14:15:47 +00:00
Lauris Skraucis and GitHub
ab1c1bb015
fix: allow only platform organisation or non-platform organisation ( #20972 )
...
* fix: platform customers cant subscribe to organizations plan
* fix: organization customers cant subscribe to platform plan
2025-04-30 10:33:01 +02:00
fbe8cf8223
fix: cancel platform subscription on dashboard ( #20787 )
...
* add new endpoint to cancel user subscription
* remove comments
* add delete button to frontend
* update correct request method
* fixup
* frontend for cancelling subscription
* better warning message
* better function name
* update locales
* better error handling in case stripe api call fails
* rename teamId to organizationId
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com >
2025-04-28 08:41:25 +01:00
4383d23d4c
fix: replace hard-coded strings with translation keys for internationalization ( #20672 )
...
* fix: replace hard-coded strings with translation keys for internationalization
Co-Authored-By: benny@cal.com <benny@cal.com >
* fix: replace loading text with translation key
Co-Authored-By: benny@cal.com <benny@cal.com >
* fix: add translation keys for platform plans view
Co-Authored-By: benny@cal.com <benny@cal.com >
* fix: add translation keys for oauth view
Co-Authored-By: benny@cal.com <benny@cal.com >
* fix: add translation keys for users table
Co-Authored-By: benny@cal.com <benny@cal.com >
* fix: add translation keys for oauth view toast messages
Co-Authored-By: benny@cal.com <benny@cal.com >
* fix: add translation keys for verify view
Co-Authored-By: benny@cal.com <benny@cal.com >
* fix: update sendVerificationLogin to use t function
Co-Authored-By: benny@cal.com <benny@cal.com >
* fix: remove duplicate translation keys in common.json
Co-Authored-By: benny@cal.com <benny@cal.com >
* fix: add missing verification_email_sent translation key
Co-Authored-By: benny@cal.com <benny@cal.com >
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: benny@cal.com <benny@cal.com >
2025-04-12 01:50:04 -04:00
Lauris Skraucis and GitHub
d04f10e7d1
refactor: platform - remove host and attendee automatic no show webhook trigger ( #20385 )
...
* docs: connect calendar redir and auto accept team creator
* refactor: platform hide automatic no show webhook triggers
2025-03-26 21:55:49 +05:30
Benny Joo and GitHub
4606fc6ace
chore: Remove HeadSeo everywhere ( #20272 )
2025-03-21 14:24:53 -04:00
853f9bc436
perf: do not import from @calcom/ui barrel file ( #20184 )
...
* Icon and IconName
* Button and ButtonGroup
* UserAvatar
* AvatarGroup
* Avatar
* WizardLayout
* Dialogs
* EmptyScreen
* showToast and TextField
* Editor
* Skeleton
* Skeleton
* TopBanner and showToast
* Button again
* more
* perf: Remove app-store reference from @calcom/ui
* more
* Fixing types
* Icon
* Fixed casing
* dropdown
* more
* Select
* more
* Badge
* List
* more
* Divider
* more
* fix
* fix type check
* refactor
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix type check
* fix
* fix
* fix
* fix
* more
* more
* more
* more
* add index file to components/command
* fix
* fix
* fix
* fix imports
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix build errors
* fix build errors
* fix
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com >
2025-03-19 19:00:55 -03:00
Lauris Skraucis and GitHub
e437dfa000
refactor: platform default event types ( #19225 )
...
* feat: add areDefaultEventTypesEnabled to PlatformOAuthClient
* feat: specify areDefaultEventTypesEnabled when creating OAuth client
* feat: specify areDefaultEventTypesEnabled when updating OAuth client
* feat: display areDefaultEventTypesEnabled in OAuth clients list
* refactor: set areDefaultEventTypesEnabled by default to false on API level
* feat: v2 API CREATE managed user toggle default event types
* refactor: centralize OAuth inputs and outputs in platform/types
* fix: correct response types for OAuth hooks
* refactor: web/lib/hooks/settings/platform/oauth-clients/useOAuthClients.ts
* refactor: web/lib/hooks/settings/platform/oauth-clients/useOAuthClients.ts
* refactor: split web OAuth hooks into separate files
* refactor: split web OAuth hooks into separate files
* docs: v2 OAuth client inputs and outputs
* refactor: update and create oauth client inputs
2025-02-26 12:06:08 -03:00
Lauris Skraucis and GitHub
a44bcafcf2
feat: v2 managed organizations ( #19341 )
...
* refactor: allow non unique PlatformBilling customerId
* feat: add PlatformBilling managed organizations fields
* feat: ManagedOrganization table
* refactor: bill overdue based on teamId
* refactor: restructure organizations module
* wip: organizations endpoints
* Revert "wip: organizations endpoints"
This reverts commit 0e9e66fc74f31da436f12930c1b6597c650ed621.
* refactor: unique index for managed organizations
* wip: organizations endpoints
* wip: create managed organization
* remove unecessary membership check because we have guard
* feat: create managed org
* feat: get managed org and orgs
* feat: update and delete managed orgs
* wip: api key logic
* feat: allow variable api key length
* feat: refresh managed org api key
* feat: create managed org OAuth clients using api key
* finish merge main
* chore: bump platform libraries
* tests: fix and add more tests to api-auth.strategy.e2e
* refactor: dont request managed org slug and handle metadata as object
* revert: billing service and repository update overdue based on sub and customer ids
* refactor: v2 OAuth client permissions (#19501 )
* refactor: v2 permissions as string array
* refactor: frontend work with permissions as string
* tests: test '*' permissions
* fix:managed org creator have profile & test can fetch oauth client
* fix: tests
* fix: OAuthClientCard on frontend
* fix: tests
2025-02-25 18:10:46 -07:00
Benny Joo and GitHub
43ba47a122
perf: Use one PageWrapper instance for all settings pages ( #18752 )
...
* add a layoutfile to use-page-wrapper route group
* refactor and move bookings status page to route group
* improve logic in pagesAndRewritePaths
* fix
* add use client directive
* move /403 and /500
* move /auth/error
* move /connect-and-join
* move /enterprise
* move /maintenance
* move /more
* move /upgrade
* chore: remove WithLayout from 8 low-risk single pages (#18745 )
* move /403 and /500
* move /auth/error
* move /connect-and-join
* move /enterprise
* move /maintenance
* move /more
* move /upgrade
* move /availability pages
* move /event-types pages
* move /insights pages
* move /apps to use-page-wrapper group
* move /getting-started to use-page-wrapper group
* move /signup to use-page-wrapper group
* move /workflows to use-page-wrapper group
* move /video pages to use-page-wrapper group
* pass dehydratedState in layout
* pass dehydratedState in layout
* move settings/(settings-layout) to use-page-wrapper
* move settings/(admin-layout) to use-page-wrapper
* move remaining settings pages to (use-page-wrapper)
* fix test
* remove unused code
* remove unused files
* fix type check
* remove test tag
* remove page
* RSC should not default export client components
2025-02-18 04:43:25 -05:00
Peer Richelsen and GitHub
111f292c0d
chore: removed props.hideHeadingOnMobile ( #19208 )
...
* removed props.hideHeadingOnMobile
* made sure CTA works
2025-02-10 11:06:16 +00:00
Somay Chauhan and GitHub
f26d2998cb
feat: added pagination to platform managed users table ( #18523 )
...
* feat: added pagination to platform managed users table
* removed console
* implemented feedback, removed unused components
* added label
* Update managed-users-view.tsx
* Update managed-users-view.tsx
2025-01-10 12:53:20 +00:00
Nizzy and GitHub
1dbef7f8f6
fix: billing plain chat working ( #18530 )
2025-01-10 10:12:30 +00:00
Benny Joo and GitHub
0a08680084
cleanup: remove-headseo-from-migrated-app-router-components ( #18576 )
2025-01-10 10:35:37 +01:00
Alex van Andel and GitHub
fd7f6c32ae
chore: Remove all instances of useIntercom ( #18500 )
2025-01-07 07:43:46 -05:00
Benny Joo and GitHub
656a5bf423
chore: remove hardcoded strings ( #18156 )
2024-12-13 09:54:28 +01:00
Benny Joo and GitHub
42c4c134fa
chore: add missing i18n to metadata in settings/platform pages ( #17476 )
2024-11-05 02:37:12 +00:00
Benny Joo and GitHub
7263f3b00b
chore: settings/platform, settings/license-key - remove pages router and use app router ( #17384 )
...
* remove pages router and use app router
* remove pages router and use app router for platform
* add billing page and plans page
* fix metadata for settings/platform/billing
* fix metadata for settings/platform/oauth-clients
2024-11-04 15:56:43 -03:00
5726d18027
feat: member management for platform ( #16803 )
...
* init members page for platform
* add missing icon
* add members tab to sidebar
* use data from useMe query instead of useSession
* return user profiles since platform users are stored there
* small refactor
* fixup
* remove unused logs from console
* fixup
* resolve merge conflicts
* add missing tabs for members and billing
* update schema
* fixup
* memoise selection options for org and platform
* update onSubmit handler
* resolve merge conflicts
* add members tab
* improve team billing view when user not subscribed
* update members tab
* add function to find if user is admin of team
* update invite members handler to handle platform user as well
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com >
2024-10-14 21:19:02 +03:00
395381ddcc
feat: automatic no show ( #16727 )
...
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com >
Co-authored-by: Alex van Andel <me@alexvanandel.com >
Co-authored-by: Peer Richelsen <peeroke@gmail.com >
Co-authored-by: CarinaWolli <wollencarina@gmail.com >
Co-authored-by: zomars <zomars@me.com >
2024-10-10 10:57:04 -07:00
Benny Joo and GitHub
7b5a2726ab
fix: translations for insights, routing-forms, apps store, etc ( #16933 )
...
* remove outdated translations for insights
* use i18n strings for insights
* use i18n strings for routing forms
* use i18n strings for apps store
* fix more pages
* refactor
* fix
2024-10-04 09:45:51 -03:00
3371602e0f
feat: billing tab for platform ( #16755 )
...
* modules for platform plans and billing pages
* add platform billing and plans related pages
* update platform navigation to include billing tab
* custom hook to upgrade team subscription
* refactors
* export cta row component
* fixup
* only pass in subscription id instead of whole subscription
* refactor :teamId/subscribe endpoint logic, add endpoint for upgrading stripe and shift all webhooks logic into services
* refactor team subscription logic, add logic for upgrading stripe and webhooks logic from billing controller
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com >
2024-09-23 13:36:03 +03:00
9ed1624111
chore: App router migration - settings/platform/**/*, settings/organizations/new and settings/organizations/[id]/* ( #16334 )
...
* remove WizardLayoutAppDir
* refactor organizations/new and add platform/new
* refactor organizations/[id]/*
* add APP_ROUTER_SETTINGS_ORG_ENABLED
* fix type error
* fix organizations/new page
* remove code not needed and fix type errors
* Fix Metadata utils
* remove unnecessary code
* remove unneeded code
* wip
* do not remove buildWrappedOnboardTeamMembersPage
* fix type error
* do not introduce changes to yarn.lock
* fix wrong route name
* fix onboard members
* fix platform pages
* fix settings/platform main view
* add requiresLicense to WithLayout
* refactor
* add requiresLicense to platform/new
* Add LicenseRequired back to platform/new
* add env variable
* fix onboard-members
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com >
2024-09-09 17:19:44 -07:00