Testing - #233
Conversation
- Introduced `allow_download` property to the Deck model, defaulting to false. - Implemented UI components for managing download permissions in the ManageDeck and ManageDeckAccess sections. - Added DeckDownloadButton component for initiating downloads. - Enhanced backend functions to handle download requests and enforce permissions based on user tier. - Created database migration to add download controls and enforce tier-based access. - Updated relevant tests to cover new download functionality and permissions.
- Implemented download analytics tracking for decks and data rooms. - Added new types for download analytics in the types/index.ts file. - Created new Supabase functions to record and retrieve download analytics. - Updated various components (DataRoomDetail, DeckAnalytics, OwnerDeckPreview, Viewer) to handle download requests with tracking metadata. - Enhanced the sign-deck-url function to record download events with visitor information. - Added migration script to create necessary database tables and functions for download analytics. - Introduced tests to ensure the integrity of download analytics contracts.
- Implemented extraction of R2 object keys from signed R2 URLs in `extractStoragePath`. - Added unit tests for the new functionality in `storagePaths.test.ts`. feat: integrate tier limits and feature access for AI summary - Added AI credits per day limit retrieval based on user tier in the AI summary function. - Updated the profile return type to include AI credits per day. fix: improve storage path handling in sign-deck-url function - Refactored storage path extraction logic to ensure valid paths are processed correctly. - Enhanced error messages for invalid storage paths. docs: create product overview documentation feat: implement feature gate component for billing features - Created `FeatureGate` component to manage access to features based on user tier. - Integrated visual indicators for feature availability. feat: add hooks for tier entitlements and pricing catalog - Introduced `usePricingCatalog` and `useMyEntitlements` hooks for fetching tier-related data. - Added `useTierFeatureAccess` hook to determine feature access based on user tier. feat: unify tier entitlements in the database - Created a new SQL migration to unify tier limits and feature entitlements in the database. - Added functions for retrieving pricing catalog and user entitlements with proper security policies.
## Description Allow user to control download of their document ## Why is this change required? It allows user to download their original document ## How Has This Been Tested? Please describe the tests that you ran to verify your changes. ## Checklist: - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added optional deck downloads for eligible plans, including downloads from previews and data rooms. * Added download analytics for decks and data rooms, including totals, link performance, documents, and downloaders. * Added entitlement-based feature access, pricing, limits, upgrade prompts, and gated controls. * Added improved AI credit displays and entitlement-based analytics access. * Added onboarding completion progress and failure handling. * **Bug Fixes** * Improved signed download URL handling, storage path detection, sign-out error logging, and billing entitlement refresh. * **Documentation** * Clarified that migrations are the executable database history; the schema file is reference-only. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
- Added pagination support for download analytics in the `get_data_room_download_analytics` function. - Updated the `DataRoomAnalyticsPanel` to handle loading states and display downloaders with their respective documents. - Improved error handling and user feedback with toast notifications for save and delete operations in modals. - Removed AI summary functionality from the data room detail page and related components. - Refactored modal components to include accessibility features and improved focus management. - Cleaned up unused props and functions related to summarization in folder and detail components.
## Description * Added tier-gated PDF deck watermarking with editable watermark text, processing status, retry on failure, and watermarked download readiness enforcement. * Added watermark overlays and aspect-ratio aware deck viewers (PDF + images). * Enhanced data room download analytics with per-downloader downloaded document details, pagination, and improved loading states. * **Bug Fixes** * Improved accessibility and keyboard focus handling for dialogs/modals. * Added toast-based feedback for tag/folder save/delete failures and improved watermark/deletion cleanup behavior. * **Removed** * Removed data room “summarize” functionality and the AI summary feature. ## Why is this change required? What problem does it solve? ## How Has This Been Tested? Please describe the tests that you ran to verify your changes. ## Checklist: - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes
- Added tests for download activity and analytics normalization in DeckAnalyticsContracts and analyticsService. - Updated ManageDataRoom and ManageDeck components to handle loading states for access and download controls. - Improved analyticsService to normalize partial RPC responses for deck and data room download analytics. - Modified deckService to ensure proper error handling and ownership checks during deck deletion. - Updated SQL migrations to enforce constraints and improve download analytics structure. - Introduced tier entitlement migration contracts to ensure unsupported tiers are handled correctly.
…er limits - Implemented `get_pricing_catalog()` to retrieve pricing tiers and associated features. - Created `get_my_entitlements()` to fetch user-specific entitlements and storage usage. - Added `get_owner_thumbnails()` to return thumbnail URLs for processed decks. - Notified schema reload for changes to take effect.
- Added error handling for slide image deletion in useManageDeckWorkflow. - Updated ManageDataRoom to sign document thumbnails during retrieval. - Modified deckService to return signed URLs for deck thumbnails and pages. - Improved deckStorageService to notify when images are uploaded. - Enhanced documentProcessingService with a timeout for Office uploads. - Updated CloudConvert request handling to include timeout and improved error messages. - Added client error handling in document processing functions. - Implemented publish lease renewal mechanism in reconcile-document-processing. - Adjusted SQL functions to include user ID checks for watermark processing.
… access protection controls
…layers - Replaced posthog tracking with productAnalytics in Signup component for user signup events. - Enhanced Viewer component to capture deck view and document download events using productAnalytics. - Updated analyticsService to utilize productAnalytics for deck view tracking and email capture. - Implemented productAnalytics in dataRoomService for room creation, update, and document management events. - Integrated productAnalytics in deckService for deck deletion events. - Refactored signupAnalytics to use productAnalytics for user signup completion tracking. - Added server-side event capturing in razorpay-webhook and reconcile-document-processing functions. - Created productAnalytics module with typed event contracts and sanitization for sensitive data. - Added tests for productAnalytics functionality and ensured contract compliance across services.
- Added UI and visual tests
- Introduced `maxPages` option in `processPdfToImages` to limit the number of pages processed from a PDF. - Added constant `MAX_DECK_PAGES` set to 500 for page limit enforcement. - Updated error handling to throw an error if the number of pages exceeds the specified limit. fix: handle deck retrieval errors in cleanup function - Enhanced error handling in `cleanupJob` to throw an error if deck retrieval fails. feat: implement concurrency for provider job lookups in account deletion - Added `mapWithConcurrency` utility to handle concurrent processing of jobs in `delete-account` function. - Improved error handling for provider job lookups. fix: refine error handling for CloudConvert job cancellations - Updated error handling in `dispatch-document-processing` to distinguish between ambiguous and non-ambiguous errors. feat: add document processing lifecycle enhancements - Implemented tier-based document page limits in `reconcile-document-processing`. - Added analytics event capturing for deck uploads and link creations. chore: add database functions for download event management - Created `erase_deck_download_events_for_account` and `purge_expired_deck_download_events` functions for managing download event data. feat: enhance deck creation with page count tracking - Updated `create_deck_with_primary_link` function to include `p_page_count` parameter for tracking page counts. test: add tests for document processing and concurrency utilities - Created tests for document processing hardening contracts and custom logo entitlement UX. - Added tests for network-safe Playwright configurations.
## Description fixed viewport resolution and changed convert API to cloudconvert ## Why is this change required? What problem does it solve? ## How Has This Been Tested? Please describe the tests that you ran to verify your changes. ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added durable document processing for Office uploads and PDF verification. - Added support for legacy Office formats, tier-based file-size limits, and a 500-page maximum. - Watermark generation now runs in the background with pending and retry states. - Added premium indicators and clearer plan-based access controls. - Added improved thumbnail handling and processing status badges. - **Bug Fixes** - Draft documents now prevent unavailable actions until processing completes. - Improved download analytics reliability and date handling. - Fixed folder-card interactions and entitlement loading behavior. - Download settings now respond correctly to plan changes. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Description
CloudConvert
BETA UI
Why is this change required?
What problem does it solve?
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Checklist: