Commit Graph

9414 Commits

Author SHA1 Message Date
Pedro Guzman
56ed9cf9f7 fix S3 URL escaping (#14220) 2025-12-04 22:03:17 +01:00
Pedro Guzman
b7adfb225b fix: escape non-ascii characters in filenames in s3 file provider (#14209)
* escape non-ascii characters in filenames in s3 file provider

* fix url encoding
2025-12-04 18:37:56 +01:00
Shahed Nasser
e3e3c725db docs: triage issues + revamp troubleshooting guides (#14216)
* docs: triage issues + revamp troubleshooting guides

* small change
2025-12-04 17:12:48 +02:00
github-actions[bot]
a00bba5cfc chore(docs): Updated UI Reference (automated) (#14212)
* chore(docs): Generated + Updated UI Reference (automated)

* install deps

---------

Co-authored-by: olivermrbl <olivermrbl@users.noreply.github.com>
Co-authored-by: Shahed Nasser <shahednasser@gmail.com>
2025-12-04 15:05:10 +02:00
Carlos R. L. Rodrigues
5b7e3c0e76 chore: configurable database migration in concurrency (#14004)
> [!NOTE]
> Adds a configurable concurrency for link migrations (CLI/commands), forces concurrency=1 when pgstream is detected, and ignores duplicate link-table inserts.
> 
> - **CLI**
>   - Add `--concurrency` option to `db:migrate` and `db:sync-links`.
> - **Medusa commands**
>   - `migrate` and `sync-links` accept `concurrency`; set `DB_MIGRATION_CONCURRENCY` and force `1` when `pgstream` schema exists via new `isPgstreamEnabled`.
> - **Link Modules (migrations)**
>   - Execute plan actions with `executeWithConcurrency` using `DB_MIGRATION_CONCURRENCY`.
>   - Make link-table tracking inserts idempotent with `ON CONFLICT DO NOTHING` (including bulk/upsert and per-create).
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 07432293c8fe8de30b07920fa47823b9081edacc. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>
2025-12-04 11:30:30 +00:00
Shahed Nasser
a33ef1e4d9 docs: update Next.js + React (#14210) 2025-12-04 11:50:25 +02:00
Bastien
7652329489 docs: add custom admin route ranking documentation (#13984)
## Summary

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

Related PR #13946 
Add custom admin route ranking documentation 

**Why** — Why are these changes relevant or necessary?  

*Please provide answer here*

**How** — How have these changes been implemented?

*Please provide answer here*

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

*Please provide answer here*

---

## Examples

Provide examples or code snippets that demonstrate how this feature works, or how it can be used in practice.  
This helps with documentation and ensures maintainers can quickly understand and verify the change.

```ts
// Example usage
```

---

## Checklist

Please ensure the following before requesting a review:

- [ ] 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**
- [ ] I have verified the code works as intended locally
- [ ] I have linked the related issue(s) if applicable

---

## Additional Context

Add any additional context, related issues, or references that might help the reviewer understand this PR.


---

> [!NOTE]
> Adds admin UI docs for sidebar route ranking (including nested), sorting rules, and examples using CodeTabs; mirrors updates in the public content file.
> 
> - **Docs (Admin UI Routes)** in `www/apps/book/app/learn/fundamentals/admin/ui-routes/page.mdx`:
>   - Add `rank` property to `defineRouteConfig` docs and explain sidebar ordering.
>   - New section: "Specify UI Route Sidebar Rank" with version note (v2.11.4).
>   - Add sorting rules for ranked vs. unranked routes.
>   - Add "Nested UI Routes Ranking" with examples under `orders`.
>   - Provide two example routes (Analytics, Reports) demonstrating rank via `CodeTabs`/`CodeTab` (and import them).
>   - Minor copy tweaks (e.g., possessive fix in `label` description).
> - **Public content mirror** in `www/apps/book/public/llms-full.txt`:
>   - Sync the above additions: `rank` property, ranking section, sorting rules, nested ranking examples, and copy fixes.
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 1d127afbfb01e034c39b0b02081781bd0a8e29ef. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>


Co-authored-by: Shahed Nasser <27354907+shahednasser@users.noreply.github.com>
2025-12-03 15:41:43 +00:00
olivermrbl
fc2ac376ac chore: Add new changeset patch 2025-12-03 15:55:15 +01:00
Adrien de Peretti
9f7846ae0b chore(): revert route loading parallelization (#14204)
**What**
To prevent undeterministic route loading, remove route loading concurrency
2025-12-03 13:54:31 +00:00
olivermrbl
6186111896 chore: Update version of changeset patch 2025-12-03 14:53:31 +01:00
Shahed Nasser
2087c8d155 docs: add best practices doc for third-party syncing (#14203)
* docs: add best practices doc for third-party syncing

* small fix
2025-12-03 15:47:41 +02:00
github-actions[bot]
471ab72ecb chore(docs): Generated References (automated) (#14199)
Generated the following references:
- `api_key_models`
- `auth_models`
- `auth_provider`
- `caching`
- `cart_models`
- `core_flows`
- `currency_models`
- `customer_models`
- `fulfillment_models`
- `inventory_next_models`
- `js_sdk`
- `order_models`
- `payment_models`
- `pricing_models`
- `product_models`
- `promotion_models`
- `region_models`
- `sales_channel_models`
- `stock_location_next_models`
- `store_models`
- `tax_models`
- `types`
- `user_models`


---

> [!NOTE]
> Regenerates API reference pages across models, workflows/steps, and JS SDK, and updates generated Typedoc JSON and edit-dates script.
> 
> - **Documentation**:
>   - **Models References**: Regenerated pages under `apps/resources/references/*_models/variables` for `api_key`, `auth`, `cart`, `currency`, `customer`, `fulfillment`, `inventory_next`, `order`, `payment`, `pricing`, `product`, `promotion`, `region`, `sales_channel`, `stock_location_next`, `store`, `tax`, `user`.
>   - **Core Flows**: Added/updated `Workflows_*` and `Steps_*` reference pages across modules including `Api_Key`, `Auth`, `Cart`, `Common`, `Customer`, `Customer_Group`, `Defaults`, `Draft_Order`, `File`, `Fulfillment`, `Inventory`, `Invite`, `Line_Item`, `Order`, `Payment`, `Payment_Collection`, `Price_List`, `Pricing`, `Product`, `Product_Category`, `Promotion`, `Region`, `Reservation`, `Return_Reason`, `Sales_Channel`, `Settings`, `Shipping_Options`, `Shipping_Profile`, `Stock_Location`, `Store`, `Tax`, `User`.
>   - **JS SDK**: Added `js_sdk.admin.Admin.order` property and `admin.Order.updateOrderChange` method references.
>   - **Types**: Added `types/CachingTypes.interfaces.ICachingModuleService` reference.
> - **Generated Assets**:
>   - Updated `utils/generated/typedoc-json-output/0-medusa.json` and `0-types.json`.
>   - Updated `apps/resources/generated/edit-dates.mjs`.
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 796f722aa33abd2033f488a33e0df81903b1b3f2. 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>
2025-12-03 12:01:29 +00:00
github-actions[bot]
b3bcfb7b49 chore(docs): Generated API Reference (automated) (#14200)
Co-authored-by: olivermrbl <olivermrbl@users.noreply.github.com>
2025-12-03 12:11:56 +02:00
github-actions[bot]
dcaf6d2c61 chore(docs): Update version in documentation (automated) (#14198)
Co-authored-by: olivermrbl <olivermrbl@users.noreply.github.com>
2025-12-03 10:35:06 +02:00
olivermrbl
da5d0e3a14 chore: Release 2025-12-03 09:23:59 +01:00
olivermrbl
ba275a33bb chore: Version packages 2025-12-03 09:20:02 +01:00
olivermrbl
5f102b8eed chore: Correct changeset 2025-12-03 09:18:11 +01:00
Adrien de Peretti
391d8dc6cd fix(): event emitting (#14196)
* fix(): event emitting

* Create rude-queens-deny.md

* fix(): store subscriber should not be constraint

* Update rude-queens-deny.md

* Add tests to prevent regression
2025-12-03 08:53:09 +01:00
Shahed Nasser
fe3c28488c docs: improve CORS troubleshooting guide (#14194) 2025-12-03 08:45:21 +02:00
Shahed Nasser
00052b9e50 docs: track code copy + AI assistant event (#14193)
* docs: track code copy + AI assistant event

* add pathname to callback
2025-12-02 17:24:31 +02:00
Nicolas Gorga
ef162f8b5f fix(order): Add composite unique index on order_item version:item_id (#14164)
* Unique index on order_item version:item_id

* Add changeset
2025-12-02 08:55:25 -03:00
Shahed Nasser
0158554020 docs: strapi integration guide (#14075) 2025-12-02 12:30:47 +02:00
Shahed Nasser
92769b2b1c chore: fixes to TSDocs (#14186)
* chore: fixes to TSDocs

* update comments for auth provider
2025-12-02 11:57:04 +02:00
Shahed Nasser
9372a17d1f docs: generate API reference for 2.12.0 (#14185) 2025-12-02 11:56:37 +02:00
github-actions[bot]
21f61ec160 chore(docs): Generated References (automated) (#14182)
Generated the following references:
- `api_key_models`
- `auth_models`
- `cart_models`
- `core_flows`
- `currency_models`
- `customer_models`
- `file`
- `file_service`
- `fulfillment`
- `fulfillment_models`
- `helper_steps`
- `inventory_next_models`
- `js_sdk`
- `module_events`
- `modules`
- `notification`
- `notification_service`
- `order`
- `order_models`
- `payment`
- `payment_models`
- `pricing_models`
- `product_models`
- `promotion`
- `promotion_models`
- `region_models`
- `sales_channel_models`
- `stock_location_next_models`
- `store_models`
- `tax_models`
- `types`
- `user_models`
- `utils`
- `workflows`


---

> [!NOTE]
> Regenerates documentation references with updated schemas/fields and source links, adds locking guidance to fulfillment delivery workflow, expands notification step IO, and tweaks examples/sample values.
> 
> - **Docs Generation**:
>   - Regenerated reference pages across `core_flows`, `fulfillment`, `inventory`, `order`, etc., with updated TypeList schemas and examples.
> - **Fulfillment Workflows/Steps**:
>   - Updated IO schemas (e.g., added `custom_display_id` on `OrderDTO`, `carry_over_promotions` on `OrderChangeDTO`).
>   - Added locking guidance and workflow steps (`acquireLockStep`/`releaseLockStep`) to `markFulfillmentAsDeliveredWorkflow` plus new note/tag.
>   - Refreshed example snippets and sample values.
> - **Notification Step** (`sendNotificationsStep`):
>   - Input expanded with `from`, `content`, `provider_data`, `attachments`; `template` now optional.
>   - Output includes `provider_data` and `attachments` fields.
> - **Order Steps/Workflows**:
>   - IO schemas updated to include `custom_display_id` and `carry_over_promotions` where applicable; added `ordering` on change actions.
>   - Example payloads adjusted (IDs, currencies, amounts).
> - **Meta**:
>   - Updated `<SourceCodeLink>` URLs to new commit hashes throughout.
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit eeb0dac7b19d51860531a491208b2b3b853aa4db. 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>
Co-authored-by: Shahed Nasser <27354907+shahednasser@users.noreply.github.com>
2025-12-02 06:59:52 +00:00
github-actions[bot]
aba10608ae chore(docs): Updated UI Reference (automated) (#14181)
Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action


---

> [!NOTE]
> Bumps Medusa UI-related dependencies across apps/packages and updates DatePicker prop type metadata in UI specs.
> 
> - **Dependencies**:
>   - Upgrade `@medusajs/icons` to `2.12.0` across apps/packages.
>   - Upgrade `@medusajs/ui` to `4.0.28` in `apps/api-reference`, `apps/ui`, and `packages/docs-ui`.
>   - Upgrade `@medusajs/ui-preset` to `2.12.0` in `apps/ui` and `packages/tailwind`.
>   - Update `yarn.lock` accordingly.
> - **UI Reference**:
>   - Update `DatePicker` prop type metadata for `onBlur`, `onFocus`, `onKeyDown`, and `onKeyUp` in `apps/ui/specs/components/DatePicker/DatePicker.json`.
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 222e08dc7d3aa920103aa9b35c50207dca4dd32f. 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>
2025-12-02 06:52:50 +00:00
github-actions[bot]
fa7bf50077 chore(docs): Generated DML JSON files (automated) (#14180)
This PR holds all generated DML JSON files for the upcoming release.


---

> [!NOTE]
> Updates generated DML JSONs with new fields and a renamed relation across fulfillment, notification, order, and promotion modules.
> 
> - **Fulfillment**:
>   - `ShippingOptionType`: rename `shipping_option` to `shipping_options` (expandable).
> - **Notification**:
>   - `Notification`: add `from` and `provider_data` fields.
> - **Order**:
>   - `OrderLineItemAdjustment`: add `version`.
>   - `Order`: add `custom_display_id`.
>   - `OrderChange`: add `carry_over_promotions` (since v2.12.0).
> - **Promotion**:
>   - `Promotion`: add `limit`, `used`, and `metadata` (since v2.12.0).
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 4494c93c2d7bc05cfec47fb1b77f7c4c16383f2b. 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>
Co-authored-by: Shahed Nasser <27354907+shahednasser@users.noreply.github.com>
2025-12-02 06:50:03 +00:00
github-actions[bot]
725b3991b2 chore(docs): Update version in documentation (automated) (#14179)
Co-authored-by: olivermrbl <olivermrbl@users.noreply.github.com>
2025-12-02 08:43:28 +02:00
Shahed Nasser
223ccb4add docs: docs for next release (#14110) 2025-12-01 20:20:01 +02:00
olivermrbl
e4513fab88 chore: Release 2025-12-01 18:59:00 +01:00
olivermrbl
1d4af32749 chore: Version packages 2025-12-01 18:54:07 +01:00
Frane Polić
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
Adrien de Peretti
0f835381e9 fix(product): Update performance issue (#14150)
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-12-01 16:45:18 +01:00
Shahed Nasser
3cf1e5e9de chore: change 2.11.4 to 2.12.0 in TSDocs (#14174) 2025-12-01 17:33:28 +02:00
Pepijn
83dd1b616a chore: Add missing order metadata for create fulfillment (#14028)
* Add missing order metadata for create fulfillment

* Update .changeset/blue-olives-wave.md

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

---------

Co-authored-by: Frane Polić <16856471+fPolic@users.noreply.github.com>
2025-12-01 16:18:40 +01:00
Adil Basri
8f1b97898b fix(dashboard): enable sorting by default based on apiColumn state (#14167)
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-12-01 16:17:51 +01:00
Frane Polić
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
Pepijn
6bc5bf4fc9 Fix not in promotion rule empty value validation (#14172) 2025-12-01 15:04:57 +01:00
Shahed Nasser
ee1be833c3 chore: improve completeCartWorkflow TSDocs (#14153)
* chore: improve completeCartWorkflow TSDocs

* small improvement
2025-12-01 14:20:07 +02:00
Nicolas Gorga
3e2991e447 fix(core-flows): create reservations on draft order conversion to regular order (#14010)
## Summary

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

Avoid creating reservations when draft order edits are confirmed and rather, create them when the draft order is converted into a regular order.

**Why** — Why are these changes relevant or necessary?  

While the order is a draft, creating reservations would potentially block inventory for regular order requests, when the draft represents a non materialized state of a purchase that might never be completed or at a latter point in time.

**How** — How have these changes been implemented?

Removed the reservation creations inside of `confirmDraftOrderEditWorkflow` and instead do it inside `convertDraftOrderWorkflow`

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

Added integration tests.

---

## Examples

Provide examples or code snippets that demonstrate how this feature works, or how it can be used in practice.  
This helps with documentation and ensures maintainers can quickly understand and verify the change.

```ts
// Example usage
```

---

## 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
- [x] The changes are covered by relevant **tests**
- [x] I have verified the code works as intended locally
- [x] I have linked the related issue(s) if applicable

---

## Additional Context

Add any additional context, related issues, or references that might help the reviewer understand this PR.

fixes #13773 
closes SUP-2523
2025-12-01 12:08:03 +00:00
Shahed Nasser
73ae136965 chore: improve and add TSDocs for next release (#14170) 2025-12-01 13:41:31 +02:00
Shahed Nasser
d9e3965a10 docs: fix highlights in digital products recipe (#14171) 2025-12-01 13:41:14 +02:00
Shahed Nasser
00aa2c13bc fix(js-sdk,types,medusa): add HTTP types for update order change API route (#14169)
## Summary

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

- Add HTTP type for update order API route payload + use it in the JS SDK and API route
- other: add `since` tag

**Why** — Why are these changes relevant or necessary?  

*Please provide answer here*

**How** — How have these changes been implemented?

*Please provide answer here*

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

*Please provide answer here*

---

## Examples

Provide examples or code snippets that demonstrate how this feature works, or how it can be used in practice.  
This helps with documentation and ensures maintainers can quickly understand and verify the change.

```ts
// Example usage
```

---

## Checklist

Please ensure the following before requesting a review:

- [ ] 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**
- [ ] I have verified the code works as intended locally
- [ ] I have linked the related issue(s) if applicable

---

## Additional Context

Add any additional context, related issues, or references that might help the reviewer understand this PR.
2025-12-01 11:28:08 +00:00
Mouaz K. Allahham
05f21803bb docs: only two options to interact with Medusa application (#14162) 2025-12-01 12:49:52 +02:00
Shahed Nasser
815464e007 docs: clarify how links with cascade deletion are deleted (#14155)
* docs: clarify how links with cascade deletion are deleted

* small change
2025-12-01 09:01:50 +02:00
Shahed Nasser
1e2f40b623 docs: update recipes and tutorials to support locks and idempotency (#14151) 2025-12-01 09:01:25 +02:00
Adrien de Peretti
bbf294fc31 chore: Update medusa exec worker mode (#14145)
* chore: Update medusa exec worker mode

* chore: Update medusa exec worker mode

* Create cuddly-numbers-camp.md
2025-11-30 19:44:54 +01:00
Frane Polić
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ć
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
Adrien de Peretti
9d1f09ac7b chore(): Update posthog (#14144)
* chore(): Update posthog

* chore(): Update posthog
2025-11-27 13:24:15 +01:00