toga-ai 1.0.446 → 1.0.447
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
| Doc | Summary | Files |
|
|
4
4
|
|-----|---------|-------|
|
|
5
5
|
| [TOGa Supply (toga2-supply) Architecture](architecture.md) | `toga2-supply` is the **React + Vite frontend** for TOGa Supply — warehouse fulfillment tooling (shipment selection, fulfill & ship against carrier APIs, NetSui | toga2-supply/src/api/toga.ts, toga2-supply/src/pages/ShipmentItems/view/ShipmentItemsPage.tsx, toga2-supply/src/pages/EditShipment/view/EditShipmentPage.tsx, toga2-supply/src/pages/EditShipment/api/UpdateShipmentApi.ts, toga2-supply/src/pages/Shipments/view/components/ShipmentsCardTableForm/ShipmentsCardTableForm.tsx |
|
|
6
|
-
| [Fulfill & Ship](features/fulfill-and-ship.md) | Fulfill & Ship lets a warehouse user select sales-order line items, enter serials, pick a carrier/method, and in one action: create the Item Fulfillment records | _underscore/Model/Client/Measure.php, _underscore/Model/Client/TrackingNumber.php, toga2-supply/src/pages/EditShipment/helpers/ShipmentDetailsForm/getEditShipmentFormOptions.ts, toga2-supply/src/components/ui/Tables/BasicTable/BasicTable.tsx, toga2-supply/src/components/ui/Tables/types.ts, toga2-supply/src/components/ui/GoogleMapsLink.tsx, toga2-supply/src/pages/ShipmentItems/view/forms/ShipmentItemsTable.tsx, toga2-supply/src/pages/ShipmentItems/api/ShipmentItemsApi.ts, toga2-supply/src/pages/ShipmentItems/types.ts, toga2-supply/src/pages/EditShipment/viewModel/FIELDS/RETURNLABELFIELDS.json, toga2-supply/src/pages/EditShipment/view/components/forms/EditShipmentForm.tsx, toga2-supply/src/components/ui/BaseInput/UnitSelect.tsx, toga2-supply/src/pages/EditShipment/view/modals/SerialNumbersModal.tsx, toga2-supply/src/pages/ShipmentItems/view/ShipmentItemsPage.tsx, toga2-supply/src/pages/EditShipment/view/EditShipmentPage.tsx, toga2-supply/src/pages/EditShipment/view/components/forms/EditShipmentForm.tsx, toga2-supply/src/pages/EditShipment/view/components/SelectedShipmentItemsTable.tsx, toga2-supply/src/pages/EditShipment/view/helpers/ShipmentDetailsForm/renderEditShipmentFormInput.tsx, toga2-supply/src/pages/EditShipment/viewModel/FIELDS/DUMMYUPDATESHIPMENTFIELDS.json, toga2-supply/src/pages/EditShipment/helpers/ShipmentDetailsForm/renderEditShipmentFormInput.tsx, toga2-supply/tailwind.config.cjs, toga2-supply/src/pages/EditShipment/view/modals/ReturnShippingModal.tsx, toga2-supply/src/styles/index.scss, toga2-supply/src/components/ui/BaseInput/BaseInput.tsx, toga2-supply/src/pages/EditShipment/api/UpdateShipmentApi.ts, toga2-supply/src/pages/EditShipment/viewModel/signatureTypes.ts, toga2-supply/src/pages/EditShipment/view/modals/SelectReturnAddressModal.tsx, toga2-supply/src/pages/EditShipment/helpers/ShipmentDetailsForm/formatShipmentData.ts, toga2-supply/src/pages/EditShipment/types.ts, toga2-supply/src/pages/Shipments/view/ShipmentsPage.tsx, toga2-supply/src/pages/Shipments/view/components/ShipmentsCardTableForm/ShipmentsCardTableForm.tsx, toga2-supply/src/pages/Shipments/api/ShipmentsApi.ts, toga2-supply/src/pages/Shipments/types.ts, toga2-supply/src/pages/FulfilledShipments/view/FulfilledShipmentsPage.tsx, toga2-supply/src/components/ui/CardTable/CardTable.tsx, toga2-supply/src/components/ui/CardTable/types.ts, toga2-supply/src/assets/pen-line.svg, _underscore/Model/Client/ItemFulfillment.php, _underscore/Trait/Netsuite/ItemFulfillment.php, _underscore/Component/Library/Carriers/Ups/Ups.php |
|
|
6
|
+
| [Fulfill & Ship](features/fulfill-and-ship.md) | Fulfill & Ship lets a warehouse user select sales-order line items, enter serials, pick a carrier/method, and in one action: create the Item Fulfillment records | _underscore/Model/Client/Measure.php, _underscore/Model/Client/TrackingNumber.php, toga2-supply/src/pages/EditShipment/helpers/ShipmentDetailsForm/getEditShipmentFormOptions.ts, toga2-supply/src/pages/EditShipment/helpers/ShipmentDetailsForm/validateFormOnSubmit.ts, toga2-supply/src/pages/EditShipment/helpers/ShipmentDetailsForm/checkDimensions.ts, toga2-supply/src/components/ui/Tables/BasicTable/BasicTable.tsx, toga2-supply/src/components/ui/Tables/types.ts, toga2-supply/src/components/ui/GoogleMapsLink.tsx, toga2-supply/src/pages/ShipmentItems/view/forms/ShipmentItemsTable.tsx, toga2-supply/src/pages/ShipmentItems/api/ShipmentItemsApi.ts, toga2-supply/src/pages/ShipmentItems/types.ts, toga2-supply/src/pages/EditShipment/viewModel/FIELDS/RETURNLABELFIELDS.json, toga2-supply/src/pages/EditShipment/view/components/forms/EditShipmentForm.tsx, toga2-supply/src/components/ui/BaseInput/UnitSelect.tsx, toga2-supply/src/pages/EditShipment/view/modals/SerialNumbersModal.tsx, toga2-supply/src/pages/ShipmentItems/view/ShipmentItemsPage.tsx, toga2-supply/src/pages/EditShipment/view/EditShipmentPage.tsx, toga2-supply/src/pages/EditShipment/view/components/forms/EditShipmentForm.tsx, toga2-supply/src/pages/EditShipment/view/components/SelectedShipmentItemsTable.tsx, toga2-supply/src/pages/EditShipment/view/helpers/ShipmentDetailsForm/renderEditShipmentFormInput.tsx, toga2-supply/src/pages/EditShipment/viewModel/FIELDS/DUMMYUPDATESHIPMENTFIELDS.json, toga2-supply/src/pages/EditShipment/helpers/ShipmentDetailsForm/renderEditShipmentFormInput.tsx, toga2-supply/tailwind.config.cjs, toga2-supply/src/pages/EditShipment/view/modals/ReturnShippingModal.tsx, toga2-supply/src/styles/index.scss, toga2-supply/src/components/ui/BaseInput/BaseInput.tsx, toga2-supply/src/pages/EditShipment/api/UpdateShipmentApi.ts, toga2-supply/src/pages/EditShipment/viewModel/signatureTypes.ts, toga2-supply/src/pages/EditShipment/view/modals/SelectReturnAddressModal.tsx, toga2-supply/src/pages/EditShipment/helpers/ShipmentDetailsForm/formatShipmentData.ts, toga2-supply/src/pages/EditShipment/types.ts, toga2-supply/src/pages/Shipments/view/ShipmentsPage.tsx, toga2-supply/src/pages/Shipments/view/components/ShipmentsCardTableForm/ShipmentsCardTableForm.tsx, toga2-supply/src/pages/Shipments/api/ShipmentsApi.ts, toga2-supply/src/pages/Shipments/types.ts, toga2-supply/src/pages/FulfilledShipments/view/FulfilledShipmentsPage.tsx, toga2-supply/src/components/ui/CardTable/CardTable.tsx, toga2-supply/src/components/ui/CardTable/types.ts, toga2-supply/src/assets/pen-line.svg, _underscore/Model/Client/ItemFulfillment.php, _underscore/Trait/Netsuite/ItemFulfillment.php, _underscore/Component/Library/Carriers/Ups/Ups.php |
|
|
7
7
|
| [AWS Amplify Build & Deploy (non-prod environments)](workflows/amplify-build-and-deploy.md) | How `toga2-supply` (React + Vite) builds and deploys on **AWS Amplify**. | toga2-supply/amplify.yml, toga2-supply/.gitattributes, toga2-supply/.github/workflows/sync-stage-environments.yml, toga2-supply/.env.qc-security |
|
|
@@ -12,6 +12,8 @@ files:
|
|
|
12
12
|
- _underscore/Model/Client/Measure.php
|
|
13
13
|
- _underscore/Model/Client/TrackingNumber.php
|
|
14
14
|
- toga2-supply/src/pages/EditShipment/helpers/ShipmentDetailsForm/getEditShipmentFormOptions.ts
|
|
15
|
+
- toga2-supply/src/pages/EditShipment/helpers/ShipmentDetailsForm/validateFormOnSubmit.ts
|
|
16
|
+
- toga2-supply/src/pages/EditShipment/helpers/ShipmentDetailsForm/checkDimensions.ts
|
|
15
17
|
- toga2-supply/src/components/ui/Tables/BasicTable/BasicTable.tsx
|
|
16
18
|
- toga2-supply/src/components/ui/Tables/types.ts
|
|
17
19
|
- toga2-supply/src/components/ui/GoogleMapsLink.tsx
|
|
@@ -616,6 +618,24 @@ the call 403s and returns no label.
|
|
|
616
618
|
programmatic `setValue` for a user-meaningful prefill must pass `{ shouldDirty: true }` or the form
|
|
617
619
|
still reads "clean" (also affects the mint dirty-border above). File:
|
|
618
620
|
`EditShipment/view/modals/ReturnShippingModal.tsx`.
|
|
621
|
+
- **⚠ A submit handler must branch on a validation helper's RETURN value, NOT on the same-tick
|
|
622
|
+
`errors` snapshot after `setError`.** Same RHF-formState-lag family as the `isDirty` gotcha above:
|
|
623
|
+
the destructured `errors` object is one render **behind** `setError`/`clearErrors`, so a helper that
|
|
624
|
+
sets field errors and a caller that then reads `Object.keys(errors)` on the **same tick** see a
|
|
625
|
+
stale (empty) `errors` — the FIRST submit sailed past validation straight to the API even with
|
|
626
|
+
invalid fields. **Two rules for any toga2-supply form doing manual RHF validation on submit:**
|
|
627
|
+
(1) the helper must **RETURN a fresh boolean/result** and the caller must branch on that return
|
|
628
|
+
value, never on the same-tick `errors` snapshot; (2) the helper must **`clearErrors` on the
|
|
629
|
+
now-valid path**, not only `setError` on the invalid path. *Concrete failure:* `checkDimensions`
|
|
630
|
+
had branches for every partial L/W/H combination and for all-absent but **none for all-present**,
|
|
631
|
+
so once a partial submit flagged a dimension, completing all three never cleared it and submit
|
|
632
|
+
stayed blocked in RHF state **permanently**. Fix: `validateFormOnSubmit.ts` and `checkDimensions.ts`
|
|
633
|
+
now return a boolean (`hasErrors`) and clear errors on the valid state; `EditShipmentForm.tsx`
|
|
634
|
+
branches on the returned result. (This validation now also runs in **edit mode** — detail/address
|
|
635
|
+
fields were previously skipped on the edit save path.) Files:
|
|
636
|
+
`EditShipment/helpers/ShipmentDetailsForm/validateFormOnSubmit.ts`,
|
|
637
|
+
`EditShipment/helpers/ShipmentDetailsForm/checkDimensions.ts`,
|
|
638
|
+
`EditShipment/view/components/forms/EditShipmentForm.tsx`.
|
|
619
639
|
- **⚠ api2 V2 field SELECTORS are dot-paths of REAL DB column names — a wrong name silently returns
|
|
620
640
|
nothing.** V2 responses select fields by dot-path (e.g.
|
|
621
641
|
`"itemFulfillmentItems.salesOrderItem.item.skuNumber"`). The real `Items` columns are **`skuNumber`
|
|
@@ -798,6 +818,13 @@ for Compass and is not yet in prod.
|
|
|
798
818
|
the form via `getValueFromPath`'s unguarded `.split`). Remaining Figma tweaks (Dimensions in./cm
|
|
799
819
|
dropdown + gaps, Item Count right-align, return-label row gaps, shipment-card indicator top gap) were
|
|
800
820
|
cosmetic — no doc change. (mhammontree)
|
|
821
|
+
- 2026-07-27 — TRUE-79191 (CodeRabbit review pass): fixed the Edit Shipment form's **first-submit
|
|
822
|
+
validation bypass** — `validateFormOnSubmit`/`checkDimensions` now RETURN a boolean and the submit
|
|
823
|
+
handler branches on that instead of the stale same-tick `errors` snapshot; `checkDimensions` now
|
|
824
|
+
clears errors on the all-present dimensions path (previously had no all-present branch, so a partial
|
|
825
|
+
submit could block submit permanently). Edit mode now runs the same detail/address validation
|
|
826
|
+
(previously skipped) and `updateShipment` returns step-identifying failures. Recorded as a reusable
|
|
827
|
+
RHF-validation gotcha. (mhammontree)
|
|
801
828
|
- 2026-07-14 — TRUE-79191 (commit `724d17c1a`): fixed **Signature Type** not saving/rehydrating —
|
|
802
829
|
documented the reusable **whole-object react-select** convention (`{uuid,name}`; map on `.uuid`,
|
|
803
830
|
rehydrate the object) as a gotcha; the string comparison `data.signatureType === "Required"`
|
package/package.json
CHANGED