100 Commits
Author SHA1 Message Date
Frane PolićandGitHub 747d1393ae fix: refactor graph query argument in a test (#14513) 2026-01-12 09:14:53 +01:00
d06729d0d1 fix(dashboard): form reset for across allocation (#14369)
**What**
- fix an issue where switching between `across` promotion types in the create form wouldn't set `max_quantity` to null which would cause the create request to fail

---

CLOSES https://github.com/medusajs/medusa/issues/14365


---

> [!NOTE]
> Prevents invalid `max_quantity` when switching templates to an *across* allocation in the promotion creation flow.
> 
> - In `create-promotion-form.tsx`, after applying template defaults, explicitly sets `application_method.max_quantity` to `null` if `application_method.allocation` is `"across"` to avoid resetting it to `1`
> - Adds a changeset entry for `@medusajs/dashboard` patch release
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 5b08c77fee741ec5de399b4f1f9e245ba69b5bee. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>


Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2026-01-02 10:46:50 +00:00
Frane PolićandGitHub a43eb11d65 chore: sync Figma resources (#14297)
* chore: sync icons

* chore: changesets

* fix: linear component
2025-12-12 17:27:02 +01:00
Frane PolićandGitHub 6176f93ac5 fix(dashboard,order): preview pending diff summary (#14221)
* wip: preview pending diff summary

* fix: return test

* fix: rm return calc from processAction_

* chore: cleanup

* chore: changeset

* feat: add estimated diff for return,claim,exchange forms

* chore: changeset
2025-12-08 09:57:13 +01:00
Frane PolićandGitHub 8ddf8b4d76 fix: skip promotion usage limit checks on edit flows (#14176)
* fix: skip promotion usage limit checks on edit flows

* feat: add test check
2025-12-01 18:29:15 +01:00
b74ef4a784 fix(fulfillment): make relationship between SO and SO type M:1 (#14061)
* fix(fulfillment): make relationship between SO and SO type M:1

* fix: test and types, remap type id to existing column

* Fix typo

* Fix typo

* chore: update changeset

* fix: typo

---------

Co-authored-by: Nicolas Gorga <62995075+NicolasGorga@users.noreply.github.com>
2025-12-01 16:16:29 +01:00
536a3f802c feat: promotion usage limit (#13760)
* feat: promotion usage limit

* fix: update, refactor tests, parallel case

* fix: batch update, cleanup unused map

* feat: paralel campaign and promotion tests

* chore: changesets, fix i18 schema

* fix: ui tweaks

* chore: refactor

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-11-30 19:43:36 +01:00
Frane PolićandGitHub 5da51064d7 feat: carry over promotions toggle on exchanges (#14128)
* feat: carry over promotions toggle on exchanges

* fix: inital flag value, return the flag on preview

* fix: validation of allocation type

* fix: revert client changes

* fix: invert condition

* feat: recompute adjustments when outbound item is updated

* fix: condition again

* fix: display more accurate inbound/outbound totals for exchanges

* fix: make exchanges specs green

* feat: more testing cases

* wip: pr feedback

* fix: use plural for the flag on Admin

* fix: schema test, route refactor

* feat: tooltip

* feat: refactor to use update workflow

* feat: display applied promotion per item on order details, show copy sku on hover

* feat: refactor edits and exchanges to have common flag toggle flow

* fix: delete empty file

* fix: exchange_id param query
2025-11-30 19:31:31 +01:00
Frane PolićandGitHub 1e761345be feat(dashboard): show promo tooltip on the edit flows (#14121)
## Summary

**What** — What changes are introduced in this PR?

Display a tootlipt on line items when creating OrderEdit/Exchange to show which promotions are applied on the items.

---

## Checklist

Please ensure the following before requesting a review:

- [x] I have added a **changeset** for this PR
    - Every non-breaking change should be marked as a **patch**
    - To add a changeset, run `yarn changeset` and follow the prompts
- [ ] The changes are covered by relevant **tests**
- [x] I have verified the code works as intended locally
- [ ] I have linked the related issue(s) if applicable

<img width="786" height="910" alt="Screenshot 2025-11-25 at 14 11 22" src="https://github.com/user-attachments/assets/644bea00-b8ab-4a70-9a43-7c912ac21208" />

<img width="775" height="792" alt="Screenshot 2025-11-25 at 14 23 26" src="https://github.com/user-attachments/assets/ed935dad-9c2b-4ebd-8b9f-00d929add1ff" />
2025-11-25 19:37:45 +00:00
Frane PolićandGitHub f2f3a8e1e1 fix(dashboard): reference global vite bin from scripts (#14049) 2025-11-17 19:53:06 +01:00
Frane PolićandGitHub d5fc46b222 feat(dashboard): variant images list thumbnail + refactor form state management (#13905)
## Summary

**What** — What changes are introduced in this PR?

- show thumbnail on the product variant list
- refactor variant image editor state management
- await revalidation before rendering form

**Testing** — How have these changes been tested, or how can the reviewer test the feature?

Manual testing

---

## Checklist

Please ensure the following before requesting a review:

- [x] I have added a **changeset** for this PR
    - Every non-breaking change should be marked as a **patch**
    - To add a changeset, run `yarn changeset` and follow the prompts
- [ ] The changes are covered by relevant **tests**
- [x] I have verified the code works as intended locally
- [ ] I have linked the related issue(s) if applicable
2025-10-30 14:21:27 +00:00
Frane PolićandGitHub 1594c13962 fix(dashboard): preserve old image ids when deleting a product image (#13881) 2025-10-28 15:18:36 +01:00
0b202cc509 feat(product): build variant images when retrieving product (#13731)
**What**
-  build variant images when retrieving product

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-10-28 09:35:55 +00:00
Frane PolićandGitHub 25a20ca95f feat(medusa,types): product variant store endpoints (#13730)
* wip(medusa): product variant store endpoints

* chore: refactor types

* chore: changesets

* fix: address feedback 1

* feat: load images for variants by default

* fix: use query.graph directly instead of refetchEntity

* feat: enable cache for variants endpoint
2025-10-28 10:12:07 +01:00
4757281677 feat(core-flows,product,types): scoped variant images (#13623)
* wip(product): variant images

* fix: return type

* wip: repo and list approach

* fix: redo repo method, make test pass

* fix: change getVariantImages impl

* feat: update test

* feat: API and core flows layer

* wip: integration spec

* fix: deterministic test

* chore: refactor and simplify, cleanup, remove repo method

* wip: batch add all images to all vairants

* fix: remove, expand testing

* refactor: pass variants instead of refetch

* chore: expand integration test

* feat: test multi assign route

* fix: remove `/admin/products/:id/variants/images` route

* feat: batch images to variant endpoint

* fix: length assertion

* feat: variant thumbnail

* fix: send variant thumbnail by default

* fix: product export test assertion

* fix: test

* feat: variant thumbnail on line item

* fix: add missing list and count method, update types

* feat: optimise variant images lookups

* feat: thumbnail management in core flows

* fix: typos, type, build

* feat: cascade delete to pivot table, rm unused unused fields

* feat(dashboard): variant images management UI (#13670)

* wip(dashboard): setup variant media form

* wip: cleanup table and images, wip check handler

* feat: proper sidebar functionallity

* fefat: add js-sdk and hooks

* feat: allow only one selection

* wip: lazy load variants in the table

* feat: new variants management for images on product details

* chore: refactor

* wip: variant details page work

* fix: cleanup media section, fix issues and types

* feat: correct scoped images, cleanup in edit modal

* feat: js sdk and hooks, filter out product images on variant details, labels, add API call and wrap UI

* chore: cleanup

* refacto: rename route

* feat: thumbnail functionallity

* fix: refresh checked after revalidation load

* fix: rm unused, refactor type

* Create thirty-clocks-refuse.md

* feat: new add remove variant media layout

* feat: new image add UX

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>

* fix: table name in migration

* chore: update changesets

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-10-26 15:15:40 +01:00
Frane PolićandGitHub 90162ebeac fix(medusa): images recreate on product update (#13813) 2025-10-23 09:32:34 +02:00
Frane PolićandGitHub 2d45ba7be1 fix(draft-order): email reset when changing customer (#13771) 2025-10-19 10:40:20 +02:00
Frane PolićandGitHub 723dc082f0 fix(dashboard): campaign budget labels improvements (#13740)
* fix(dashboard): budget labels and remove promo code

* fix: sidebar label

* fix: update translation
2025-10-13 18:49:12 +02:00
Frane PolićandGitHub c6896ffa6a fix(dashboard): campaign UI improvements (#13723)
* fix(dashboard): campaign UI improvements

* fix: camel case translation key
2025-10-09 16:15:26 +02:00
7dc3b0c5ff feat(core-flows,dashboard,js-sdk,promotion,medusa,types,utils): limit promotion usage per customer (#13451)
**What**
- implement promotion usage limits per customer/email
- fix registering spend usage over the limit
- fix type errors in promotion module tests

**How**
- introduce a new type of campaign budget that can be defined by an attribute such as customer id or email
- add `CampaignBudgetUsage` entity to keep track of the number of uses per attribute value
- update `registerUsage` and `computeActions` in the promotion module to work with the new type
- update `core-flows` to pass context needed for usage calculation to the promotion module

**Breaking**
- registering promotion usage now throws (and cart complete fails) if the budget limit is exceeded or if the cart completion would result in a breached limit

---

CLOSES CORE-1172
CLOSES CORE-1173
CLOSES CORE-1174
CLOSES CORE-1175


Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
2025-10-09 12:35:54 +00:00
Frane PolićandGitHub c3ae529b40 fix(dashboard): payment providers select (#13592)
**What**
- use lazy loading for payment providers select on region create/edit
2025-09-25 17:54:07 +00:00
Frane PolićandGitHub 7af9e3224c fix(dashboard): improve inventory level location management (#13589)
**What**
- add InfiniteList on location selection for inventory level -> fixes issue with location pagination
- fix removal of location level for an inventory item
- refresh the levels table when locations are updated
- add search input for filtering locations

---

CLOSES CORE-1208
2025-09-24 18:00:45 +00:00
Frane PolićandGitHub 294c37564c fix(dashboard): edit promotion campaign w/wo currrency (#13404)
**What**
- a promotion couldn't be added to a campaign without a currency budget (on promotion details screen)
- fix fetching campaigns pagination issue
- move select to Combobox
- fix currency restriction and move warning description to the label hint
2025-09-24 10:24:11 +00:00
Frane PolićandGitHub 10787c865f feat(dashboard): refactor location list UI to use data table (#13571)
* wip: convert location list to a table

* chore: changeset

* fix: rm search bluring on loading change

* feat: translations and palceholders, cleanup, make content more compact

* fix: delete message

* chore: optimise use memo

* fix: update toast

* feat: make stock location address searchable

* fix: search input blur on load finish
2025-09-24 10:29:13 +02:00
Frane PolićandGitHub 6e806942c7 fix:(dasboard, order): set return status on cancel (#13578) 2025-09-24 08:48:00 +02:00
Frane PolićandGitHub 8565dcfc46 fix(core-flows, medusa): don't allow negative line item quantity (#13508)
* fix(core-flows,medusa): don't allow negative line item quantity

* fix: greater than 0

* feat: add test

* wip: update update item flow to remove item when qty is 0

* fix: paralelize

* fix: when argument

* fix: emit event
2025-09-16 11:54:20 +02:00
Frane PolićandGitHub ecf368e2bd fix(dashboard): edit rules clear and reset (#13423)
CLOSES CORE-1105
2025-09-09 18:26:01 +00:00
Frane PolićandGitHub 0000ed6998 fix(draft-order, medusa, types): ui polish (#13376)
**What**
- ensure unique promotion changes are displayed in the activity section
- check linked promotions by id and not code
- list promotions - add id param
- make address payload fields nullish
- Add items view UI tweaks

---

CLOSES SUP-2400
2025-09-05 06:55:07 +00:00
Frane PolićandGitHub e67974ffe5 fix(dashboard): customer has_acccount flag (#13414) 2025-09-05 08:01:29 +02:00
Frane PolićandGitHub b7fef5b7ef fix(dashboard): promotion decimal value definition (#13371)
* fix(dashboard): pormotion decimal value definition

* fix: typo

* fix: fixed value decimals

* fix: translation
2025-09-04 16:07:29 +02:00
Frane PolićandGitHub f69088998c fix(dashboard, ui): ensure radix deps version (#13392) 2025-09-04 08:42:51 +02:00
Frane PolićandGitHub fb71bc6405 fix(core-flows): handle cacluated shipping options on draft orders gracefully (#13353)
* fix(core-flows): handle calculated shipping options on draft orders gracefully

* fix: throw medusa error
2025-09-02 10:06:31 +02:00
Frane PolićandGitHub f53f027ce6 fix(dashboard): rules form operator change (#13324)
**What**
- fix condition rules form sometimes rendering multi and single selects unrelated to the attribute operator selected
- reset rule value when operator is changed
- disable selecting rule values untill operator is selected
- translate labels
2025-08-29 15:53:00 +00:00
Frane PolićandGitHub be62cf87c7 fix(core-flows): list order shipping options param type (#13316) 2025-08-28 13:50:27 +02:00
Frane PolićandGitHub 6b04fbcc50 fix(core-flows): pass backorder flag when recreating reservations after fulfilment cancelation (#13076) 2025-08-27 21:22:03 +02:00
5382afccfa chore(core-flows): throw Medusa error for exceptions in the fulifllment flows (#13302)
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-26 20:02:55 +02:00
Frane PolićandGitHub 71818e43cb fix(medusa): fetching a product without a category with categories filed passed (#13020)
**What**
- adding `categories` to `fields` param would return 404 for an existing product if the product was not associated with a category

---

CLOSES CMRC-1046
2025-08-26 16:35:41 +00:00
Frane PolićandGitHub 87a61baf8f fix(dashboard): handle large resource count in tax rule override edit form (#13297)
* fix(dashboard): handle larege resource count in tax rule override edit form

* fix: typo

* fix: rm log
2025-08-26 10:45:27 +02:00
Frane PolićandGitHub 57077406f9 fix(fulfillment): don't cascade shipping option delete to shipping option type (#13280)
**What**
- don't cascade delete shipping option type when shipping option is deleted since types can be shared between options
- prevent shipping option type deletion if there are options associated with it
2025-08-25 08:00:41 +00:00
Frane PolićandGitHub 2d62e28913 fix(dashboard): show fulfilment option on SO edit (#13269)
* fix(dashboard): show fulfilment option on SO edit

* fix: validation
2025-08-21 22:34:26 +02:00
Frane PolićandGitHub 319a941d99 fix(dashboard): zero in float currency inputs (#13267)
CLOSES AI-38
2025-08-21 11:07:10 +00:00
Frane PolićandGitHub 492e018957 feat(dashboard, core-flows, js-sdk, types, medusa): listing order's shipping options (#13242)
* feat(dashboard, core-flows,js-sdk,types,medusa): listing order's shipping option

* fix: typo

* chore: migrate claim form

* fix: cleanup rule logic

* feat: add test case, rm params

* fix: expand location name
2025-08-21 13:01:27 +02:00
Frane PolićandGitHub 9b38b750de feat(dashboard): shipping option tax rate overrides UI (#13260)
* feat(dashboard): shipping option tax rate overrides UI

* feat: add location filter

* feat: show service zone in SO table

* feat: display location in the SO table
2025-08-21 12:06:36 +02:00
5b7a041246 chore(ui): move toast to top right (#13092)
* chore(ui): display toast in top right corner

* fix: error as well

* refactor: feedback

* chore: move the rest of the modal controls to footer

---------

Co-authored-by: William Bouchard <46496014+willbouch@users.noreply.github.com>
2025-08-20 08:39:45 +02:00
Frane PolićandGitHub 2f594291ad fix(core-flows, dashboard, types): improve allocation flows on Admin (#12572)
**What**
- handle single inventory items with `required_quantity > 1` correctly in the allocate UI flow
- display correct availability amount in the create fulullment form for inventory kit items
- fix check in the create fulfillment flow that would allow negative reservation because `required_quantity` wasn't included in the check
- show the most recent reservations first in the reservations table
- display an error in the allocation form if a reservation is not created for some inventory items 
- display inventory kit in the order summary if the product has multiple same inventory items

---

CLOSES SUP-1655
2025-08-19 18:48:24 +00:00
c6b836bb03 fix(dashboard): create product selected inventory item display (#13111)
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-18 19:30:56 +02:00
Frane PolićandGitHub 20b8187e2a fix(dashboard): table inclusive date filter (#13053)
**What**
- make end date inclusive for search results

---

https://github.com/user-attachments/assets/8367ffd1-e882-44a9-a876-a8e4731a6cd5

---

CLOSES CMRC-1072
2025-08-18 12:55:39 +00:00
6d8e4acdc7 chore(dashboard): migrate location levels table (#12624)
* chore: migrate location levels table

* fix: page size

* fix: disable sorting by available quantity

* wip: migrate fulfillment location combobox

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-18 14:50:52 +02:00
Frane PolićandGitHub 0452eba20b chore(dashboard): add missing US states (#13094)
* chore(dashboard): add missing US states

* fix: add missing territiories
2025-08-03 19:17:12 +02:00
Frane PolićandGitHub 7814710610 chore(ui): sync Figma resources (#13088)
**What**
- sync latest Figma icons and ui presets
2025-08-01 06:54:38 +00:00
Frane PolićandGitHub 9fb5baa912 fix(core-flows): guest customer updates email to another guest account (#13037)
* fix(core-flows); guest customer updates email to another guest account

* wip: refactor test

* fix: refactor step, add testing

* fix: update test

* fix: string assertion in a test
2025-07-25 12:49:06 +02:00
Frane PolićandGitHub 439c711845 fix(dashboard, product): product attributes update with a relation update (#13019)
* fix(dashboard, product): product attributes update with a relation update

* fix: rm log

* chore: refactor
2025-07-23 21:01:50 +02:00
Frane PolićandGitHub 3fa1db9dea fix(dashboard): allocation UI for orders with more than 20 reservation items (#12989) 2025-07-20 13:30:23 +00:00
Frane PolićandGitHub 40625c82d6 fix(core-flows): properly delete variant inventory item (#12958)
* fix(core-flows): properly delete variant inventory item

* fix: rm unused code
2025-07-16 21:16:29 +02:00
Frane PolićandGitHub 491b08e044 fix(dashboard): combobox multiitem clear (#12939)
* fix(dashboard): clearing multiitem combobox

* chore: changesets
2025-07-14 20:32:20 +02:00
Frane PolićandGitHub a28226af80 fix(core-flows): updating tax lines when draft order shipping is removed (#12919)
**What**
- don't call `updateOrderTaxLinesWorkflow` when a shipping method is removed from a draft order (tax lines will be cascade deleted with the method)
2025-07-14 13:35:44 +00:00
Frane PolićandGitHub 1438b394ae fix(dashboard): show TIP flag only for fixed promotions (#12897)
* fix(dashboard): show TIP flag only for fixed promotions

* fix: refactor changes
2025-07-08 16:01:03 +02:00
Frane PolićandGitHub 9d61bb7e71 fix(dashboard): fix currency input locale formatting (#12812)
* fix: refund forms and format currency util

* fix: claim form

* fix: return form

* fix: exchange form
2025-06-25 09:23:49 +02:00
Frane PolićandGitHub 52becfdb90 fix(dashboard,types): loyalty UI changes (#12764) 2025-06-18 20:38:36 +02:00
Frane PolićandGitHub 7a8f639b38 fix(payment): add account holder methods to the manual provider (#12751) 2025-06-17 09:10:05 +02:00
Frane PolićandGitHub 672871b733 fix(core-flows): cart complete order address creation (#12493)
* fix(core-flows): cart complete order address creation

* fix(order): cascade delete addresses

* fix: revert
2025-06-12 15:07:50 +02:00
2621f00bb0 feat(promotion, dashboard, core-flows, cart, types, utils, medusa): tax inclusive promotions (#12412)
* feat: tax inclusive promotions

* feat: add a totals test case

* feat: add integration test

* chore: changeset

* fix: typo

* chore: refactor

* fix: tests

* fix: rest of buyget action tests

* fix: cart spec

* chore: expand integration test with item level totals

* feat: add a few more test cases

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-06-12 15:07:11 +02:00
Frane PolićandGitHub bd6d9777c5 fix(promotion, types): non discountable items check (#12644)
* fix(promotions): check if item is discountable

* fix: return earl yonly if non discountable

* fix: update test

* chore: add integration test
2025-06-12 10:23:06 +02:00
Frane PolićandGitHub 9866baa852 feat(core-flows,js-sdk,medusa,types): draft order delete (#12172) 2025-05-28 14:37:00 +02:00
Frane PolićandGitHub c4dd290461 fix(core-flows): reservation management on order edit and draft order confirm (#12546) 2025-05-28 09:52:01 +02:00
Frane PolićandGitHub 341a8bb7ee fix(dashboard): combobox initial item cache (#12522) 2025-05-28 09:32:01 +02:00
Frane PolićandGitHub c5a6573e26 fix(product, utils): handle metadata key deletion on product update (#12478) 2025-05-21 21:32:12 +02:00
Frane PolićandGitHub 3071d09a03 fix(core-flows): skip location check if inventory is not managed (#12540)
* fix: skip location check if inventory is not managed

* fix: rm todo

* chore: changeset
2025-05-21 15:37:43 +02:00
Frane PolićandGitHub b8ab053252 fix(dashboard): refund payment formatting (#12476)
* fix(dashboard): refund payment formatting

* fix: reduce SC pagination limit
2025-05-19 15:49:34 +02:00
Frane PolićandGitHub 9f4d32b220 fix(core-flows): fulfilment cancelation with shared inventory kit item (#12503)
* fix(core-flows): fulfilment cancelation with shared inventory kit item

* fix: typos, check if iitem exists

* chore: typo
2025-05-16 10:50:10 +02:00
Frane PolićandGitHub 39e5eadefc fix(core-flows, dashboard): reservation recreation on fulfilment cancel + allocation button display (#12447)
**What**
- fix recreation of reservations on fulfilment cancel
- fix allocate items button display

---

CLOSES CMRC-1018
2025-05-12 17:09:23 +00:00
Frane PolićandGitHub 32e0194772 fix(dashboard, medusa): validate provider for top level tax regions (#12450)
* fix(dashboard, medusa): validate provider for top level tax regions

* chore: changesets, message

* chore: add test case for province

* fix: remove comment
2025-05-12 18:04:48 +02:00
Frane PolićandGitHub 5fe0e8250d fix(core-flows): Refund and recreate payment session on cart complete failure (#12263) 2025-05-11 19:53:49 +02:00
Frane PolićandGitHub 3fb4d5beb0 fix(dashboard): call route modal onClose only on route change (#12383) 2025-05-11 19:52:12 +02:00
Frane PolićandGitHub 6aa1ebdee2 fix(dashboard): inventory kit combobox state (#12371)
* fix(dashboard): inventory kit combobox state

* chore: changeset
2025-05-11 18:45:08 +02:00
Frane PolićandGitHub 47700899ed fix(core-flows): use product title for line item title (#12397)
* fix(core-flows): use prduct title for line item title

* fix: module tests

* fix: http tests

* fix: display item subtitle instead of prod title as secondary text in line item

* fix: claim/exchange items
2025-05-11 17:05:46 +02:00
Frane PolićandGitHub e4d196e522 fix(dashboard): tax regions UI polish (#12437) 2025-05-11 16:06:11 +02:00
Frane PolićandGitHub 2dd885ebc1 fix(medusa): check if tax module is installed when running tax migration script (#12393) 2025-05-07 13:01:20 +02:00
Frane PolićandGitHub 0d8af119c5 feat(product): search variants by product properties (#12391) 2025-05-07 10:29:14 +00:00
Frane PolićandGitHub 9cedeb182d feat(dashboard, js-sdk, medusa, tax, types): custom tax providers (#12297)
* wip: setup loaders, add endpoints, module work, types, js sdk

* fix: tax module provider loader

* feat: select provider on region create, fix enpoint middleware registration

* feat: edit form

* fix: rename param

* chore: changeset

* fix: don't default to system provider

* fix: admin fixes, dispalt tax provider

* fix: some tests and types

* fix: remove provider from province regions in test

* fix: more tests, optional provider for sublevel regions, fix few types

* fix: OE test

* feat: edit tax region admin, update tax region core flow changes

* feat: migrate script

* fix: refactor

* chore: use query graph

* feat: provider section
2025-05-06 19:26:33 +02:00
Frane PolićandGitHub 8985998756 feat(core-flows, utils): add OrderEdit events (#12320)
* feat(core-flows, utils): add OrderEdit events

* fix: typo
2025-04-30 17:44:39 +02:00
Frane PolićandGitHub 4f6362b1cb fix(design-system): filter/sorting menu error (#12309) 2025-04-29 12:13:12 +02:00
d7a273ff2d fix(core-flows): handle inventory kit items in mark-as-shipped/delivered flows (#12269)
* fix(core-flows): handle invetory kit items in mark-as-shipped and mark-as-delivered flows

* fix: typo

* chore: more assertion

* chore: fix comment

* Update packages/core/core-flows/src/order/workflows/create-shipment.ts

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>

* fix: undo comment

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-04-26 19:38:00 +02:00
ad74ba2ca4 fix(core-flows, link-modules): return fulfillment creation (#12227)
* fix: return fulfillment creation

* chore: changeset

* fix: link

* fix: cancel claim flow

* chore: test fulfillment creation as a part of return lifecycle test

* fix: exchanges cancle flow

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-04-22 14:33:46 +02:00
f6b20a943e fix(dashboard): properly register settings custom routes (#12198)
**What**
- custom setting routes were registered under `/settings/settings/custom-route` instead of `/settings/custom-route`

---

CLOSES SUP-1384

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-04-16 18:11:36 +00:00
Frane PolićandGitHub 9851598dae fix(payment): properly delete refund (#12193)
**What**
- properly delete the refund record if refunding with the provider fails

---

CLOSES SUP-1398
2025-04-16 07:57:39 +00:00
Frane PolićandGitHub 01542f6973 feat(core-flows, js-sdk, medusa): draft order shipping removal (#12124)
**What**
- allow removal of a shipping method

---

CLOSES CMRC-1013
2025-04-16 06:10:24 +00:00
Frane PolićandGitHub 413a0da26c fix(core-flows): draft order reservations (#12115)
* fix: draft order reservations

* feat: add test case

* fix: assert item ids
2025-04-13 17:40:16 +02:00
Frane PolićandGitHub 9d0b6a136f fix(dashboard): display null sku (#12155) 2025-04-11 13:30:32 +02:00
Frane PolićandGitHub 95a8c7b57e fix(dashboard): product type metadata form (#12149) 2025-04-11 09:14:32 +02:00
Frane PolićandGitHub f01e0868bd fix(dashboard): product create discountable flag (#12073)
* fix(dashboard): product create discountable flag

* chore: changeset
2025-04-06 17:32:27 +02:00
Frane PolićandGitHub 9bf1e52d25 fix(order): update add item unit price (#12072) 2025-04-04 12:47:00 +02:00
Frane PolićandGitHub a8513019db fix(core-flows,dashboard): handling authorized payment collection on OE (#11958)
* wip: handling authorized payment collection on OE

* fix: update condition

* fix: condition for creation

* chore: remove commented code

* chore: changeset, refactor

* chore: typo, comments

* fix: add a test case

* fix: reorg workflows, partially captured

* fix: status enum type
2025-04-02 13:57:44 +02:00
5f3a82f5c3 fix(core-flows): applying product type promotion (#12051)
* fix: applying porduct type promotion

* Create fair-terms-tell.md

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-04-02 09:35:25 +02:00
Frane PolićandGitHub 95e89a39f3 feat(core-flows, types): try payment cancelation if cart complete fails in the webhook (#11832)
* fix: try compensating if cart complete fails, reorder process paymnet workflow steps

* fix: condition

* fix: feedback

* feat: changes to the compensation step

* fix: build

* fix: remove payment id as arg

* fix: when input

* chore: remove captures realtion, changeset

* fix: return lates payment object from authorize payment
2025-03-28 14:49:54 +01:00
350b6b9a71 fix(dashboard): RMA allow shipping unset (#12021)
**What**
- allow unsetting shipping in RMA flows + bug cleanup around shipping flows in claims / exchanges
- additional fixes:
  - product type create form 
  - product type delete
  - delete confirmation messages
  - fix a few inventory strings + material field

---

CLOSES CMRC-945
CLOSES CMRC-953
CLOSES CMRC-967
CLOSES CMRC-963
CLOSES CMRC-954


Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-03-28 09:25:44 +00:00
Frane PolićandGitHub 29f6c2a8dd fix(dashboard): return form pending diff (#12007)
**What**
- display est. difference in returns as for claims/exchanges
- display order pending difference instead of value computed on FE

---

CLOSES CMRC-949
2025-03-28 09:14:04 +00:00
Frane PolićandGitHub 3145c5f20d fix(dashboard): trim some product create inputs to prevent creation error (#12004)
* fix: trim some inputs to prevent creation error

* chore: changeset
2025-03-28 08:59:44 +01:00
Frane PolićandGitHub be6a651e2f fix(dashboard): notification list scroll flickering (#11911)
* fix: flicekring of the notification list due to rerendering

* fix: revert page size

* fix: page size

* fix: reintroduce treshold

* fix: param

* fix: revert page size
2025-03-28 08:58:33 +01:00
Frane PolićandGitHub 69bb775f28 fix(dashboard): refund form input (#11993)
**What**
- fix refund form input issues
2025-03-27 15:20:22 +00:00