Commit Graph

7785 Commits

Author SHA1 Message Date
Shahed Nasser
084f76b73f docs: update products user guide (#11506)
* docs: update products user guide

* fix broken link
2025-02-18 15:55:42 +02:00
Adrien de Peretti
448dbcb596 feat(medusa): Rollout index engine behind feature flag (#11431)
**What**
- Add index engine feature flag
- apply it to the `store/products` end point as well as `admin/products`
- Query builder various fixes
- search capabilities on full data of every entities. The `q` search will be applied to all involved joined table for selection/where clauses

Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
2025-02-18 13:49:57 +00:00
Kasper Fabricius Kristensen
3b69f5a105 fix(dashboard): Properly delete metadata keys, and fix number parsing (#11466)
**What**
- Fixes an issue where we would parse a string like `"52 tests"` into `52` in the Metadata form
- If a row is deleted we now send off key with an empty string as its value to signify that it should be deleted. This is needed to introduce the API we had for updating metadata in V1. Adrien is implementing the BE support for this.

RESOLVES SUP-895
2025-02-18 10:28:24 +00:00
Kasper Fabricius Kristensen
06cc658246 fix(dashboard): Allow using the Enter key in product create Textarea (#11488)
Resolves SUP-911
2025-02-18 10:21:26 +00:00
Stevche Radevski
99a6ecc12d feat: Add support to update account holder (#11499) 2025-02-18 11:04:25 +01:00
Ranjith kumar
32ad13813b feat(js-sdk): implement custom storage config to support react native (#11467)
* feat(js-sdk): implement custom storage config to support react native

* chore: add changeset

* feat(js-sdk): implement custom storage config to support react native

* chore: add changeset

* test:  add unit tests for custom storage
2025-02-18 08:38:23 +01:00
Frane Polić
ee848bf0f4 feat(core-flows, dashboard, medusa, types): optional shipping profile (#11434)
* feat: create product flow changes

* feat: allow unsetting SP on product update

* feat: update prepare line item helper

* test: add testcase

* wip: fix tests

* fix: update module tests

* fix: cart module test
2025-02-17 19:08:59 +01:00
Adrien de Peretti
3b7856e8f5 feat(framework): Improve production structured logging with more valuable information as well (#11489)
* feat(framework): Improve production structured logging with more valuable information as well

* feat(framework): Improve production structured logging with more valuable information as well

* feat(framework): Improve production structured logging with more valuable information as well

* feat(framework): Improve production structured logging with more valuable information as well

* fix typo

* update trust proxy

* Create new-ligers-heal.md

* revert trust proxy
2025-02-17 18:16:33 +01:00
Stevche Radevski
91d3332f9e feat: Add support for idempotency key in payments (#11494) 2025-02-17 18:08:19 +01:00
Shahed Nasser
0cbe71597e docs: update orders user guide (#11498) 2025-02-17 18:16:23 +02:00
Harminder Virk
32c5015f56 fix: generate posix paths for migrations (#11468)
Fixes: FRMW-2913

Related Github issue - https://github.com/medusajs/medusa/issues/11330
2025-02-17 09:57:00 +00:00
Kasper Fabricius Kristensen
b53ea77658 feat(ui,dashboard): Move InlineTip to UI package (#11462) 2025-02-17 09:16:29 +00:00
Adrien de Peretti
63f0774569 feat(): Backport metadata management (#11469)
FIXES FRMW-2915

**What**
Backport metadata management. all the metadata get preserved unless a specific empty string is provided for the key which in turn would remove that key from the metadata
2025-02-17 09:14:53 +00:00
Harminder Virk
a5ff1b92ce refactor: remove host from the server ready log (#11485) 2025-02-17 14:07:44 +05:30
Shahed Nasser
16b89f60e0 docs: add array filter with comma in requests (#11478) 2025-02-14 18:35:03 +02:00
Kasper Fabricius Kristensen
03b8bda1ba fix(dashboard): Fix size of buttons and use Link to navigate (#11366)
**What**
- Fixes the wrong `size` being used for the allocate items button.
- Updates the buttons that link to somewhere to use a Link and asChild instead of an onClick.
2025-02-14 15:19:31 +00:00
Shahed Nasser
483f7b556c docs: update tips in user guide (#11477)
* updated bulk editor tips

* docs: update tips in user guide
2025-02-14 17:02:49 +02:00
Shahed Nasser
10081118a5 docs: update user guide introduction page (#11474)
* docs: update user guide introduction page

* chore: run yarn prep automatically
2025-02-14 16:15:28 +02:00
Frane Polić
5dc8a403ef feat(dashboard): Pickup option changes (#11306)
**What**
- update the create and edit shipping option flows to support pickup (shipping) option
- modify "mark as delivered" for pickup case

---

CLOSES CMRC-906 CMRC-907
2025-02-14 14:14:58 +00:00
Shahed Nasser
271337eb23 fix(types): fix shipping profile type optional in create type / method (#11453)
* fix(types): fix shipping profile type optional in create type / method

* example fix
2025-02-14 15:11:25 +01:00
Kasper Fabricius Kristensen
b37010857a fix(core-flows): Fix line item ids passed to deleteReservationsByLineItemsStep (#11465) 2025-02-14 15:10:52 +01:00
Kasper Fabricius Kristensen
825b8ad260 fix(medusa): Allow filtering by handle and title as arrays (#11472)
**What**
- Allows filtering products in the Store API with an array value for both `handle` and `title`.

RESOLVES SUP-893
2025-02-14 14:10:32 +00:00
Shahed Nasser
9f39cd19f8 docs: document configuring request body parsing (#11463)
* docs: document configuring request body parsing

* chore: run yarn prep automatically

* chore: run yarn prep automatically

* chore: run yarn prep automatically

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-14 15:58:34 +02:00
Adrien de Peretti
ceb99d073a fix(medusa): Re throw error in instrumentation after reporting it (#11464)
FIXES FRMW-2914

**What**
Currently, when the instrumentation is enabled, some instrument catches the errors in order to set the span status and info, unfortunately, these errors are not re throw leading to swallow them and return nothing in the end leading to potential breaks in flows
2025-02-14 12:50:52 +00:00
Shahed Nasser
e769c5afe3 chore: remove action to generate prep files for docs (#11475) 2025-02-14 14:47:44 +02:00
Shahed Nasser
6b7c447b29 chore: fix the generate action by passing the token (#11473) 2025-02-14 14:07:25 +02:00
Harminder Virk
bc02fde236 feat: allow all NodeSDK options via registerOtel (#11460) 2025-02-14 15:37:32 +05:30
Saransh Sharma
cbfbae42f2 Update page.mdx (#11459)
Run does not make sense unless its a script provided
2025-02-14 09:56:40 +02:00
Shahed Nasser
d52b5e2d1f chore: add an action that generates documentation files in PRs (#11423)
* chore: add an action that generates documentation files in PRs

* fix
2025-02-14 09:16:36 +02:00
Harminder Virk
d1cbe4c61e fix: relationships to accept ids (#11399) 2025-02-14 05:41:36 +00:00
Kasper Fabricius Kristensen
a88f6576bd feat(dashboard,admin-vite-plugin): Add support for outlet routes, loader, and handle (#11305)
**What**
- Add support for defining outlet routes using `@`, e.g. `/src/admin/routes/brands/@create/page.tsx`
- Add support for exporting a `loader` from a route file.
- Add support for exporting a `handle` from a route file.

Example usage of a loader and handle:

```tsx
// src/admin/routes/articles/[id]/page.tsx
import { Button, Container, Heading } from "@medusajs/ui";
import {
  Link,
  LoaderFunctionArgs,
  Outlet,
  UIMatch,
  useLoaderData,
} from "react-router-dom";

export async function loader({ params }: LoaderFunctionArgs) {
  const { id } = params;

  return {
    id,
  };
}

export const handle = {
  breadcrumb: (match: UIMatch<{ id: string }>) => {
    const { id } = match.params;
    return `#${id}`;
  },
};

const ProfilePage = () => {
  const { id } = useLoaderData() as Awaited<ReturnType<typeof loader>>;

  return (
    <div>
      <Container className="flex justify-between items-center">
        <Heading>Article {id}</Heading>
        <Button size="small" variant="secondary" asChild>
          <Link to="edit">Edit</Link>
        </Button>
      </Container>
      {/* This will be used for the next example of an Outlet route */}
      <Outlet />
    </div>
  );
};

export default ProfilePage;
```

In the above example we are passing data to the route from a loader, and defining a breadcrumb using the handle.

Example of a outlet route:

```tsx
// src/admin/routes/articles/[id]/@edit/page.tsx
import { Button, Container, Heading } from "@medusajs/ui";

const ProfileEditPage = () => {
  return (
    <div>
      {/* Form goes here */}
    </div>
  );
};

export default ProfileEditPage;
```
This outlet route will be rendered in the <Outlet /> in the above example when the URL is /articles/1/edit

Resolves CMRC-913, CMRC-914, CMRC-915
2025-02-13 20:37:55 +00:00
Shahed Nasser
c08e6ad5cf docs: add how to upload files in tests (#11455) 2025-02-13 19:19:52 +02:00
Shahed Nasser
1077993aaa chore: improvements to provider docs (#11451) 2025-02-13 18:11:39 +02:00
Shahed Nasser
710cdaf677 docs: fix digital products recipe by adding shipping profile to snippets (#11452) 2025-02-13 17:52:20 +02:00
Harminder Virk
1a3843a92a fix: listVariantsList types (#11441) 2025-02-13 20:53:35 +05:30
Shahed Nasser
cd2f2900e8 docs: fix link to troubleshooting (#11448) 2025-02-13 17:11:08 +02:00
Shahed Nasser
e3b93c679f chore(core-flows): update TSDocs of createProductsWorkflow (#11439)
* chore(core-flows): update TSDocs of createProductsWorkflow

* update example in js sdk
2025-02-13 15:30:56 +02:00
Shahed Nasser
b864cb4e28 docs: add missing shipping_profile_id in create product snippets (#11443)
* initial

* add link
2025-02-13 15:30:40 +02:00
Frane Polić
4e6372bfdf fix(design-system): singleton prompt (#11352)
**What**
- add a flag to disable rendering multiple prompts on a page

**Why**
- pressing "r" when a prompt is already open would stack additional prompts

---

CLOSES SUP-802

Co-authored-by: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com>
2025-02-13 09:39:52 +00:00
Kasper Fabricius Kristensen
681121bb19 fix(medusa): Fix draft order validator, and endpoint (#11398)
Resolves CMRC-925, CMRC-924
2025-02-13 08:06:11 +00:00
Frane Polić
2726bb3759 fix(payment): update payment session data (#11410)
**What**
- pass `data` from provider on update payment session 

---

CLOSES SUP-866
2025-02-13 08:04:33 +00:00
Frane Polić
bbef0da5dd fix(core-flows, types): reservation of shared inventory item (#11403)
**What**
- if a cart contains variants that share inventory items, reservation of the item would fail also causing complete cart to fail
- include `completed_at` when compensating cart update
- account for multiple reservations of the same item when creating the locking key

---

CLOSES SUP-587
2025-02-13 08:03:53 +00:00
Bradley Mwangangi
90815793df docs: Include shipping_profile_id in product creation request (#11436)
- Fixed missing `shipping_profile_id` field in product creation request, which caused "Invalid request: Field 'shipping_profile_id' is required" errors.
- Updated the request payload to include `shipping_profile_id`.
- Edited documentation to reflect this change.
2025-02-13 09:49:39 +02:00
Shahed Nasser
73d921f511 docs: add section on pagination for query context (#11432)
* docs: add section on pagination for query context

* fix lint

* merge
2025-02-13 09:28:57 +02:00
Ishrath Inaam
63229d1897 docs: fix incorrect path (#11435) 2025-02-13 09:14:27 +02:00
Shahed Nasser
b24af3ad9a docs: add section on middleware registration (#11433) 2025-02-12 19:25:29 +02:00
Shahed Nasser
49bf934da3 docs-util: fix inline code escape in generated references (#11428) 2025-02-12 19:08:37 +02:00
Martin Repta
1b6d8b9f7a docs: Fix typos in productsCreated hook (#11276) 2025-02-12 18:37:34 +02:00
Shahed Nasser
d9946e679d docs: add section on validating module options (#11427) 2025-02-12 18:25:15 +02:00
Shahed Nasser
00fa475e77 docs: fix managing relationship for hasOne (#11422) 2025-02-12 17:42:27 +02:00