+
diff --git a/apps/web/ee/pages/api/integrations/stripepayment/webhook.ts b/apps/web/ee/pages/api/integrations/stripepayment/webhook.ts
index 3bb8febe54..1b29a7e884 100644
--- a/apps/web/ee/pages/api/integrations/stripepayment/webhook.ts
+++ b/apps/web/ee/pages/api/integrations/stripepayment/webhook.ts
@@ -33,7 +33,7 @@ async function handlePaymentSuccess(event: Stripe.Event) {
},
});
if (!payment?.bookingId) {
- console.log(JSON.stringify(payment));
+ console.log(JSON.stringify(paymentIntent), JSON.stringify(payment));
}
if (!payment?.bookingId) throw new Error("Payment not found");
diff --git a/apps/web/pages/api/book/event.ts b/apps/web/pages/api/book/event.ts
index 00013fc755..2b01636b0b 100644
--- a/apps/web/pages/api/book/event.ts
+++ b/apps/web/pages/api/book/event.ts
@@ -674,7 +674,11 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
}
}
- await sendRescheduledEmails({ ...evt, additionInformation: metadata });
+ await sendRescheduledEmails({
+ ...evt,
+ additionInformation: metadata,
+ additionalNotes, // Resets back to the addtionalNote input and not the overriden value
+ });
}
// If it's not a reschedule, doesn't require confirmation and there's no price,
// Create a booking
@@ -704,13 +708,17 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
metadata.conferenceData = results[0].createdEvent?.conferenceData;
metadata.entryPoints = results[0].createdEvent?.entryPoints;
}
- await sendScheduledEmails({ ...evt, additionInformation: metadata });
+ await sendScheduledEmails({
+ ...evt,
+ additionInformation: metadata,
+ additionalNotes,
+ });
}
}
if (eventType.requiresConfirmation && !rescheduleUid) {
- await sendOrganizerRequestEmail(evt);
- await sendAttendeeRequestEmail(evt, attendeesList[0]);
+ await sendOrganizerRequestEmail({ ...evt, additionalNotes });
+ await sendAttendeeRequestEmail({ ...evt, additionalNotes }, attendeesList[0]);
}
if (typeof eventType.price === "number" && eventType.price > 0 && !originalRescheduledBooking?.paid) {
diff --git a/packages/app-store/wipemycalother/lib/eventManager.ts b/packages/app-store/wipemycalother/lib/eventManager.ts
index 224a02d190..e971249c4e 100644
--- a/packages/app-store/wipemycalother/lib/eventManager.ts
+++ b/packages/app-store/wipemycalother/lib/eventManager.ts
@@ -323,7 +323,9 @@ export default class EventManager {
if (credential) {
return createMeeting(credential, event);
} else {
- return Promise.reject("No suitable credentials given for the requested integration name.");
+ return Promise.reject(
+ `No suitable credentials given for the requested integration name:${event.location}`
+ );
}
}
@@ -364,7 +366,9 @@ export default class EventManager {
const bookingRef = booking ? booking.references.filter((ref) => ref.type === credential.type)[0] : null;
return updateMeeting(credential, event, bookingRef);
} else {
- return Promise.reject("No suitable credentials given for the requested integration name.");
+ return Promise.reject(
+ `No suitable credentials given for the requested integration name:${event.location}`
+ );
}
}
diff --git a/packages/core/EventManager.ts b/packages/core/EventManager.ts
index 899edb1c5c..c8e30a692b 100644
--- a/packages/core/EventManager.ts
+++ b/packages/core/EventManager.ts
@@ -323,7 +323,9 @@ export default class EventManager {
if (credential) {
return createMeeting(credential, event);
} else {
- return Promise.reject("No suitable credentials given for the requested integration name.");
+ return Promise.reject(
+ `No suitable credentials given for the requested integration name:${event.location}`
+ );
}
}
@@ -364,7 +366,9 @@ export default class EventManager {
const bookingRef = booking ? booking.references.filter((ref) => ref.type === credential.type)[0] : null;
return updateMeeting(credential, event, bookingRef);
} else {
- return Promise.reject("No suitable credentials given for the requested integration name.");
+ return Promise.reject(
+ `No suitable credentials given for the requested integration name:${event.location}`
+ );
}
}
diff --git a/packages/ui/index.tsx b/packages/ui/index.tsx
index 30b1364da1..3290c411f9 100644
--- a/packages/ui/index.tsx
+++ b/packages/ui/index.tsx
@@ -1,3 +1,4 @@
export { default as Button } from "./Button";
export { default as EmptyScreen } from "./EmptyScreen";
export { default as Switch } from "./Switch";
+export * from "./skeleton";
diff --git a/packages/ui/skeleton/index.tsx b/packages/ui/skeleton/index.tsx
new file mode 100644
index 0000000000..ddc48712b9
--- /dev/null
+++ b/packages/ui/skeleton/index.tsx
@@ -0,0 +1,34 @@
+import classNames from "@calcom/lib/classNames";
+
+type SkeletonBaseProps = {
+ width: string;
+ height: string;
+ className?: string;
+};
+
+interface AvatarProps extends SkeletonBaseProps {
+ // Limit this cause we don't use avatars bigger than thi
+ width: "2" | "3" | "4" | "5" | "6" | "8";
+ height: "2" | "3" | "4" | "5" | "6" | "8";
+}
+
+interface SkeletonContainer {
+ as?: keyof JSX.IntrinsicElements;
+}
+
+const SkeletonAvatar: React.FC
= ({ width, height }) => {
+ return (
+
+ );
+};
+
+const SkeletonText: React.FC = ({ width, height }) => {
+ return ;
+};
+
+const SkeletonContainer: React.FC = ({ children, as }) => {
+ const Component = as || "div";
+ return {children};
+};
+
+export { SkeletonAvatar, SkeletonText, SkeletonContainer };