Appearance
Changelog β
All notable changes to this project are documented below. Dates are in UTC.
2025-11-06 β OneSignal Push for Timeline Events β
- Added perβrole OneSignal push dispatch in timeline notifications flow
- Honors Timeline tab toggles: Buyer/Seller/Admin Push columns trigger web push
- Maintains existing email and inβapp notifications unchanged
- Rateβlimited push sends via
send-pushEdge Function; builds deep links to deals
2025-01-20 β TanStack Query Cache Optimization & Performance Improvements β
- Cache Optimization: Comprehensive TanStack Query cache optimization across all data fetching hooks
- Profile Data: Extended cache time from 5 minutes to 30 minutes with
refetchOnMount: false - Subscription Data: Increased cache from 30 seconds to 15 minutes for better performance
- Notification Settings: Extended cache from 30 seconds to 1 hour (120x fewer requests)
- Page Access Rules: Optimized from 5 minutes to 30 minutes cache for role-based access control
- User Role Caching: Added 15-minute cache for user role queries in navigation components
- Translation Caching: Extended i18n cache TTL from 5 minutes to 1 hour for better performance
- Blog Posts Caching: Added 10-minute cache for admin dashboard content with
refetchOnWindowFocus: false - Performance Impact: Achieved 6x-120x reduction in redundant API calls across different data types
- Memory Management: Improved garbage collection with 1-hour
gcTimefor better memory usage - Documentation: Updated performance guide and state management documentation with cache optimization patterns
- Best Practices: Implemented data-specific cache strategies based on data change frequency
2025-10-16 β Template Management System & Timeline Notifications β
- Template Management: Complete overhaul of admin template system with consolidated interface
- Inline Editing: All templates now support inline editing below tables (no modals)
- Multilingual Support: EN/RO content with fallback indicators for all template types
- Timeline Events: Centralized deal lifecycle event management with role-based notifications
- Edge Functions: New
dispatch-timeline-eventandseller-deliver-assetsfunctions - Consolidated UI: Single interface for Email Templates, In-App Notifications, Edge Functions, Database Templates, and Timeline Events
- Role-Based Management: Timeline events support different messages per role (Buyer/Seller/Admin)
- Channel Control: Independent toggles for email and app notifications per event
- Testing & Preview: Built-in preview and test functionality for all templates
- Auto-focus: Automatic focus and scroll-to-section when editing templates
- Real-time Updates: Changes applied immediately with proper state management
- Documentation: Updated admin guide, edge functions, and notifications documentation
2025-10-09 β External Escrow, i18n updates, Docs UX improvements β
- Deals: Added external escrow flow (admin/buyer/seller steps, ops playbook hooks)
- i18n: Added new translations and wiring for docs/pages
- Docs: Reorganized header navigation (Get Started, Product, Engineering, Operations)
- Docs: Added βAudiencesβ dropdown (Product, Owners, Developers, AI Agents)
- Docs: Enlarged responsive search input in header for better discoverability
2025-09-25 β Performance Optimization & Comprehensive Stripe Integration β
- Performance: Achieved 95/100 Lighthouse performance score (mobile), 100/100 (desktop)
- Performance: Implemented aggressive code splitting with Vite manualChunks
- Performance: Added React.lazy loading for heavy components (TransactionHistory, Watchlist, etc.)
- Performance: Fixed forced reflow in useIsMobile hook using matchMedia
- Performance: Lazy-loaded Stripe SDK to prevent initial bundle bloat
- Stripe: Enhanced subscription sync with automatic status checking
- Stripe: Fixed data inconsistency between subscriptions and profiles tables
- Stripe: Added periodic background subscription monitoring (every 60 minutes)
- Stripe: Implemented manual "Check Status" button for instant sync
- Stripe: Added expired subscription notifications with automatic free mode switch
- Stripe Connect: Complete marketplace payment integration with escrow system
- Stripe Connect: Seller onboarding and KYC verification workflows
- Stripe Connect: Automated payout release and refund handling
- Stripe Payments: Deal payment processing with secure fund holding
- Stripe Webhooks: Real-time event handling for subscription and payment updates
- Architecture: Updated BillingTab to prioritize subscriptions table over profiles
- Architecture: Enhanced check-subscription Edge Function for better data sync
- Stripe: Added duplicate-subscription guards
- UI guard in
PricingPlansblocks Checkout when a subscription is already active and routes to Billing - Server guard in
create-checkoutreturns Billing Portal session instead of a new Checkout when an active sub exists
- UI guard in
- Stripe: Deterministic plan selection in
useSubscription(prefer lower price among active; tie-break by latest period end) - Stripe: Invoice sync uses
paid_atdate first, thenfinalized_at, thencreatedfor accurate "Created" timestamps - Documentation: Comprehensive Stripe integration guide with all 20+ Edge Functions
- Testing: Comprehensive E2E testing with Playwright for all critical flows
2025-10-17 β Enhanced Handover, Payment, and Admin Experience β
- Handover Tab Improvements:
- Handover Documents section converted to accordion layout (consistent with Steps guide)
- Buyer confirmation button always visible with proper styling and disabled state
- Visual feedback for completed confirmation matching Due Diligence tab style
- Payment & Payout Enhancements:
- Dynamic Seller KYC and Payout Status display with correct verification data
- Real-time Stripe Transfer Details with transfer ID, amount, status, and processing time
- Correct commission calculation displaying net amount (total - platform commission)
- Date tracking for Seller KYC, Buyer Accepts, and Ready status
- Status determination: "reversed", "paid", or "pending" based on Stripe transfer fields
- Admin Experience Improvements:
- Tooltips added to all admin action buttons with clear descriptions
- Status-based alert messages for completed, payout_released, and ready transactions
- Real-time Stripe transfer monitoring with automatic status updates
- Visual marking of completed transactions (green background + left border)
- Consistent styling across admin and user transaction views
- Technical Improvements:
- New
get-stripe-transfer-detailsEdge Function for secure Stripe API access - Enhanced
release-deal-payoutwith idempotency checks and commission calculation - RPC function
get_deal_verification_datafor bypassing RLS issues - Fixed import errors and Vite cache issues
- New
2025-09-15 β Documentation system and Cloudflare Pages β
- Docs: VitePress added with full navigation and Mermaid diagrams
- Ops: Cloudflare Pages manual deploy workflow documented (wrangler + dlx)
- Architecture docs expanded: Access Control, Blur Policy, Edge Functions, Email Templates
- Operations playbooks added: Blur Policy, Cron & Scheduling, Deals & Payments, DB Lifecycle, Reports & Analytics
- Testing: QA strategy, scenarios and checklist pages
- UI: Style Guide and Accessibility updated
- Sidebar: ensured coverage for all docs folders (architecture, operations, features, audiences, contributing, ADR)
2025-01-28 β Due Diligence Admin Panel complete β
- Admin review with approve/reject per row, comments, status badges
- Buyer/Seller grouping in admin mode; dark mode support
- Secure uploads and signed URL viewing
- Correct RLS for admin access; APA template and validation
2025-09-12 β Initial docs baseline β
- Created documentation set for Product, Owner, Developer, AI Agent audiences
- Added performance, deployment/monitoring, testing, troubleshooting guides
- Added features docs: messaging, notifications, blog, static pages
- Setup docs for Environment, Supabase, Stripe
- Data model permissions, UI accessibility, contributing, release/versioning, changelog pages
- Pricing clarified: Starter $19, Pro $49
- Routing docs aligned to application routes
Guidelines
- Keep this file updated with each notable change merged into main
- Prefer short, action-based bullets per change set