Added a Meeting Search Button to the filter bar of the Meetings page. [TO FIX ON MOBILE]
🎨UI/UX Updates🎨
Fixed slight issue with the Meeting Transcript Player's Buttons not being properly sized on Mobile Devices.
Added a Avatar Fallback for when a user does not have a profile picture set.
Added a Loading Skeletons to the Changelog page, to improve the user experience while the page is loading and subsequently fix the Core Web Vitals issue of Cumulative Layout Shift.
Added Skeletons for the remaining sections of the Landing Page to improve the user experience while the page is loading and subsequently fix the Core Web Vitals issue of Cumulative Layout Shift.
🚀Performance Improvements🚀
🐞Bug Fixes🐞
Fixed an issue where the Meeting Summary Unanswered Questions Items state of open/closed was not being properly preserved when navigating between the Meeting Tabs.
Fixed an issue where the Meeting Summary Unanswered Questions Items state of open/closed was reset upon requesting a new answer to an unanswered question.
✨Improvements✨
...Implemented a problem deletion flow of a *Meeting**. Where previously, when a user would delete a Meeting, it would only delete the top level Firebase Document, now it will first delete any files associated with the Meeting from GCS, then it will recursively delete all documents associated (sub-collections) with the Firebase Document via a new **recursiveDelete Cloud Function**.
📧Email Updates📧
Added more Metadata to the Newsletter Signup Document added to the Firestore database upon a user signing up for the newsletter.
Added a Newsletter Welcome Email to be sent to users upon signing up for the newsletter.
... Updated all Emails to use a functional Unsubscribe Link. [TODO]
...Added a Newsletter Unsubscribe Email to be sent to users upon unsubscribing from the newsletter. [TODO]
📈Analytics📈
💡Core Functionality Quality Control💡
🔄In Progress🔄
Migrate the Firestore structure for the Transcript & Summary, which are currently two seperate items in Array & Map formats respectively, to a single TranscriptMap item with the Summary items nested directly within it.
Rework the entire Auth middleware setup, considering utilizing Iron Session.