334 Commits

Author SHA1 Message Date
MartinBraquet
a5c4969d48 Introduce new components and utilities: ProfileAvatar, ShareCTAButton, custom video extensions, and responsive hooks.
- 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.
2026-07-27 00:51:20 +02:00
MartinBraquet
b116f9d949 Fix education choice key: Rename 'PhD' to 'Doctorate' in choices.ts for consistency 2026-07-25 18:45:25 +02:00
MartinBraquet
4c76b643e3 Add voice recording, transcription, and audio player components
- 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.
2026-07-25 18:01:58 +02:00
MartinBraquet
381a6a0b7a Standardize meta descriptions by introducing OG_DESCRIPTION constant 2026-07-24 20:28:20 +02:00
MartinBraquet
de99d2decc Add social preview card rendering and deployment
- Introduced `OgCard` React component as the default Open Graph preview card for social sharing (1200x630).
- Added `BrandFonts` module to load web fonts for accurate rendering.
- Integrated `OgCard` into the media creator pipeline as a `<Still>` with a new `still:og` script.
- Updated upload script to version the output and ensure compatibility with caching policies.
- Included new card meta tags across web pages, defaulting to this design for links without a custom preview.
- Extended theme and README to document font usage, card details, and deployment workflow.
2026-07-24 18:34:18 +02:00
MartinBraquet
3a38e8affb Add neurotype and accessibility fields to profiles
- 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`.
2026-07-24 16:27:41 +02:00
MartinBraquet
95d217fb61 Add StatDonut, WorldHeatmap, and support for full country lists on stats page
- 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.
2026-07-24 02:57:51 +02:00
MartinBraquet
5645007ff8 Add demographic distribution cards and backend support for /stats page
- 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.
2026-07-24 01:47:37 +02:00
MartinBraquet
799cca3c03 Add getChannelsCount API endpoint to retrieve total message channel count
- 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.
2026-07-23 15:01:38 +02:00
MartinBraquet
d69bc44dfd Improve SQL robustness and security across notification settings, private messages, and utilities
- 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.
2026-07-23 14:14:26 +02:00
MartinBraquet
ba3af2e5d7 Add alert loop video generation and platform stats enhancements
- 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.
2026-07-23 00:28:45 +02:00
MartinBraquet
b2bbb4f630 Fix case inconsistency for "Finnish" in language choices 2026-07-21 14:40:19 +02:00
MartinBraquet
31c241bb95 Add Signal support for social links, including URL handling, placeholder text, and icon rendering. Update version to 1.30.0. 2026-07-20 23:36:55 +02:00
MartinBraquet
5788e6d7aa Add Finnish to language choices 2026-07-20 23:07:04 +02:00
MartinBraquet
6f32b9a5cc Add dev API 2026-07-02 18:34:22 +02:00
MartinBraquet
ec13ea5888 Set showPhotos default to true in display options logic 2026-06-20 19:33:51 +02:00
MartinBraquet
ecb4a05d9a Add avatarUrl to new search alerts email 2026-06-06 18:39:31 +02:00
MartinBraquet
bf43bf1503 Add suspicious user limitations 2026-06-05 11:33:35 +02:00
Okechi Jones-Williams
549eba0bbe [User functionality] Messages UI page and messaging helpers added for end-to-end scenarios (#53)
* 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>
2026-05-29 01:00:57 +02:00
MartinBraquet
156ac66f6e Add MBTI type name mapping and refactor usage in profile-about component 2026-05-28 15:53:40 +02:00
MartinBraquet
d1010cd0ea Remove cisgender options from gender choices and localization files 2026-05-24 17:25:13 +02:00
MartinBraquet
770c02ac88 Add orientation profile field and extend gender options 2026-05-24 15:37:05 +02:00
MartinBraquet
2c9ffe4632 Support multi-value social links and refactor link handling logic 2026-05-23 11:56:23 +02:00
Okechi Jones-Williams
00c6f2566e [Syncing] Small PR to lay foundations for Testing filtering and to sync with upstream (#51)
* 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>
2026-05-20 20:02:00 +02:00
MartinBraquet
117b343989 Disable maintenance mode banner in constants 2026-05-11 17:03:39 +02:00
MartinBraquet
0d5f1cdae3 Enable maintenance mode banner in constants 2026-05-11 14:22:02 +02:00
MartinBraquet
ce10ddf366 Major re-design of the profile pages 2026-05-08 13:55:50 +02:00
MartinBraquet
b057f179d6 Update button styles, text classes, and French translations for consistency and clarity 2026-05-01 13:11:52 +02:00
MartinBraquet
3eecb06e7c Update meta tag image references to use PNG_LOGO for improved branding consistency. 2026-04-10 17:55:42 +02:00
MartinBraquet
4d581dad8e Update favicon URL in constants.ts to use GitHub logo for consistency 2026-04-10 17:48:08 +02:00
MartinBraquet
288573a36f Replace WEB_URL with DEPLOYED_WEB_URL for dynamic environment support in Open Graph utilities and SEO components. 2026-04-09 20:50:15 +02:00
MartinBraquet
46ed7490a0 Add Chakma language option to choices list 2026-04-09 15:32:34 +02:00
MartinBraquet
709488f919 Add get-user-journeys API endpoint and integrate it into admin journeys page to fetch and display user events and details 2026-04-09 13:12:09 +02:00
MartinBraquet
518af3b3da Implement usePromptSigninIfSignedOut hook and enhance signin flow with redirect path support 2026-04-09 12:22:06 +02:00
MartinBraquet
1589ebaad0 Update UNSUBSCRIBE_URL to point to settings page instead of notifications page 2026-04-09 11:20:53 +02:00
MartinBraquet
ff6115f4a6 Add email unsubscribe token support: implement token-based unsubscription handling, create API endpoint for unsubscribing via tokens, and update List-Unsubscribe header for one-click functionality. 2026-04-09 10:39:58 +02:00
MartinBraquet
e8a7fb71dd Update share text in profile sharing links to highlight open-source, ad-free alternative 2026-04-08 14:51:06 +02:00
MartinBraquet
28650d799f Refactor notification and email systems: migrate to shared utilities, update unsubscribe links, and add outreach email functionality. 2026-04-08 13:38:39 +02:00
MartinBraquet
246a00e57d Remove deprecated create-profile and create-user endpoints in favor of create-user-and-profile. 2026-04-08 13:03:05 +02:00
MartinBraquet
0295e7f75f Add getXShareProfileUrl function for generating profile sharing links with pre-filled text 2026-04-08 12:05:12 +02:00
MartinBraquet
2ec5fc7606 Remove unused SVG assets and update references for Twitter to X 2026-04-08 11:28:11 +02:00
MartinBraquet
c4a012c4d0 Add notification preferences for platform updates and improve UI for notification settings 2026-04-08 11:02:10 +02:00
MartinBraquet
8c2b75eb04 Update DEPLOYED_WEB_URL to use PROD_CONFIG.domain for production consistency 2026-04-07 22:03:36 +02:00
MartinBraquet
e96057fb23 Implement async profile extraction with caching and processing state handling 2026-04-07 17:38:08 +02:00
MartinBraquet
0b721ec7b9 Update alt text in PhotosModal and add WEB_URL clarification comment 2026-04-02 15:48:26 +02:00
MartinBraquet
df775e9aa3 Improve error handling in run by preserving additional error details 2026-04-02 14:07:02 +02:00
MartinBraquet
2db74bf256 Update build scripts, constants, and Android configurations for improved web view handling and debugging
- Rename `proxy.ts` to `_proxy.ts` temporarily during build scripts and clean up backup files.
- Adjust Compass URLs to consistently include "www."
- Introduce WebView debugging toggle via `BuildConfig.ENABLE_WEBVIEW_DEBUG`.
- Bump Android version code to 79 and enable `buildConfig` features.
2026-04-02 13:38:37 +02:00
MartinBraquet
0d758eb5b1 Update Compass URLs to include "www" and improve deep link handling 2026-04-02 13:10:28 +02:00
MartinBraquet
2311fcbf90 Remove redundant "www" from Compass URLs across codebase 2026-04-02 10:35:07 +02:00
MartinBraquet
f6fef171fa Enhance deep link handling for Android with pending link consumption and JavaScript interface 2026-04-02 10:31:43 +02:00