Skip to content

Mi search-resolver no es utilizado en el renderizado SSR en la página de resultados #574

Description

@ramiroduarte

Hola buenas, ¿qué tal?

Estoy desarrollando un search-resolver personalizado para integrar un motor de búsqueda externo en una tienda VTEX IO. Mi implementación está basada en los siguientes recursos:

Actualmente funciona correctamente en estos casos:

  • Carruseles de productos.
  • Sugerencias de productos del autocomplete.

El problema ocurre al confirmar una búsqueda presionando ENTER. La navegación llega correctamente a la página de resultados (PLP), pero el renderizado inicial no utiliza mi search-resolver. Los productos mostrados corresponden a VTEX Intelligent Search.

Luego de revisar las solicitudes y los logs, observamos una diferencia según el contexto de ejecución:

  • En las consultas ejecutadas desde el cliente, la request incluye mi workspace y productSearch es resuelta por mi app.
  • En el renderizado inicial SSR de la PLP, asociado a __pickRuntime=queryData, la solicitud aparentemente no propaga el workspace.
  • Como consecuencia, la query parece resolverse en otro contexto y termina utilizando la implementación nativa de Intelligent Search.

En otras palabras:

  • Client-side request

    • mi workspace
    • custom search-resolver
    • external search engine
  • Initial SSR request

    • workspace ausente o no propagado
    • default resolver
    • VTEX Intelligent Search

Ya realizamos las siguientes pruebas:

  1. Desinstalamos las apps que consideramos que podían generar un conflicto con el resolver.
  2. Verificamos que exista un único search-resolver en el workspace.
  3. Probamos la integración en otra tienda con una configuración compuesta únicamente por apps nativas.
  4. Confirmamos mediante logs que las consultas del autocomplete llegan a nuestra app.
  5. Confirmamos que la consulta del renderizado inicial de la PLP no llega a nuestra app.

Apps instaladas:

% vtex list                              
Edition Apps in qacoolboxpe at workspace buscador
vtex.admin                              4.66.0 
vtex.admin-account-details              1.1.5  
vtex.admin-api-keys                     1.2.0  
vtex.admin-apps                         4.7.0  
vtex.admin-audit                        2.29.8 
vtex.admin-binding                      0.28.2 
vtex.admin-catalog-facelift             0.4.0  
vtex.admin-cms                          1.35.5 
vtex.admin-cms-graphql-rc               1.43.0 
vtex.admin-collections                  0.169.4
vtex.admin-coupons                      0.14.1 
vtex.admin-defense-mode                 0.5.0  
vtex.admin-docs                         0.13.0 
vtex.admin-home                         3.10.3 
vtex.admin-inventory                    0.53.13
vtex.admin-login                        1.33.1 
vtex.admin-logistics                    1.45.3 
vtex.admin-master-data-usage            1.0.2  
vtex.admin-offer-quality                0.7.1  
vtex.admin-offer-status                 0.8.0  
vtex.admin-orders                       0.193.3
vtex.admin-pages                        4.59.2 
vtex.admin-payment-affiliations         1.10.3 
vtex.admin-pickup-points                2.15.1 
vtex.admin-planner                      0.1.2  
vtex.admin-pricing-settings             1.8.0  
vtex.admin-promotions                   2.2.0  
vtex.admin-promotions-storage-manager   0.4.3  
vtex.admin-sales-performance            1.5.3  
vtex.admin-sellers                      1.8.1  
vtex.admin-sku-binding                  0.7.0  
vtex.admin-sponsor                      1.3.1  
vtex.admin-suggestions                  2.42.0 
vtex.admin-user-roles                   0.35.2 
vtex.admin-users-v2                     1.0.2  
vtex.admin-v4-docs                      0.2.0  
vtex.admin-vendor-invite                0.15.1 
vtex.admin-wallet-hub                   0.4.1  
vtex.agentic-cx                         3.0.4  
vtex.app-install-monitor                0.1.1  
vtex.asset-server                       0.19.5 
vtex.auth-admin                         3.70.0 
vtex.auth-server                        0.18.0 
vtex.billing                            0.25.0 
vtex.broadcaster                        0.9.0  
vtex.builder-hub                        0.320.0
vtex.cartman                            0.4.0  
vtex.checkout                           0.6.0  
vtex.checkout-session                   0.5.0  
vtex.client-admin-settings              0.15.2 
vtex.colossus-legacy-proxy              2.7.0  
vtex.developer-docs-integration         0.5.6  
vtex.dotnet-messenger-sender            0.1.7  
vtex.evolution-manager-graphql          0.15.3 
vtex.file-manager                       0.12.4 
vtex.frontend-metrics-gateway           0.7.0  
vtex.fulfillment-locations-app          0.1.2  
vtex.google-pay                         1.2.12 
vtex.invoice-notifier                   0.8.2  
vtex.lgpd-service                       0.0.49 
vtex.marketplace-network                0.34.1 
vtex.messages-templates                 0.11.0 
vtex.messenger-core                     0.1.9  
vtex.mkp-category-mapper-ui             1.24.0 
vtex.my-account                         1.30.1 
vtex.my-authentication                  1.9.0  
vtex.my-orders-packages                 0.5.0  
vtex.myuser-io                          2.21.1 
vtex.notification-generator             0.7.0  
vtex.omnishipping                       1.21.7 
vtex.order-auth                         1.10.0 
vtex.orders-broadcast                   0.3.3  
vtex.pix-payment                        0.13.4 
vtex.promotions-simulator               0.4.2  
vtex.received-offers                    0.4.0  
vtex.request-capture                    2.3.0  
vtex.reverse-registry                   0.6.14 
vtex.rewriter                           1.69.3 
vtex.sales-performance-graphql          0.8.2  
vtex.seller-provisioner                 0.2.1  
vtex.seller-welcome                     0.4.1  
vtex.shipping-preview                   0.15.0 
vtex.si-survey-admin                    0.10.0 
vtex.sms-messenger-sender               0.1.0  
vtex.smtp-messenger-sender              0.1.0  
vtex.sno                                0.0.3  
vtex.sse-server                         0.3.3  
vtex.store                              2.147.2
vtex.store-sitemap                      1.11.1 
vtex.support-center                     1.4.0  
vtex.toolbelt-telemetry                 0.1.3  
vtex.transform-handlebars-email         0.1.12 
vtex.transform-handlebars-sms           0.1.4  
vtex.transform-render-email             0.1.7  
vtex.transform-render-sms               0.1.7  
vtex.workspace-analytics                0.2.0  

