Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4afc63bdc6 | ||
|
|
41c7ad25e7 | ||
|
|
f2377be69c |
No files matched your search
@@ -295,3 +295,36 @@ 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.166
|
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.167
|
||||||
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.166
|
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.167
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
|
|||||||
Reference in new issue
Block a user