What We Shipped

Every feature, improvement, and fix. Newest first.

Mar 21, 2026

Vendor Activity Log: Click Thumbnails to PreviewNew Feature

Thumbnails in the vendor activity log now open an image preview when you click them.

  • Preview modal opens from any activity log entry that has an image thumbnail
  • Keyboard accessible: the thumbnail is a proper button, so expanding a log row and previewing an image are separate interactions without invalid nested markup

Page Transitions and Skeleton LoadersImprovement

Page navigation feels smoother with view transitions and proper skeleton loaders.

  • View transitions for page navigation using Next.js 16.2, giving route changes a polished animated feel
  • Skeleton loaders on vendor pages and the trash page now match the actual content layout instead of showing a generic spinner
  • Sign-in page rotates through hero images randomly on each visit
  • No double-animation on reload: the vendor sidebar width restores from storage before transitioning, so hard refreshes don't play a resize animation

Vendor Product Tabs Now Filter CorrectlyFix

Status tabs on the vendor products page were only filtering the first loaded page of results. Now they filter the full set on the server.

  • Server-side tab filtering: clicking Complete, Incomplete, or other status tabs now pages through the correct bucket instead of filtering what happened to be loaded
  • Summary counts stay visible while switching tabs, so the cards don't flash to zero between clicks
  • Tab counts are search-scoped but independent from the active status tab, showing the real bucket totals

Mar 20, 2026

Approval Rules Page: Cleaner LayoutImprovement

The Approval & Validation page is less cluttered and easier to scan.

  • Status strip removed from the top, so the page opens directly on the default rule and rule library
  • Rules grouped by type: org-wide default and scoped overrides get their own cards, inactive history and resolution details are behind accordion panels
  • Consistent cards using shared ShadCN patterns for scope, checks, routing, autofix state, and pass/fail outcomes

Smoother Dashboard Page TransitionsImprovement

Page transitions across the dashboard are now smoother with fewer loading flashes.

  • No more stacked loaders: pages keep the current screen visible until the next route is ready instead of flashing a skeleton, then a spinner, then the content
  • Layout-shaped skeletons for billing, review, trash, and settings pages so you see the page structure during initial loads
  • Filters and sorts in the library, products, and analytics pages feel instant because the old data stays visible while new results load

Review Queue: Better Split View and Batch ValidationImprovement

The review approval flow is faster and clearer with batch validation and a redesigned split view.

  • Batch validation replaces per-asset requests. The review queue now fetches pass/fail state, failed rules, and autofix credit estimates in one request instead of one per asset.
  • Clearer failed-spec panel: failing checks show first with the repair action as a full-size CTA. Passed checks move behind a disclosure.
  • Stable layout: the validation panel keeps a fixed height across loading, pass, fail, and empty states so the image preview doesn't jump around
  • "Approve anyway" softens the approval button when checks still fail, keeping the repair path visually primary

Vendor Autofix Now Handles More Issues AutomaticallyImprovement

Vendor upload autofix can now fix more common issues without needing manual review.

  • Deterministic fixes expanded: max-dimension cleanup, aspect-ratio correction, margin-band cleanup, and high-confidence centering or frame-fill repair now run automatically on vendor uploads
  • Expensive fixes stay with reviewers: AI upscaling, background removal, and agent-based repairs still require manual review
  • Combined geometry repairs run as one smart-crop pass instead of chaining multiple crops, making autofix faster
  • Autofix reuses buffers between normalization and output steps, cutting redundant downloads

Vendor Pages Keep Filters in the URLImprovement

Filter state across the vendor portal now lives in the URL instead of disappearing on refresh.

  • Refresh, back/forward, and shared links all preserve the current view on dashboard, products, submissions, notifications, activity log, batch upload, and SFTP pages
  • Notification links work properly: Cmd/Ctrl-click opens in a new tab instead of requiring a full page navigation
  • Accessible controls: sidebar expand/collapse and copy buttons now have explicit labels for screen readers

Vendor Setup Wizard: Down to Three StepsImprovement

The vendor portal setup wizard is shorter and easier to follow.

  • Three steps instead of six: intro, product matching, and review screens are gone. You go straight from approval defaults to shot-list setup to vendor invites.
  • One save button: the per-step save buttons are gone, everything saves through the footer "Save and continue" action
  • Simpler naming presets: choose between "Slot names", "Numeric order", or "Custom" with a live filename preview instead of decoding {position:4} syntax
  • Smarter shot-list setup: Step 3 asks for the usual product gallery image count and derives the shot-list name from your workspace
  • Cleaner defaults panel: image checks start with only the three most common, rest tucked behind "Advanced"

Mar 19, 2026

Durable Background Job DeliveryImprovement

Background jobs (batch processing, tool jobs, imports) are now more reliable when things go wrong.

  • Event outbox pattern: job triggers are persisted in the database alongside the status change, so jobs recover automatically even if the queue trigger fails
  • Batch operations: workspace creation, upload sessions, and batch jobs now commit atomically, preventing partial state from half-finished operations
  • Product imports run as cancellable background jobs with real progress tracking instead of tying up a single long-running request