* Remove unused code in InstalledAppsLayout
* Add new app categories "crm", "conferencing" and "messaging"
* Sort getAppCategories entries alphabetically
* Fix 404s on new category pages (and remove hardcoded category lists)
* Fix admin apps list not showing "no available apps" for new categories
* Recategorise apps
* Sync seed-app-store categories with config files
* Replace unnecessary seed-app-store.config.json with appStoreMetadata
* Copy video.svg to conferencing.svg
* Add messaging.svg
* Remove web3 from getAppCategories (used by installed apps, admin apps)
* Fix app-store-cli categories
- Add conferencing
- Add CRM
- Remove video
- Remove web3
* Remove outdated web3 comment in seed-app-store
* Update apps/web/public/static/locales/en/common.json
* Add cron script to keep db apps in sync with app metadata
* Add redirect for app category "video" to "conferencing"
* Fix up "video" category overrides to apply to conferencing
* Fix conferencing apps not showing as a location for non-team users
* Restore "installed_app" string for conferencing apps
* Make linter happier
* Remove my "installed_app_conferencing_description" as this was fixed upstream
* Quick tidy up
* Add dry-run to syncAppMeta via CRON_ENABLE_APP_SYNC env
* Replace console.log with logger in syncAppMeta
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
* add e2e test for routing forms webhook subscription
* remove debugging checks
* fixed missing method for e2e
* remove forced timeout for e2e test
* fix e2e webhook test
* use routing forms page for install
---------
Co-authored-by: TachyonicBytes <support@tachyonicbytes.com>
* event types public api fix
* Routing form new button issue
* Routing form new button issue
* Routing form new button issue
* Routing form new button issue
* Routing form new button issue
* Avoids invalid hosts
* Fixed test selector, instead using react-select-2-listbox
* Different way of selecting the managed user
* Convert select-option- to value instead of label
* Replaced all instances of networkidle
* done rewriting test
* Fix prisma is not defined error
* Depend on inner text rather than testid
* Fill of team create is unstable
* Removed console.log
---------
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
* [CAL-1517] fix all Typescript warnings
* solve conflicts
* Update stripeCheckoutSession.handler.ts
Parse is a guard, so even though the variable is unused the parse itself is needed.
* Update ToolbarPlugin.tsx
Don't change dependency tree
---------
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Rounding, frames and radio buttons of the booking forms not consistent
* Updates
---------
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* override jsonLogic operators on string operands to allow for case insensitive comparisons.
Affected Operators: "==", "===", "!=", "!==", "in"
* disable no-explicit-any on jsonLogicOverrides file since most of the code there will be from jsonLogic and may not meet our coding style.
Majority of overrides require us to copy over functions and their signatures from jsonLogic and then modify their implementation.
The signature of functions implementing most operators take the operands typed as "any", which is intended, but doesn't adhere to our coding style. Hence the need to override the eslint rule
* run linter to fix issues
* Fix bug in in operator when second arg is an array
* remove redundant indexOf check on overriden jsonLogic "in" operator.
Note: this deviates from the original implementation in the jsonLogic library because our current useage ensures that the second operand is always a string or string[] and will therefore always have .index function. Whenever our invariants change in the future, make sure to modify this implementation to prevent any unexpected
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* Moving to vitest
* Rearranging test
* Fixing prettier linting
* Reverting launch.json
* Adjustments
* Merged with main and regenerated lockfile
* Fixing tests for API
* Yarn updated, docs is gone
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* allow event type specific webhooks for all event types
* first version of team webhooks
* add empty view
* design fixes when no teams + invalidate query on delete/update
* linke to new webhooks page with teamId in query
* make one button with dropdown instead of a button for every team
* add subtitle to dropdown
* add avatar fallback
* authorization when editing webhook
* fix event type webhooks
* fix authorization for delete handler
* code clean up
* fix disabled switch
* add migration
* fix subscriberUrlReservered function and fix authorization
* fix type error
* fix type error
* fix switch not updating
* make sure webhooks are triggered for the correct even types
* code clean up
* only show teams were user has write access
* make webhooks read-only for members
* fix comment
* fix type error
* fix webhook tests for team event types
* implement feedback
* code clean up from feedback
* code clean up (feedback)
* throw error if param missing in subscriberUrlReservered
* handle null/undefined values in getWebhooks itself
* better variable naming
* better check if webhook is readonly
* create assertPartOfTeamWithRequiredAccessLevel to remove duplicate code
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
* Support prefilling routing form and prefilling Booking form through routing form
* Use Option Value as is instead of lowercasing
* Fix prefill validation issue
* Add prefill tests
* Fix Routing Form tests
* Small fix
* Add dep versions
* Release new version for embeds
* Add prepublish
* Use prepare script which works with both npm and yarn
* Add changesets correctly
* Add embed publishing command
---------
Co-authored-by: zomars <zomars@me.com>