Changelog
All notable changes to Trends WD Size Chart System are documented here.
[1.0.6] — 2026-10-31
Added
- STR Stock page (
/str-stock) in the sidebar after POS Stock, with table columns SKU, Barcode, Received Quantity, Shopify, and Action. - Users & Access permission key STR Stock (
str-stock) so non-admin roles can be granted view/edit/delete. - STR Stock toolbar: Add, search, Filter (Shopify status), and Actions menu with Verify Shopify and Import CSV (upsert by SKU from a stock file).
Fixed
- App shell no longer crashes with Maximum call stack size exceeded after load: Size Variants and Measurement Fields providers were re-broadcasting their own cache events in a synchronous loop.
Changed
- STR Stock Import CSV auto-detects the header row (looks for SKU plus Barcode / Product Name / Received Quantity), so STOCK TRANSFER exports can upload without deleting title and metadata rows above the table.
- STR Stock list table matches POS Stock: sticky SKU + Action columns, gradient header, scroll shell, and the same pagination controls.
- STR Stock Actions: Push Stock adds each verified SKU’s Received Quantity onto current Shopify Available (Active / Draft / Archived) — plus-only, does not overwrite existing stock down.
- STR Stock Actions: Delete filtered clears all rows matching the current search/filters (or the full list when nothing is narrowed), same pattern as POS Stock.
- STR Stock table: wider sticky SKU column and a narrower Barcode column so SKUs are readable.
- STR Stock table: Shopify Qty column (after Received Quantity) stores Shopify Available stock synced on Verify Shopify; Push Stock refreshes it after adding.
- STR Stock import / success banners use higher-contrast colors so progress and result text stay readable.
- STR Stock Push Stock stays disabled until Verify Shopify has been run (tooltip explains why).
- STR Stock success messages (verify / import / push / delete) show as a bottom-left toast with close and auto-dismiss.
- Shopify status badges (On Shopify / Draft / etc.) use stronger contrast so labels stay readable on light and dark backgrounds.
- Shopify status badge styles moved into a scanned UI component so dark-mode text/background classes are not purged by Tailwind.
- STR Stock SKU links to the matching Shopify Admin variant after Verify Shopify (external icon).
[1.0.5] — 2026-10-30
Changed
- POS Stock import matches rows by SKU: existing SKUs update all stock fields from the file; new SKUs create rows. Duplicate SKUs in the same file use the last row. Import summary shows created / updated counts.
- POS Stock toolbar: Columns, Shopify verify/push, Export, Import, and Delete move into an Actions menu between Search and Filter.
- POS Stock Verify Shopify checks SKUs across Active, Draft, and Archived Shopify products and writes status into the SHOPIFY column (On Shopify / Draft / Archived / Not on Shopify / No SKU).
- POS Stock import progress banner contrast fixed so “Importing X / Y items…” stays readable in light and dark mode.
- POS Stock Push Net Qty overwrites Shopify Available with Net Qty for every matching SKU on Active, Draft, and Archived products (no longer skips draft/archived or unverified committed).
- POS Stock Actions: Push Barcode & Prices split into Push Barcode and Push Prices (Compare at + Sale price) as separate Shopify updates.
- POS Stock import/load performance: CSV import writes in large server batches (insert 500 / update 500 via RPC with fallback); SKU matching uses a light id+sku index or the already-loaded list; list fetch page size increased for faster load of large catalogs.
- POS Stock import mapping: Quantity prefers Quantity on Hand (and related on-hand headers) for auto-select.
- POS Stock list load fixed for catalogs over ~18k rows: fetch pages at Supabase’s 1000-row limit so all database rows appear in the UI.
- POS Stock list loads progressively (first 1,000 rows show immediately; remaining pages hydrate in the background) so large catalogs are usable without a long blank loading state.
- POS Stock list uses Courier-style server pagination (50 rows per page): search, filters, and sort run on the server so 45k–100k+ catalogs open instantly without loading the full table into the browser. Export / bulk actions fetch matching rows or ids in server batches.
- Products Details → Variants: Item Code (POS Stock Name) selects matching sizes on the Size picker; each color/size row fills SKU, Barcode (new column), Sale, Retail, and Quantity from that POS Stock row. Values refresh from POS when the name is connected or POS data changes. Shopify create/export include variant barcode.
- Products Details no longer downloads the full POS catalog for variant pricing (avoids hundreds of Supabase page calls); it uses the by-name API only.
- Products Details → Description: when Category is Kids, shirt/bottom length fields are hidden and are not auto-filled from the size chart (Women still syncs Small-size lengths).
[1.0.4] — 2026-10-21
Added
- Products Details: Size Chart label includes a checkbox (checked by default). While checked, Size Chart stays required; uncheck to make it optional and save without a linked chart.
- Products Details: toolbar Shopify button (left of Export) appears only after multi-select and creates the selected eligible products on Shopify (Draft + channels; skips already Updated); each success sets product and linked size chart status to Updated.
- Products Details: Item Code header list icon turns on multi-select (search/filter the list, check rows / select all); toolbar Status appears only after selection and updates status for all selected products at once.
- Products Details: toolbar Export exports only selected products when a selection exists; with no selection it exports the full current list (search/filter applied).
Changed
- Products Details: Size Chart help text moved into an info icon tooltip next to the field label (no longer shown under the dropdown).
- Products Details: Shopify Collections, Details, and Item Code help text moved into info icon tooltips (Collections / Title / Item Code labels).
- Products Details: Description tab help notes (garment types, Cutline, Includes) moved into info icon tooltips.
- Products Details: Variants tab help notes (options overview, Color, Size, variant table) moved into info icon tooltips.
- Size Chart form: Article Code and Garment Type help notes moved into info icon tooltips; Garment selection tip and Update on Shopify pick help use the same pattern.
- Settings → Variants / Measurements: page and field help notes moved into info icon tooltips.
- Profile and Users & Access: password, business profile, logo, and email help notes moved into info icon tooltips; Profile business messages set to professional English.
- Shared
FieldInfoIconcomponent used app-wide for consistent field help tooltips. - Products Details: Size Chart is no longer always required on the server — empty is allowed when the form checkbox is unchecked.
[1.0.3] — 2026-10-20
Added
- Products Details: View chart in the product details popup opens the linked size chart preview on top (same as the product form).
[1.0.2] — 2026-10-17
Added
- Size Chart form: Defaults button on the WAIST measurement row fills S
28-30, M30-32, L32-34, XL34-36for the selected sizes on that garment tab (Women charts only). - Size Chart preview: the same WAIST Defaults button is available on Women charts (saves S/M/L/XL defaults for the active garment when the user can edit); hidden on Kids charts.
- Size Chart preview: Update at Shopify button in the header opens the product picker to push the chart PNG to selected Shopify products.
- Products Details: Item Code is a searchable dropdown of unique POS Stock Name values (select directly without opening POS Stock).
- Products Details: Item Code typeahead searches POS Stock names as you type (debounced, min 2 characters) instead of loading the full name list up front.
- Products Details: View chart link beside Size Chart opens the linked size chart preview on top of the product form (product form stays open).
- Products Details: Women size chart preview from View chart includes the WAIST Defaults button (saves S/M/L/XL defaults on the chart).
- Products Details: selecting an Item Code auto-links a Size Chart in the same category by matching article code — full name, then prefix before the first dash, then digits only (e.g.
K2P16551-IG-KD→16551); manual selection remains available. - Products Details: auto title uses a short code from Item Code — segment before the first dash; digits-only kept as-is, otherwise only the number after the last letter (e.g.
K2P16551-IG-KD→16551). - Products Details: auto title skips the first word of Type (e.g.
Kids Wear→Wear); single-word types stay as-is. - Products Details: Load collection also searches Shopify products (type 2+ characters) and copies that product’s collection handles into the form — not only products already on this page.
- Products Details: Load collection menu uses This page / Shopify tabs to choose where to pick a product for copying collections.
- Products Details: new product forms (and Duplicate / Load collection on create) pre-select the New Arrival (
new-arrival) collection so it does not need to be chosen every time. - Products Details: Create on Shopify keeps Status Draft and auto-enables all sales channels / catalogs (Publishing), so channels do not need to be turned on manually in Shopify Admin.
Fixed
- Products Details: size chart auto-match uses the number after the last letter (
K2P16551→16551), not all digits stripped (216551), so charts like article16551link correctly. - Products Details: size chart auto-prefill no longer overwrites a saved or edited Description on Edit / rematch; Description is only filled on first auto-link (new product) or when Size Chart is changed manually.
Changed
- Products Details: opening Edit re-fetches Retail Price and Discount % from POS Stock for the item code (Sale Price recalculates). If the item is not found in POS Stock, the previously saved prices stay unchanged.
[1.0.1] — 2026-10-15
Added
- Products Details: link a Women or Kids size chart on the product form (next to Variant Grams), filtered by the product category; linked chart appears in the product detail view.
- Products Details: Create on Shopify generates the linked size chart as a PNG, uploads it to Shopify Files, and saves it on the product metafield
custom.products_size_chart. - Products Details: Shopify Collections field for comma-separated collection handles (e.g.
formal, new-arrival, frock); Create on Shopify joins those custom collections, and CSV export includes them. - Products Details: searchable multi-select for Shopify collections (loads live from Shopify; chips for selected handles).
- Products Details: Duplicate action copies Description and Shopify Collections into a new editable product form (other fields stay blank).
- Women and Kids Size Chart: Update at Shopify action opens a product picker (live Shopify search), uploads the chart PNG once, and sets metafield
custom.products_size_charton each selected product; chart status becomes Updated.
Changed
- Products Details: Create on Shopify is hidden for products with status Updated.
- Products Details: after a successful Create on Shopify, the product status and any linked size chart status are set to Updated.
- Products Details: bottom-wear length labels use {Garment} Open at Bottom (Trouser, Shalwar, Gharara, etc.) in the form preview and Shopify description HTML; shirt/dupatta keep Length Small Size.
- Settings → Variants: Style Set table (Maxi, Frock, etc.) for product description shirt styles.
- Settings → Variants: table cards use a responsive wrap grid (1 / 2 / 3 / 4 columns by screen width), similar to Bootstrap column wrapping.
- Products Details: shirt garment row includes a Style Set dropdown; selected style is printed in bold in the Shopify body HTML immediately before Cutline.
- Products Details: linking a size chart auto-checks matching description garment types and fills Small-size shirt length and bottom open values into the description length fields.
- Products Details: bottom open autofill skips values under 10" (leave blank for manual entry).
- Products Details: Load collection next to Shopify Collections Refresh copies collection handles from another product on the same page list (newest products first).
- Products Details: variant color codes from POS SKUs use the segment before the trailing size (e.g.
…-N.BLU-L→N.BLU), not the first token after the item code. - Products Details: variant SKUs are taken from POS Stock by matching item name + color + size (full SKU, e.g.
…-FTF-N.BLU-S), instead of building a short item-code + color-code + size string. - Products Details: variant Sale Price, Retail Price, and Quantity fill from the same POS Stock row as the matched SKU (color + size), so prices/qty stay in sync with the full POS SKU.
- Products Details: auto title order is Stuff + Type | Item Code (Stuff first, then Type).
- Products Details: all Details tab fields are required (Item Code, Status, Category, Stuff, Type, Retail Price, Discount %, Sale Price, Variant Grams, Size Chart, Shopify Collections).
Fixed
- Products Details: opening Add after saving a product no longer shows the previous product’s details or stale POS Stock autofill; Add remounts a clean form and refreshes the in-memory POS Stock lookup cache.
- Products Details: clearer Shopify error when
read_locationsis missing; optionalSHOPIFY_LOCATION_IDenv bypass for inventory location. - Products Details: editing a product no longer drops a previously linked size chart (race on form open).
- Women and Kids Size Chart: re-edit no longer re-checks measurement fields (or sizes) the user had cleared — saves only selected measurement keys, and the edit form no longer reseeds from Auto defaults when settings catalogs refresh.
- Products Details / Size Chart Shopify upload: clearer error when
write_filesis missing (stagedUploadsCreateaccess denied) so size chart metafield failures explain how to reauthorize. - Products Details / Size Chart Shopify upload: on
write_filesaccess denied, clears the cached Shopify token and retries once (stale token after adding scopes); message clarifies this is permissions, not product/metafield timing. - Shopify size chart upload: checks that the live access token includes
write_filesand lists granted scopes when missing (localhost vs live are separate env — not browser cache).
[1.0.0] — 2026-09-08
Added
- Initial Demo Mode with offline localStorage sandboxes, login account cards, and professional seed data.
- Documentation guides for Login, Dashboard, Products, Size Charts, POS Stock, Settings, Profile, and Mobile.
- Playwright screenshot set under
Documentation/images/with screenshot index. - Trends WD branding defaults across the product and demo.
- Portfolio Cursor rules for changelog and version discipline.
Changed
- Refreshed root README with product overview, Demo Mode / docs pointers, and embedded screenshots from
Documentation/images/.
Fixed
- Excluded
demo-mode/from the production Next.js TypeScript/ESLint build so Vercel deploys succeed.