Installed Apps in qacoolboxpe at workspace buscador
acalderom.payme-flex                     2.1.3  
braindw.braindw-io                       0.14.26
fpaypartnercl.fpay                       0.1.0  
mercadopago.mercadopago-app              2.17.0 
pagoefectivope.pagoefectivoapp           2.0.1  
pagoefectivope.pagoefectivov2            0.1.0  
powerpaypartnerpe.powerpay               0.1.0  
qacoolboxpe.checkout                     1.3.14 
qacoolboxpe.keep-alive-example           0.0.1  
qacoolboxpe.service-account              2.0.4  
qacoolboxpe.service-catalogo             1.1.1  
qacoolboxpe.service-data                 1.0.3  
qacoolboxpe.service-utils                2.0.4  
qacoolboxpe.store-account                2.0.10 
qacoolboxpe.store-comparator             1.1.10 
qacoolboxpe.store-components             0.0.38 
qacoolboxpe.store-coolcase               1.0.5  
qacoolboxpe.store-form                   1.0.9  
qacoolboxpe.store-logistic               0.0.20 
qacoolboxpe.store-menu                   0.0.6  
qacoolboxpe.store-theme                  0.0.46 
synerisepartnerar.synerise-integration   1.6.38 
vtex.ab-tester                           0.27.5 
vtex.admin-channels                      5.38.2 
vtex.admin-graphql-ide                   3.9.0  
vtex.admin-search                        1.95.0 
vtex.critical-css-extractor              0.7.1  
vtex.facebook-fbe                        1.14.3 
vtex.file-manager-graphql                0.7.7  
vtex.graphql-server                      1.77.1 
vtex.messages                            1.72.0 
vtex.oct8ne                              3.3.53 
vtex.orders-graphql                      0.119.2
vtex.render-server                       8.180.1
vtex.reviews-and-ratings                 3.20.1 
vtex.routes-bootstrap                    0.6.1  
vtex.store-graphql                       2.177.3
vtex.store-locator                       0.10.15
vtex.wish-list                           1.19.1 
vtexarg.abtester                         1.0.15 
vtexventures.personal-shopper-free       0.14.2 
wepay4u.wepay4u                          0.1.0  
woowup.woowup                            5.5.0  

Linked Apps in qacoolboxpe at workspace buscador
qacoolboxpe.search-resolver   1.104.0

Comportamiento esperado:
La query productSearch utilizada durante el renderizado inicial SSR de la PLP debería resolverse mediante el search-resolver instalado en el workspace, igual que las consultas realizadas desde el cliente.
Comportamiento actual:
La consulta inicial de la PLP parece ejecutarse fuera del contexto del workspace y termina utilizando el resolver nativo de Intelligent Search.

¿Existe alguna configuración adicional para hacer que el renderizado SSR de search-result utilice el resolver instalado en el workspace?

Muchas gracias!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions