- 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 `parseFaq` to transform markdown into structured data for improved rendering and SEO.
- Introduced `react-markdown` with custom styling for better alignment with the application design.
- Added search functionality with query matching and automatic expansion of relevant answers.
- Designed a sticky navigation rail for easier category navigation.
- Enabled deep linking to questions and categories for external reference.
- Created reusable components for FAQ items and markdown rendering.
- Updated markdown file handling to exclude FAQ from generic loader (`MD_PATHS`).
- 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.
- Added `accessibility_notes` (free text) to profiles to capture members' practical access needs while avoiding filterable attributes.
- Introduced `neurotype` (selectable values with details option) and GIN indexing to enable efficient keyword searches.
- Updated UI components, filters, and forms to support these new profile attributes.
- Modified backend and tests to handle the changes and ensure consistency across filtering, seeding, and display logic.
- Bumped API version to `1.49.0`.
- 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.
- Implemented `getChannelsCount` function in the backend for querying channel count.
- Added public `get-channels-count` schema definition with related metadata.
- Integrated the new endpoint into client-side user utilities for specific table reads.
- Adjusted documentation for migration process consistency.
- Encoded user-supplied terms to prevent query parameter injection in GeoDB API calls.
- Forced `limit` and `offset` to be finite integers in SQL builder for added defense against injection risks.
- Added unit tests to verify term encoding and limit validation behavior.
- Replaced raw SQL interpolation with parameterized queries to prevent injection risks.
- Refactored user notification preference validation using runtime synchronized enums for enhanced type safety.
- Updated private message and channel membership checks to respect the "left" status.
- Enhanced JSONB handling in update queries for correctness and maintainability.
- 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.
* 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
* 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
* .
* Explanded seeding to better reflect the different types of profiles
* Updated People page
Added data test attributes to search.tsx and profile-grid.tsx
* Lint and Prettier
* Test renamed
* CodeRabbit Suggestions
* .
* Apply suggestions from code review
Co-authored-by: Martin Braquet <martin.braquet@gmail.com>
---------
Co-authored-by: MartinBraquet <martin.braquet@gmail.com>