Commit Graph
2021 Commits
Author SHA1 Message Date
Adrien de PerettiandCarlos R. L. Rodrigues 2b89510df3 chore(): only execute race execution checks and publish message only for async workflows (#13396)
* chore(): only execute race execution checks for async workflows

* chore(): workflow redis publish only for async flows

* Create cyan-gorillas-poke.md

* chore(): workflow redis publish only for async flows

* fix negative check

---------

Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
2025-09-04 09:12:09 +02:00
William Bouchard faae150a58 fix(utils): big bumber should give numeric value of 0 for small numbers (#13394)
* fix(utils): big bumber should give numeric value of 0 for small numbers

* circular dep

* fix imports

* fix infinite loop

* fix test

* changeset
2025-09-03 13:45:41 -04:00
Oli Juhl 115a1deb49 chore: Fix scripts in CLI pipeline (#13402)
* chore: Fix scripts in CLI pipeline

* Create curly-lizards-dress.md
2025-09-03 14:07:24 +02:00
William Bouchard 2f6edf367a feat(dashboard,cart,types,utils): refine order details summary (#13313)
* feat(dashboard,types,utils): refine order details summary

* fix tests

* changeset

* ui corrections

* tests again

* weird tests failing

* revert update to subtotal

* revert http tests too

* comments

* move credit lines so it makes more sense

* remove currency codes and add bold prices

* add new properties in default for storefront

* minor to patch

* remove bold on things that should be

* olis comment about taxes

* remove bold from shipping
2025-09-02 20:50:37 +02:00
PepijnandOli Juhl 753e8081c4 fix(dashboard): promotion expired status check when limit is null (#13373)
* Fix promotion expired status

* Update .changeset/bright-spoons-float.md

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

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-09-02 11:46:32 +02:00
Adrien de PerettiandCarlos R. L. Rodrigues bd206cb250 chore(): improve workflow engine storage (#13345)
* chore(workflow-engines): Improve race condition management

* cleanup

* cleanup

* chore(workflow-engines): Improve race condition management

* chore(workflow-engines): Improve race condition management

* chore(workflow-engines): heartbeat extend TTL

* Refactor chore title for workflow engine improvements

* chore(): Improve workflow execution db interaction

* chore(): Improve workflow execution db interaction

* chore(): Improve workflow execution db interaction

* chore(): Improve workflow execution db interaction

* chore(): Improve workflow execution db interaction

* chore(): Improve workflow execution db interaction

* chore(): Improve workflow execution db interaction

* chore(): Improve workflow execution db interaction

* chore(): Improve workflow execution db interaction

* update tests

* revert idempotent

* add run_id index + await deletion

* improve saving

* comment

* remove only

---------

Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
2025-09-02 11:18:12 +02:00
Adrien de Peretti b85a46e85b chore(): faster serialization (#13325)
* chore(): Improve serialization perf

* better optimization with monomorphic approach and consistent object shape and array operations

* cleanup

* cleanup

* fix

* Create short-birds-help.md

* ref work

* ref work

* address feedback

* save intermediary changes

* save intermediary changes
2025-09-02 10:19:59 +02:00
Frane Polić 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
Carlos R. L. RodriguesandAdrien de Peretti b4c0f131b7 chore(framework,medusa): load custom flags before medusa config (#13312)
* chore(framework,medusa): load custom flags before medusa config

* test

* test runner

* changeset

* check manager featureFlags

* discover and register flags

* rm comments

* update changeset

* changeset

* use local cli

* execute from local medusa command

---------

Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
2025-09-01 16:04:43 +02:00
Frane Polić 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
github-actions[bot]andgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 6dca59d0a5 chore: Version Packages (#13338)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-28 22:58:13 +02:00
Carlos R. L. Rodrigues 8176d0f684 chore(core-flows): revert idempotent cart (#13336) 2025-08-28 22:45:43 +02:00
github-actions[bot]andgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 08ec3ed9f2 chore: Version Packages (#13209)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-28 17:25:32 +02:00
William Bouchard 65dfcf9be4 chore(dashboard): move shipping option type page (#13323)
* chore(dashboard): move shipping option type page

* small issue with the toast for edit
2025-08-28 15:31:51 +02:00
Carlos R. L. RodriguesandOli Juhl e2213448ac feat: custom logger (#13156)
* feat: custom logger

* mock log

* unit test

* FF and jobs loader

* unit test

* add to ResourceLoader

* get from container

* mock

* rm log

* default logger mock

* link loaders, express

* comments

* initialize container as first step

* db conn

* test

* initialize start

* plugin build using default logger

* ignore .medusa

* revert ignroe

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-28 15:31:19 +02:00
Carlos R. L. Rodriguesandadrien2p 9412669e65 chore: idempotent cart operations (#13236)
* chore(core-flows): idempotent cart operations

* changeset

* add tests

* revert

* revert route

* promo test

* skip bugs

* fix test

* tests

* avoid workflow name conflict

* prevent nested workflow from being deleted until the top level parent finishes

* remove unused setTimeout

* update changeset

* rm comments

---------

Co-authored-by: adrien2p <adrien.deperetti@gmail.com>
2025-08-28 15:04:00 +02:00
Carlos R. L. Rodrigues b111d01898 chore(core-flows): order payment status fix (#13321)
What:
 - Consider epsilon to check if an order is fully captured or refunded.
2025-08-28 12:59:24 +00:00
Adrien de Peretti ff152e7ace fix(orchestration): Use the step definition max retries on set step failure (#13319)
* fix(orchestration): Use the step definition max retries on set step failure

* Create sweet-turkeys-wait.md

* allow to force permanent failure

* update changeset
2025-08-28 14:35:31 +02:00
Oli Juhl cbaa403744 chore: Enable draft order plugin by default (#13314)
* wip

* fix

* fix tests

* update lockfile

* fix deps

* Enable draft order plugin by default

* remove double negation

* support merging modules
2025-08-28 14:14:40 +02:00
Frane Polić be62cf87c7 fix(core-flows): list order shipping options param type (#13316) 2025-08-28 13:50:27 +02:00
Carlos R. L. Rodrigues f764b3a364 feat(index): $nin and $not operators (#13289)
* feat(index): add $not and $nin operators

* logical operator

* test

* test

* types

* logical

* schema ID

* types and $ilike fix

* index type
2025-08-28 11:56:17 +02:00
Oli Juhl b3fb0f7634 chore: Revert #13189 (#13318) 2025-08-28 11:46:01 +02:00
Frane Polić 6b04fbcc50 fix(core-flows): pass backorder flag when recreating reservations after fulfilment cancelation (#13076) 2025-08-27 21:22:03 +02:00
William BouchardandOli Juhl 059bfc1475 chore(fulfillment): cleanup old auto-generatred shipping type (#13298)
* chore(fulfillment): cleanup old auto-generatred shipping type

* changeset

* integrationt ests

* random id

* wrong code

* switch steps around

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-27 11:09:31 -04:00
Oli Juhl a0fca16570 feat: Add Draft Order plugin (#13291)
* feat: Add draft order plugin

* version draft order plugin

* update readme

* chore: Update scripts

* Create purple-dolls-cheer.md

* port over latest changes

* chore: Make package public
2025-08-27 10:14:17 +02:00
Frane PolićandOli Juhl 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ć 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
Carlos R. L. Rodrigues e413cfefc2 feat(utils): define file config (#13283)
** What
 - Allow auto-loaded Medusa files to export a config object.
 - Currently supports isDisabled to control loading.
 - new instance `FeatureFlag` exported by `@medusajs/framework/utils`
 - `feature-flags` is now a supported folder for medusa projects, modules, providers and plugins. They will be loaded and added to `FeatureFlag`

** Why
 - Enables conditional loading of routes, migrations, jobs, subscribers, workflows, and other files based on feature flags.

```ts
// /src/feature-flags

import { FlagSettings } from "@medusajs/framework/feature-flags"

const CustomFeatureFlag: FlagSettings = {
  key: "custom_feature",
  default_val: false,
  env_key: "FF_MY_CUSTOM_FEATURE",
  description: "Enable xyz",
}

export default CustomFeatureFlag
```

```ts
// /src/modules/my-custom-module/migration/Migration20250822135845.ts

import { FeatureFlag } from "@medusajs/framework/utils"

export class Migration20250822135845 extends Migration {
  override async up(){ }
  override async down(){ }
}

defineFileConfig({
  isDisabled: () => !FeatureFlag.isFeatureEnabled("custom_feature")
})
```
2025-08-26 12:22:30 +00:00
Frane Polić 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
William Bouchard 338a42f728 chore(promotion): cleanup old unused promotion codebase (#13294)
* chore(promotion): cleanup old unused code

* changeset
2025-08-25 09:35:17 -04:00
Adrien de Peretti fc49253273 feat(core, event-bus): Compensate emit event step utility (#13281)
* feat(core, event-bus): Compensate emit event step utility

* tests

* Update changeset to remove integration-tests-modules

Removed integration-tests-modules from changeset.

* revert test script
2025-08-25 15:08:09 +02:00
Frane Polić 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
Adrien de Peretti 6264a6262b fix: Cart operation should calculate item prices accounting for quantity (#13251)
* fix(): Cart operation should calculate item prices accounting for quantity

* fix(): Cart operation should calculate item prices accounting for quantity

* fix(): Cart operation should calculate item prices accounting for quantity

* fix when call warning

* fix tests and remove unnecessary object copy

* Create warm-dancers-allow.md

* fix update line item in cart workflow

* fix changeset

* update order flows

* fix cart spec integration tests

* improve create order workflow

* fixes and tests adjustments/improvements

* configurable useQueryGraphStep return type

* revert nullable take

* cleanup useQueryGraphStep
2025-08-25 09:38:58 +02:00
William Bouchard 486621383a feat(dashboard,core,modules): free shipping promotion in dashboard (#13263)
* feat(dashboard,core,modules): free shipping promotion in dashboard

* self-review

* adapt for edit to work

* changeset

* integration tests

* across for each

* remove only from tests

* remove console log

* revert to across

* update wording for shipping promotions

* modify changeset

* suggestion frane

* fix i18n schema
2025-08-22 16:30:30 -04:00
Patryk Spychalski 36c20ed188 fix(dashboard): fix translations for polish (#13266)
* remove unused translations

* add missing translations

* Revert "remove unused translations"

This reverts commit 99eaeb4d199c6ececdeed127b1a237f1ff140151.

* changeset
2025-08-22 10:52:15 +02:00
Adrien de PerettiandOli Juhl 06ef9197f8 chore(pricing): Fix excessive db queries during price sets update (#13258)
* chore(pricing): Fix excessive db queries during price sets update

* chore(pricing): Fix excessive db queries during price sets update

* finalize upsert with replace of the rules

* fix limit

* Create quiet-pumpkins-hang.md

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-22 10:51:50 +02:00
Kasper Fabricius Kristensen 7f5b9fc5fa feat(medusa,dashboard): Add metadata UI to product tags domain + retrieve metadata by default (#13272) 2025-08-22 07:50:59 +02:00
Frane Polić 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
Lars DeckerandWilliam Bouchard e7b45f5fde chore: Improve German Admin Translations (de.json) (#13219)
* Change some german translations

* Update some german translations

* Add changeset

* Change the changeset

---------

Co-authored-by: William Bouchard <46496014+willbouch@users.noreply.github.com>
2025-08-21 15:58:54 +02:00
Frane Polić 319a941d99 fix(dashboard): zero in float currency inputs (#13267)
CLOSES AI-38
2025-08-21 11:07:10 +00:00
Frane Polić 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ć 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
William Bouchard 6602e893b8 chore(medusa): fetch shipping related attributes (#13244)
* chore(medusa): fet shipping related attributes

* some tests

* changeset

* small refactor

* typing

* adapt attribute value

* test

* test again
2025-08-20 13:03:27 -04:00
Oli JuhlandFrane Polić b152210554 feat(core-flows): Refresh adjustments when editing orders (#13189)
* wip

* add tests

* add more tests

* fixes buy-get promotion

* Create empty-pillows-promise.md

* chore: use query graph

* Update packages/core/core-flows/src/order/workflows/order-edit/refresh-order-edit-adjustments.ts

Co-authored-by: Frane Polić <16856471+fPolic@users.noreply.github.com>

---------

Co-authored-by: Frane Polić <16856471+fPolic@users.noreply.github.com>
2025-08-20 15:04:27 +02:00
Frane PolićandWilliam Bouchard 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ć 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
William Bouchard 67d3660abf feat(dashboard, core-flows): associate shipping option to type (#13226)
* feat(dashboard, core-flows): allow associating shipping option type to a shipping option

* edit as well

* fix translation schema

* fix some tests

* changeset

* add new test to update shipping option type

* add new test to create shipping option with shipping option type

* pr comments

* pr comments

* rename variable

* make zod great again
2025-08-19 11:02:36 -04:00
Frane PolićandOli Juhl 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ć 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
Frane PolićandOli Juhl 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