Commit Graph
1650 Commits
Author SHA1 Message Date
Adrien de Peretti 6ae1e7b708 chore(medusa-test-utils): Prevent waiting for event indefinately (#12137)
**What**
Currently the util await for event infinitely, this can lead to chain crashes in the jest tests suites leading to too much noise to investigate proper issues.
We now have a default time out raced against the promise that is configurable to prevent from waiting for an excessive amount of time
2025-04-10 09:09:29 +00:00
Adrien de Peretti cb26c224ea chore(pricing): improve calculate prices performances (#12120)
* chore(pricing): Try to improve performances

* chore(pricing): new indexes

* chore(pricing): new indexes

* fix orderr

* Create olive-horses-judge.md

* feedback
2025-04-09 13:21:33 +02:00
13e159d8ad fix(workflow-engine-*): Prevent passing shared context reference (#11873)
* fix(workflow-engine-*): Prevent passing shared context reference

* fix(workflow-engine-*): Prevent passing shared context reference

* prevent tests from hanging

* fix event handling

* add integration tests

* use interval for scheduled in tests

* skip tests for now

* Create silent-glasses-enjoy.md

* fix cancel

* changeset

* push multiple aliases

* test multiple field alias

* increase wait time to index on test

---------

Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
Co-authored-by: Carlos R. L. Rodrigues <rodrigolr@gmail.com>
2025-04-09 10:39:29 +02:00
Adrien de Peretti 2a18a75353 chore(framework): slightly improve maybe apply link filter middleware (#12113)
**What**
- Use the resource id filtering when possible instead of relying on programmatic intersection checks over potential hundreds thousands of resources from the link when in fact it is not necessary to fetch everything to check in memory but instead check in the db 
- Also fix normalizeDataForContext middlewares
2025-04-09 04:03:10 +00:00
Adrien de Peretti 74381addc3 chore(): Emit events in batch and index process event ids in batch (#12097)
**What**
First iteration to prevent events from overwhelming the systems.
- Group emitted event ids when possible instead of creating a message per id which leads to reduced amount of events to process massively in cases of import for example
- Update the index engine to process event data in batches of 100
- Update event handling by the index engine to be able to upsert by batch as well
- Fix index engine build config for intermediate listeners inferrence
2025-04-08 16:57:08 +00:00
Shahed NasserandOli Juhl 9ac74eead4 feat(core-flows,types): export fetchShippingOptionForOrderWorkflow (#12103)
* feat(core-flows,types): export fetchShippingOptionForOrderWorkflow

* revert change

* change to tsdoc

* fix errors

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-04-08 13:05:03 +03:00
Carlos R. L. Rodrigues 92c7baa561 fix(orchestration): handle multiple shortcuts with same name (#12066) 2025-04-07 11:59:28 -03:00
olivermrbl 386205d0f4 chore: Add missing changeset for #11803 2025-04-06 18:41:13 +02:00
Frane Polić 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ć 9bf1e52d25 fix(order): update add item unit price (#12072) 2025-04-04 12:47:00 +02:00
Frane Polić 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
Carlos R. L. Rodrigues 2270f29ec5 chore(link-modules): backward compatible links (#12062)
What:
 * Add `hasMany` for links that accepted that in the past. That way we don't block marketplaces to link 1 cart to multiple orders and carts with split payment.
2025-04-02 11:56:48 +00:00
Frane PolićandOli Juhl 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
Harminder Virk 2f7eb0ee03 fix: validate module names to disallow unallowed characters (#12025) 2025-03-28 22:39:39 +05:30
Oli Juhl 79cfc1a69e fix(utils): Enable Redis locking by default in Cloud (#12017)
* fix(utils): Enable redis locking by default

* fix: tests

* Create popular-rules-shake.md
2025-03-28 16:23:02 +01:00
Oli Juhl acdcb11947 chore: Remove integration-tests from changeset 2025-03-28 15:54:29 +01:00
Frane Polić 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
Kasper Fabricius Kristensen 3dba58785f fix(dashboard,medusa,types): allow searching for promotion rule options (#12028)
* fix: allow searching for promotion rule options

* fix: allow searching for promotion rule options

* add changeset

* cleanup
2025-03-28 14:45:05 +01:00
Kasper Fabricius Kristensen 6d8390a529 fix(dashboard): Allow empty subpaths for route extensions (#12030) 2025-03-28 14:42:51 +01:00
Harminder Virk b1b3b48474 feat: Set pricing context hook (#11891) 2025-03-28 15:17:52 +05:30
Frane PolićandOli Juhl 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ć 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ć 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
Carlos R. L. Rodrigues 1895d8cc11 Merge branch 'develop' of https://github.com/medusajs/medusa into fix/wfe-context-ref (#12006) 2025-03-27 09:28:24 -03:00
Riqwan Thamir c870a7a1ba fix(utils,promotion): fix case where mutliple percentage promotions werent applied (#11992)
what:

- fix case where mutliple percentage promotions werent applied
2025-03-26 22:46:50 +00:00
Riqwan Thamir 1f8fab3636 feat(core-flows,types,order,cart): assign tax lines only to regular products (#11994)
what:

- assign tax lines only to regular products
2025-03-26 22:26:34 +00:00
Shahed Nasser 0cc306bf56 fix(js-sdk, types): fixes types and deprecate duplicate methods (#11975) 2025-03-25 16:37:30 +01:00
Carlos R. L. Rodrigues 01089d5bc8 chore(core-flows): price list skip when no data (#11977) 2025-03-25 10:55:30 -03:00
Kasper Fabricius Kristensen d53af655f0 fix(dashboard): Reduce size of Notifications Trigger (#11955) 2025-03-24 19:03:44 +01:00
Shahed Nasser c6f2f444ed fix(js-sdk): fix the return type of the promotion.listRules method (#11937) 2025-03-24 07:35:15 +01:00
Shahed Nasser 053326950d fix(js-sdk): fix the API route used in fulfillment.cancel method (#11936) 2025-03-21 15:08:44 +00:00
Harminder Virk cab6f3a8ad feat: add support for accessing step results via context (#11907)
Fixes: FRMW-2934

This PR adds support for accessing the results of a hook using the `hook.getResult` method.
2025-03-21 10:15:38 +00:00
Kasper Fabricius Kristensen c40fb01d92 fix(ui): Disable select cells if the row cannot be selected (#11442) 2025-03-20 11:52:07 +01:00
Frane Polić 8385a5e34d feat(core-flows): revisit fulfillment flow reservations and support inventory kit (#11790)
* feat: fulfillment flow with reservations and inventory kit

* fix: account for custom line items

* chore: cleanup, changeset

* fix: revert action check

* fix: deduplicate, test item qunatities, compute line item quantity from fulfillment items

* fix:

* fix: improve types

* fix: optimize fetched fileds in cancel fulfillment workflow

* fix: add a test case

* chore: update type
2025-03-19 13:15:24 +01:00
Harminder Virk ff3885500c fix: hooks auto-generated types to have precise input options (#11886) 2025-03-18 15:41:01 +05:30
Harminder Virk aa6d5aa3cf fix: register locking provider with its unique id (#11874) 2025-03-18 15:04:47 +05:30
Riqwan Thamir c3440e5e38 feat(medusa,types): add enabled plugins route (#11876) 2025-03-17 20:11:46 +01:00
Riqwan Thamir 9dd62d93bd feat(core-flows,types,utils): make payment optional when cart balance is 0 (#11872)
what:

- make payment optional when cart balance is 0
2025-03-17 19:03:22 +00:00
Riqwan Thamir 5ab15a2988 feat(dashboard,js-sdk,admin-shared): add customer addresses + layout change (#11871)
what:

- changes customer layout from 1 layout to 2
- adds ability to create and delete customer addresses
- adds 2 customer widget locations
- adds is_giftcard=false by default to products list

<img width="1663" alt="Screenshot 2025-03-08 at 21 34 02" src="https://github.com/user-attachments/assets/e66f05da-718c-4c25-81ce-67ba0a814ca3" />
2025-03-17 16:16:27 +00:00
Kasper Fabricius Kristensen cc4c5c86e2 chore(ui-preset,icons,dashboard) (#11734)
* update icons

* update ui-preset

* chore(ui-preset,icons): Sync with Figma 5/3/2025

* chore(ui-preset,icons): Sync with Figma
2025-03-17 16:51:57 +01:00
Riqwan Thamir cb6249320e fix(types,order,medusa): Create credit lines + hooks (#11569)
what:

- api/workflows to create credit lines
- hooks to enable extending credit lines
2025-03-17 15:20:59 +00:00
Carlos R. L. Rodrigues 0625f76cd4 chore(workflow-engine): export cancel method (#11844)
What:
  * Workflow engine exports the method `cancel` to revert a workflow.
2025-03-17 12:59:09 +00:00
Harminder Virk cae47d9e49 feat: add check for uniqueness when creating links with isList=false (#11767) 2025-03-17 13:23:18 +05:30
Riqwan Thamir 67b308c8eb fix(promotion): percentage value is accounted for in buyget promotions (#11799)
what:

- allows percentage value to be considered for buy get percentage

FIXES https://github.com/medusajs/medusa/issues/11259
2025-03-13 17:09:46 +00:00
Kasper Fabricius Kristensen 3063d6e601 fix(dashboard): Include thumbnail in default product query (#11825)
RESOLVES CMRC-984
2025-03-13 16:26:39 +00:00
Adrien de Peretti fc652ea51e fix(workflow-engine-*): scheduled jobs interval (#11800)
**What**
Currently only cron pattern are supported by scheduled jobs, this can lead to issue. for example you set the pattern to execute every hours at minute 0 and second 0 (as it is expected to execute at exactly this constraint) but due to the moment it gets executed we our out of the second 0 then the job wont get executed until the next scheduled cron table execution.

With this pr we introduce the `interval` configuration which allows you the specify a delay between execution in ms (e.g every minute -> 60 * 1000 ms) which ensure that once a job is executed another one is scheduled for a minute later.

**Usage**
```ts
// jobs/job-1.ts
const thirtySeconds = 30 * 1000

export const config = {
  name: "job-1",
  schedule: {
    interval: thirtySeconds
  },
}
```
2025-03-13 15:05:13 +00:00
Carlos R. L. Rodrigues 5cf0bf4d93 chore: admin product list transform filter (#11821) 2025-03-12 13:21:09 -03:00
Carlos R. L. Rodrigues 6053ec3976 chore(workflow-engine-redis): remove repeatable jobs from old queue (#11822)
What:
  * Old  deployments have repeatable jobs registered in a wrong queue. When the `server` instance picks that job, the workflow doesn't exist, it calls to remove the job, which then removes the job from the new queue.
  * This PR cleans up any repeatable job from the queue that is exclusive to handle workflows.
2025-03-12 14:54:10 +00:00
Adrien de Peretti 72d2cf9207 fix(workflow-engines): race condition when retry interval is used (#11771) 2025-03-12 09:53:34 -03:00
Harminder Virk 375c4a5ab1 refactor: use module name as the snapshot name (#11802)
Fixes: FRMW-2930

This PR updates the MikroORM config to use the module name as the snapshot name when generating migration files. Otherwise, MikroORM defaults to the database name and every time you update the database name, it will create a new snapshot. 

Also, we migrate existing snapshot files to be same the new file name to avoid breaking changes.
2025-03-12 07:02:19 +00:00