Skip to content

feat: events apps new install flow#14616

Merged
keithwillcode merged 146 commits intocalcom:mainfrom
ibex088:new-app-install-flow-2
May 23, 2024
Merged

feat: events apps new install flow#14616
keithwillcode merged 146 commits intocalcom:mainfrom
ibex088:new-app-install-flow-2

Conversation

@ibex088
Copy link
Copy Markdown
Contributor

@ibex088 ibex088 commented Apr 16, 2024

What does this PR do?

Fixes #13414
Fixes CAL-3029

LOOM 1
LOOM2

this PR is a collective PR for different PRs(#11975 and #14077) that were tested individually and merged together into this pr

Requirement/Documentation

  • If there is a requirement document, please, share it here.
  • If there is a UI/UX design document, please, share it here.

Type of change

  • New feature (non-breaking change which adds functionality)
  • Tests (Unit/Integration/E2E or any other test)

How should this be tested?

checkout the looms, they explain the "How" to in great detail.

-testcasses:

  • for all the apps that dont extend event-types there is no change.
  • for all the apps that extend event-types i.e. all the analytics apps + payment apps + qr_code + Giphy + basecamp3 we follow the new flow
  • for the apps that go to the new flow we can click on the skip button and enable apps individually in event-type/apps

Mandatory Tasks

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

ThyMinimalDev and others added 30 commits October 20, 2023 11:25
… install flow if it is an oAuth app or an app that extends the EventType feature in it's config
@dosubot dosubot Bot modified the milestones: v4.1, v4.2 May 9, 2024
@ibex088
Copy link
Copy Markdown
Contributor Author

ibex088 commented May 10, 2024

Is this the intended behavior? Shouldn't we only show the event types of the entity is being currently installed on?

this should definately not be the case, looking into this

@ibex088
Copy link
Copy Markdown
Contributor Author

ibex088 commented May 10, 2024

@zomars pushed a fix!!

@ibex088
Copy link
Copy Markdown
Contributor Author

ibex088 commented May 15, 2024

Turns out the tests were failing because of this, which likely slipped in during the process of merging and reverting branches.
all green now 👍

@dosubot dosubot Bot added this to the v4.2 milestone May 15, 2024
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.

LEt's go!! Waiting on checks to pass

@zomars zomars added this pull request to the merge queue May 23, 2024
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks May 23, 2024
@keithwillcode
Copy link
Copy Markdown
Contributor

@SomayChauhan Failing Stripe test. https://github.com/calcom/cal.com/actions/runs/9213084475/job/25346504639

@keithwillcode keithwillcode added this pull request to the merge queue May 23, 2024
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks May 23, 2024
@keithwillcode keithwillcode added this pull request to the merge queue May 23, 2024
@keithwillcode keithwillcode mentioned this pull request May 23, 2024
3 tasks
Merged via the queue into calcom:main with commit b82b0a3 May 23, 2024
p6l-richard pushed a commit to p6l-richard/cal.com-fork that referenced this pull request Jul 22, 2024
* feat(appStore): add isOAuth config

* refactor(appStore): EventTypeAppSettngsInterface

* refactor(qr_code): split EventTypeAppCardInterface and EventTypeAppSettingsInterface

* feat(appStore): redirect to onboarding for stripe and basecam

* fix(ui/ScrollableArea): overflow indicator not working

* feat(apps): new install app flow

* fix(configureStep): get disabled props for settings

* fix: getAppInstallsBySlug now use teamIds

* chore: Alby to AppSettingsInterface

* chore: Giphy to appsettings interface

* chore: GTM migration

* chore: GT4 - migration

* chore: fathom migration

* chore: paypal

* feat: basecamp migration

* feat: metapixel migration

* feat:plausable

* feat:stripe

* fix merge issues

* fix merge issues in new app install flow steps

* wip: callback to onboarding

* fix: imports

* fix: more imports

* feat: use redirect to onboarding on install flow

* fix: redirect to event-type after oauth flow

* When clicking on install new app button, only redirect to the new app install flow if it is an oAuth app or an app that extends the EventType feature in it's config

* code refactor, skip event-type step

* removed extra consoles

* so that no one can change the eventTypeId in url

* theme support enabled

* only pass eventTypeId instead of whole evetType obj to OmniInstallAppButton

* fix: clicking on event-type gives error and redirects to /apps

* saved appOnboardingRedirectUrl to OAuth State

* fix: a user having no team breaks the onboarding flow

* add optional chaining to appMetadata.extendsFeature and appMetadata.isOAuth;

* encode appOnboardingRedirectUrl

* fix: dark theme ui issues

* skip configure step if no-event types

if user/team does not have event-type then skip configure step and goto apps/installed/[category]

* exclude calendars from apps- onboarding flow

* Update getAppOnboardingRedirectUrl.ts

* fix: On configure step, inputs aren't showing errors

* change route from `apps/onboarding` to `apps/installation`

* fix: flow not correctly working for teams

* should only allow team ADMIN or OWER to install an app to team

* Prevent two payment apps to be enabled

* removed loading state

* Fix type error

* undo new-app-flow from OmniInstallAppButton

* remove OAuth Step, handle step numbering

* fix: redirect url

* getAppOnboardingRedirectUrl refactor

* for debugging

* Revert "for debugging"

This reverts commit b9362c1.

* fix: added toaster

* feat: added support to select multiple events (almost)

* hide button

* Move inner form outside outer form using portal

Due to limitations with nested forms in React Hook Form, moved the inner form outside the outer form using a portal to ensure proper form handling.

* submit buttons refs madness

* removed configure step

we had to use query params to manage selected event-types, between routes which was causing 2 issues:
* each time we selected or unselected an event the whole page was reloaded including getserversideprops being called again and again
* the form was reloaded causing more issues

* removed extra unwanted code

* small fix

* fix: type error

* fix: types

* implemented suggested changes

* removed step footer
* fixed error.message
* removed commented styles

* removed step footer

* fix: Display team event types instead of user's on event types step when team selected

* fix: typo

* removed shouldLockDisableProps

* refactor setUpdatedEventTypesStatus, fix type

* removed extra code

* can't delete while saving

* added translations

* fix: loading in select account step, fix handle onSelect params type

* Fix typo

* feat: add skip button to event-types step

* use set-up-later button in tests

* added skip button to configure step as well

* feat: add test for analytics apps using the new app install flow

* feat: add test for stripe 1

* feat: add test for stripe 2

* Fix: Redirect only those apps that extend 'EventType' to the new app install flow (calcom#14527)

* fix: type errors

* fix: failing tests

* fix: tests

* fix test flakiness

* better naming and code refactor for analytics apps tests

* run tests parallelly

* removed network idle, giving error

* another shot at test flakiness

* Fix:  can't install apps without team selector dropdown on main app store page.

* fix: test flakiness

* fix: account select loading issue

* removed getPaymentCredential (unused)

* fix: only redirect after the app has been added to all the event-types

* remove overflowIndicatorStyles

* fixed failing test

* fix: exclude org team events

* undo some random merge changes

---------

Co-authored-by: Morgan Vernay <morgan@cal.com>
Co-authored-by: sean-brydon <sean@cal.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api area: API, enterprise API, access token, OAuth app-store area: app store, apps, calendar integrations, google calendar, outlook, lark, apple calendar automated-tests area: unit tests, e2e tests, playwright community Created by Linear-GitHub Sync consumer core area: core, team members only ✨ feature New feature or request High priority Created by Linear-GitHub Sync high-risk Requires approval by Foundation team 🚨 needs approval This feature request has not been reviewed yet by the Product Team and needs approval beforehand platform Anything related to our platform plan 🚧 wip / in the making This is currently being worked on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CAL-3029] 2024-05-23 - App store install flow

8 participants