Added the Paid Credit Usage Card to represent the user's current credit usage for the current billing period. This card will only be shown to users who are on a paid plan.
Added a Delete Chat Message button to the Meeting Chat component to allow users to delete one of their own chat messages.
Added a Token Count indicator to the Meeting Chat component to show the user how many tokens their current Chat Message uses. Additionally added Zod Validation to the Chat Message input to ensure that the user does not exceed the maximum token count.
Created a dedicated Stylized Markdown Chat Message component to be used in the Meeting Chat component to display chat messages. This component will be used to display chat messages in the Meeting Chat component.
🎨UI/UX Updates🎨
Added Skeleton versions for most of the codebase's components to show a loading state while the component is loading.
🚀Performance Improvements🚀
Wrapped many memory intensive components in React.Suspense to improve performance and show a loading state while the component is loading.
🐞Bug Fixes🐞
✨Improvements✨
Actually implemented the backend logic to capute Newsletter subscriptions. The previous implementation was just a placeholder. User Emails will now be captured in the Newsletter collection in Firestore when a user subscribes to the newsletter.
Reworked the Meeting Chat API to actually count the length of current context provided to answer a User's question. This improvement will simultaneously help to avoid any errors with exceeding the OpenAI's API limits, and also help to fit more context items into the API call.
Retyped approximately 80% of the entire codebase's use of TypeScript's any type to use an proper Type. This will help to avoid any potential runtime errors that could occur due to the use of the any type.
Added in a dynamic redirect query parameter to the /login page to allow users to be redirected to a specific page after they sign in.
📧Email Updates📧
📈Analytics📈
Implemented a create_meeting Custom Event to track when a user creates a meeting, with the following Event Parameters:
id: The ID of the meeting.
name: The name of the meeting.
owner: The email address of the meeting owner.
url: The URL of the meeting audio.
duration: The duration of the meeting.
include_summary: Whether or not the meeting summary was requested.
Implemented a export_meeting Custom Event to track when a user exports a meeting, with the following Event Parameters:
email: The email address of the user who exported the meeting.
id: The ID of the meeting.
name: The name of the meeting.
owner: The email address of the meeting owner.
transcript: Whether or not the transcript was exported.
summary: Whether or not the summary was exported.
audio: Whether or not the audio was exported.
Implemented a share_meeting Custom Event to track when a user shares a meeting, with the following Event Parameters:
sharer_email: The email address of the user who shared the meeting.
email: The email address of the user who the meeting was shared with.
role: The role of the user who the meeting was shared with.
id: The ID of the meeting.
name: The name of the meeting.
owner: The email address of the meeting owner.
Implemented a subscribe_to_newsletter Custom Event to track when a website visitor subscribes to the newsletter, with the following Event Parameters:
email: The email address of the user who subscribed to the newsletter.
Implemented a upgrade_credits_clicked Custom Event to track when a user clicks the "Upgrade Credits" button, with the following Event Parameters:
name: The name of the plan that the user clicked the "Upgrade Credits" button for.
label: The label of the plan that the user clicked the "Upgrade Credits" button for.
measure: The measure of the plan that the user clicked the "Upgrade Credits" button for.
plan: The plan that the user clicked the "Upgrade Credits" button for.
usage: The current usage of the user for the plan that the user clicked the "Upgrade Credits" button for.
last_updated: The last time the usage of the user for the plan that the user clicked the "Upgrade Credits" button for was updated.
Implemented a login Custom Event to track when a user logs in, with the following Event Parameters:
method: The method that the user used to log in.
uid: The UID of the user who logged in.
email: The email address of the user who logged in.
Implemented a sign_up Custom Event to track when a user signs up, with the following Event Parameters:
method: The method that the user used to sign up.
uid: The UID of the user who signed up.
email: The email address of the user who signed up.
Implemented a sign_out Custom Event to track when a user signs out, with the following Event Parameters:
uid: The UID of the user who logged out.
email: The email address of the user who logged out.