Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ed9891577f |
No files matched your search
@@ -295,36 +295,3 @@ desviaciones reales respecto al diseño de §4/§5 de este ADR:
|
|||||||
Ninguna de las tres cambia la decisión ni sus consecuencias — cambian
|
Ninguna de las tres cambia la decisión ni sus consecuencias — cambian
|
||||||
el cómo, no el qué. Plan de implementación completo, fase por fase,
|
el cómo, no el qué. Plan de implementación completo, fase por fase,
|
||||||
en la sesión que aprobó esta Etapa 2 (2026-08-26).
|
en la sesión que aprobó esta Etapa 2 (2026-08-26).
|
||||||
|
|
||||||
## Nota de implementación 2 (2026-08-26, gate en vivo de Fase 2)
|
|
||||||
|
|
||||||
Dos bugs reales encontrados y corregidos durante el gate de
|
|
||||||
verificación en vivo (crear/editar productos, categoría y colección
|
|
||||||
reales y confirmar que llegan a Meilisearch), ambos con la misma causa
|
|
||||||
raíz: `variants.calculated_price` de Medusa exige `region_id` **y**
|
|
||||||
`currency_code` resueltos en el contexto de pricing de la consulta, y
|
|
||||||
ninguno de los dos caminos nuevos de este ADR pasa por el middleware
|
|
||||||
nativo (`setPricingContext`) que se lo da gratis a `/store/products`:
|
|
||||||
|
|
||||||
1. El job de sync inicial del plugin (`sync-products.js`, corre una
|
|
||||||
vez al boot) hacía fallar el indexado de **todos** los productos
|
|
||||||
con `Method calculatePrices requires currency_code in the pricing
|
|
||||||
context` — las categorías sí indexaban bien (no llevan precio).
|
|
||||||
Arreglado indexando el precio crudo (`variants.prices`, sin
|
|
||||||
resolver promociones/reglas) en vez de `calculated_price` — alcanza
|
|
||||||
para el filtro/orden por precio de la búsqueda.
|
|
||||||
2. La ruta propia `/store/search` pegaba el mismo error al re-hidratar
|
|
||||||
productos vía `query.graph`. Pasar `region_id` solo no alcanzó;
|
|
||||||
hubo que resolver el `currency_code` real de la región con una
|
|
||||||
consulta adicional antes de armar el `QueryContext`.
|
|
||||||
|
|
||||||
Confirmado en vivo, con el fix aplicado: búsqueda por texto, facetas
|
|
||||||
sobre las 27 unidades del catálogo real, y precio calculado correcto
|
|
||||||
(`calculated_amount`/`currency_code`) en la respuesta de
|
|
||||||
`/store/search`. También confirmado en vivo que los tres eventos que
|
|
||||||
el ADR original marcaba como "verificar, no asumir" — `product.*`,
|
|
||||||
`product-category.*` y **`product-collection.updated`** (el que tenía
|
|
||||||
un reporte público de no disparar siempre) — sí sincronizan de forma
|
|
||||||
confiable en esta combinación exacta (Medusa 2.18.0 + plugin 1.4.1),
|
|
||||||
propagando un rename de categoría/colección al documento indexado en
|
|
||||||
menos de 10 segundos.
|
|
||||||
@@ -65,7 +65,7 @@ spec:
|
|||||||
memory: 64Mi
|
memory: 64Mi
|
||||||
|
|
||||||
- name: migrations
|
- name: migrations
|
||||||
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.167
|
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.168
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- node
|
- node
|
||||||
@@ -86,7 +86,7 @@ spec:
|
|||||||
|
|
||||||
containers:
|
containers:
|
||||||
- name: app
|
- name: app
|
||||||
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.167
|
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.168
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
|
|||||||
Reference in new issue
Block a user