Appraiser Mode Enhancements
Modular interface
• Appraiser mode now includes a board-style UI for subscription cycles and appraisal delivery workflows.
Dataset management
• Implemented MUI-based tables for artwork, artist, valuation, and appraisal datasets.
Finalized appraisal workflow
• Full lifecycle for appraisal creation and delivery is now in place with refined valuation structure.
Document fixes & improvements
• Applied targeted updates to appraiser mode document generation and layout handling.
Document Generation & Reporting
Requester name added
• The document generation modal now displays the name of the requester for clearer audit trails.
Valuation logic improvements
• mcv_discount
values now calculate correctly in generated PDFs.
Appraisal context added
• Documents now include purpose fields and are correctly populated based on item-artwork relationships.
Layout polish
• Page breaks are now prevented mid-table row, and PDF build crashes have been resolved.
Image handling
• Improved stability and rendering of images in generated reports.
Dashboard & Collection Views
Dashboard refresh
• Added summaries for appraisals and collection overviews to the dashboard.
Fixed appraisal overcounts
• Resolved an issue where items with multiple appraisals were inflated in summary totals.
Improved artwork counts
• Updated getClientSummaries
to use correct access logic for artwork count accuracy.
Item Management & Uploads
Image upload & deletion
• Users can now upload and remove images directly from the item view.
Improved bulk uploads
• Upload performance has been optimized—image uploads are now parallelized and item creation is deferred for better throughput.
Image count bugs resolved
• Fixed display issues with image tallies across item listings.
Subscriptions & Payments
Subscription Artwork component
• Built modular subscription tracking with support for appraisals per cycle.
Updated language
• Subscription and payment components now reflect appraisal-based cycles more clearly.
Payment method enhancements
• Organization-level payment methods can now be added, edited, and retrieved with a unified response.
Race condition fix
• Resolved issues with SubscriptionArtwork
creation clashing with Stripe webhook timing.
Access & Permissions
Email behavior corrected
• Fixed an issue where rejected access requests still triggered email notifications.
Access request language
• Improved phrasing and messaging throughout access flows.
Autocomplete & Filtering
Local autocomplete added
• Item filters now support local autocomplete for artist and artwork title fields.
User filter fixes
• Collection filters now correctly save user selections, and deprecated qs
usage has been removed.
System Settings & Configuration
Public settings endpoint
• Added application-wide support for public settings, accessible via API.
Unauthenticated layout fix
• Ensures correct fetching of public settings even for logged-out users.
Email templates updated
• Modernized language and layout for key transactional emails.
Reusable constants
• Created centralized values for valuation purposes used throughout the app.
Data Integrity & Backend Fixes
Bidirectional item-artwork links
• Item-artwork relationships are now consistently maintained in both directions.
Appraiser data protection
• Safeguards added to prevent accidental deletion of core appraiser datasets.
Broken relation fixes
• Patched document relationships and cleaned up edge-case errors.
Tag model migration
• Prevents duplicate tags in the same workspace; added show_in_dashboard
flag for better tag control.
Finalized unified migrations
• All tag, artwork, and subscription changes migrated cleanly from prior schema versions.
Dev & Infra Updates
• Updated type safety and variable naming across modules
• Transformed response structure for getCycles
endpoint
• Merged payment method endpoints for cleaner integration
• Resolved broken queries and non-paginated endpoints
• Cleaned up console logs and dependency lockfile
• Improved performance of getClientSummaries
• Optimized document generation and import behaviors