- Added `ProfileAvatar` for consistent avatar rendering across profiles, with fallback initials and gradient backgrounds.
- Created `ShareCTAButton` for sharing links with native sharing support and clipboard fallback.
- Integrated custom `tiptap` video extension (`tiptap-video`) for video support in rich text editing.
- Introduced `useColumnCount` for responsive column count management in dynamic masonry layouts.
- Enhanced onboarding flow with refined "Share My Profile" feature using the new share button.
- Updated styles and layout in filtered profiles and onboarding screens for better consistency and responsiveness.
- Implemented `AudioPlayer` for custom audio playback controls.
- Added `useAudioRecorder` hook for managing microphone audio recording with visual feedback.
- Introduced audio transcription API integration using OpenAI Whisper.
- Created `blobToBase64` utility to encode recorded blobs for API consumption.
- Added IndexedDB-based `recording-store` for saving in-progress recordings.
- Developed `VoiceAutofillSection` for guided recording, playback, transcription, and editing.
- Introduced `icon` prop to `CopyLinkOrShareButton` for greater flexibility.
- Updated `ShareProfileButton` to use `ShareIcon` for improved clarity and visual consistency.
- Enhanced `CopyLinkOrShareButton` to support optional title and text for OS share sheets.
- Updated profile sharing to include contextual text about Compass' features and profile relevance.
- Localized share content in German and French JSON translations.
- Adjusted "Copy Link" button label to "Share" for clarity in supported languages.
- Introduced `StatDonut` and `WorldHeatmap` components for improved data visualization.
- Enhanced API to provide full country lists instead of a top-N subset for accurate map shading.
- Removed hardcoded country truncation logic in favor of dynamic slicing in the frontend.
- Updated age grouping logic to consolidate older age ranges and simplify backend queries.
- Refactored stats page layout to reduce redundancy and improve clarity of data presentation.
- Implemented demographic breakdowns for profile fields like gender, age, orientation, and more.
- Added `DistributionCard` component to render ranked bar lists for frontend visualization.
- Introduced backend aggregation logic for demographic stats with thresholds to ensure data anonymity and validity.
- Updated API response to include `demographics` field for frontend integration.
- Introduced `useEditorState` hook for targeted subscriptions in components (e.g., text length, active marks, editor state).
- Disabled global re-rendering on every transaction within the editor.
- Improved typing responsiveness across components by limiting reflows and re-renders caused by keystrokes.
- Updated components (`LLMExtractSection`, `comment-input`, `editable-bio`, etc.) to leverage `useEditorState` for localized updates.
- Refined floating toolbar behavior with `requestAnimationFrame` for smoother scrolling and reduced layout thrashing.
- Adjusted IntersectionObserver to wait for the entire chart frame to enter the viewport before triggering animation, using `threshold: 1`.
- Updated observer options for smoother and more intuitive growth visualization.
- Created `capture-alert.mjs` to generate alert loop video for the about page claim "Get Notified About Searches."
- Added `CountrySpread` widget for a ranked bar display of member distribution by country.
- Implemented `StatBand` component for live platform statistics on the about page.
- Introduced template rendering script (`render-search-alert.tsx`) for generating search alert email visuals.
- Updated documentation and improved workflows for media creation, video rendering, and data integration.
- Introduced `capture-vote.mjs` script to capture real voting proposal cards as visual evidence.
- Added `VoteEvidence` component to the about page to support the "Democratic" governance claim with verifiable proof from the `/vote` page.
- Integrated desktop and mobile screenshot handling, switching via `<picture>` media queries for optimal display.
- Updated about page layout to embed the proof next to the assertion, removing redundancy from the feature cards.
- Documented implementation details and selection rationale in `marketing-visuals.md`.
- Enhanced build scripts and updated image handling to support vote screenshots (WebP format, lazy-loaded).
- Introduced `capture-search.mjs` script for end-to-end mobile search flow captures.
- Added `SearchDemo` scene as a Remotion composition for the home-page hero clip.
- Integrated dynamic video selection based on theme in `home/search-demo.tsx` component.
- Included `fetch-media.mjs` script for fetching demo assets during build.
- Enabled optional email verification bypass for local captures (`dev-flags.ts`).
- Updated related documentation and scripts for media creation and deployment.
* Added Database checks to the onboarding flow
* Added compatibility page setup
Added more compatibility questions
* Finished up the onboarding flow suite
Added compatibility question tests and verifications
Updated tests to cover Keywords and Headline changes recently made
Updated tests to cover all of the big5 personality traits
* .
* Fix: Merge conflict
* .
* Fix: Added fix for None discriptive error issue #36
Updated signUp.spec.ts to use new fixture
Updated Account information variable names
Deleted "deleteUserFixture.ts" as it was incorporated into the "base.ts" file
* Linting and Prettier
* Minor cleaning
* Added Google account to the Onboarding flow
* Added account cleanup for google accounts
* Started work on Sign-in tests
Updated seedDatabase.ts to throw an error if the user already exists, to also add display names and usernames so they seedUser func acts like a normal basic user
Some organising of the google auth code
* Linting and Prettier
* Added checks to the deleteUser func to check if the accout exists
Added account deletion checks
* Linting and Prettier
* Formatting update, fixed homePage locator for signin
* .
* .
* .
* Coderabbitai fix's
* Fix
* Improve test utilities and stabilize onboarding flow tests
* Changes requested
* Changed POM/Fixture structure to use an app class to instantiate the page objects
* Apply suggestion from @MartinBraquet
* Delete .vscode/settings.json
* Apply suggestion from @MartinBraquet
* Apply suggestion from @MartinBraquet
* Apply suggestion from @MartinBraquet
* Linting and Prettier
* Updated People page
* Fix app.ts
* Updated peoplePage.ts: continued adding functions to use filters
Updated filters.tsx: added data testid
* Coderabbitai fix's
* .
* Updated People page
Added data test attributes to search.tsx and profile-grid.tsx
* Lint and Prettier
* .
* Continued work on filter tests
Added testid attributes to people page so the info from the results can be accessed
* Added more filter tests
* Added tests for hiding profiles
* Added a context manager to test with multiple accounts interacting with each other
Added an option to verify the users email when creating an account
* Added Tests for sending/recieving messages
Added tests for staring/favoriting profiles
Added testIds where necessary
Added messagesPage.ts
Updated peoplePage.ts
* Linting and Prettier
* Coderabbit suggestions
* CodeRabbit suggestion #2
* Fix#1
* Minor fixes
* TC fix
---------
Co-authored-by: MartinBraquet <martin.braquet@gmail.com>
* Added Database checks to the onboarding flow
* Added compatibility page setup
Added more compatibility questions
* Finished up the onboarding flow suite
Added compatibility question tests and verifications
Updated tests to cover Keywords and Headline changes recently made
Updated tests to cover all of the big5 personality traits
* .
* Fix: Merge conflict
* .
* Fix: Added fix for None discriptive error issue #36
Updated signUp.spec.ts to use new fixture
Updated Account information variable names
Deleted "deleteUserFixture.ts" as it was incorporated into the "base.ts" file
* Linting and Prettier
* Minor cleaning
* Organizing helper func
* Added Google account to the Onboarding flow
* .
* Added account cleanup for google accounts
* Started work on Sign-in tests
Updated seedDatabase.ts to throw an error if the user already exists, to also add display names and usernames so they seedUser func acts like a normal basic user
Some organising of the google auth code
* Linting and Prettier
* Added checks to the deleteUser func to check if the accout exists
Added account deletion checks
* Linting and Prettier
* Added POM's for social and organisation page
Updated settings POM
* Formatting update, fixed homePage locator for signin
* .
* .
* .
* Coderabbitai fix's
* Fix
* Improve test utilities and stabilize onboarding flow tests
* Changes requested
* Seperated deletion tests from onboarding
* Update `.coderabbit.yaml` with improved internationalization guidance and formatting adjustments
* Clean up `.vscode/settings.json` and add it to `.gitignore`
* Add Playwright E2E test guidelines to `.coderabbit.yaml`
* Standardize and improve formatting in `TESTING.md` for better readability and consistency.
* Refactor onboarding flow tests and related utilities; improve formatting and remove redundant tests.
---------
Co-authored-by: MartinBraquet <martin.braquet@gmail.com>