refreshGraphQL doesn't trigger refresh in Local Dev

オープン
#197 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
graphql, typescript
領域
devtools

調査の方向性

Start by running the attached minReproduce.zip in Local Dev and tracing the lightning/uiGraphQLApi refreshGraphQL entry point; compare the network response with the component's wire update. Done means refreshGraphQL causes the component's wire data and rendered API data to reflect the changed record.

索引モデルが issue の本文から書いたものです。

説明

Summary

I've done my best to give you relevant info, but you might need me to grab more details from Devtools or whatever...

In the context of Local Dev, when using GraphQL with the lightning/uiGraphQLApi Wire adapter, a call to refreshGraphQL doesn't update the wire data on the component.

Deploying source to org and using the LWC without Local Dev, we get the expected result: re-query occurs and UI is re-rendered with fresh data.

Steps To Reproduce:
  1. Create a LWC importing {gql, graphql, refreshGraphQL} from "lightning/uiGraphQLApi" and making an API query
  2. store 'result' in graphQLqueryResult
  3. render API data in some way along with a button
  4. create a method 'refresh' which returns refreshGraphQL(this.graphQLqueryResult) and append to button
  5. adjust API data on the record. Hit refresh button.
Expected Result

Record data now reflects the change in the updated API wire property

Actual Result

API call is being made (can see it in Network tab) and is returning correct data, but it isn't making its way into the component API wire response.

Additional Information

I struggled to make a minimum reproducible example because when attaching it to a Lightning layout (in this instance, an Account record layout, with an API call against that same record) there was all sorts of funky cache issues going on in Local Dev, but I managed to get the issue to manifest before the page reaches for the cache.

Screenshots:

InitialNetworkCall
initialWireProps
refreshNetworkCall
refreshWireProps

Logs:

System Information

SF CLI:

{
  "architecture": "darwin-arm64",
  "cliVersion": "@salesforce/cli/2.60.13",
  "nodeVersion": "node-v20.16.0",
  "osVersion": "Darwin 24.0.0",
  "rootPath": "/Users/alan/.nvm/versions/node/v20.16.0/lib/node_modules/@salesforce/cli",
  "shell": "zsh",
  "pluginVersions": [
    "@oclif/plugin-autocomplete 3.2.4 (core)",
    "@oclif/plugin-commands 4.0.15 (core)",
    "@oclif/plugin-help 6.2.12 (core)",
    "@oclif/plugin-not-found 3.2.21 (core)",
    "@oclif/plugin-plugins 5.4.9 (core)",
    "@oclif/plugin-search 1.2.9 (core)",
    "@oclif/plugin-update 4.5.9 (core)",
    "@oclif/plugin-version 2.2.13 (core)",
    "@oclif/plugin-warn-if-update-available 3.1.17 (core)",
    "@oclif/plugin-which 3.2.14 (core)",
    "@salesforce/cli 2.60.13 (core)",
    "apex 3.4.10 (core)",
    "api 1.2.2 (core)",
    "auth 3.6.62 (core)",
    "data 3.6.7 (core)",
    "deploy-retrieve 3.12.11 (core)",
    "info 3.4.9 (core)",
    "lightning-dev 1.3.0 (user) published 18 days ago (Sat Sep 21 2024) (latest is 1.8.0)",
    "limits 3.3.32 (core)",
    "marketplace 1.2.26 (core)",
    "org 4.5.10 (core)",
    "packaging 2.8.11 (user) published 3 days ago (Sat Oct 05 2024)",
    "schema 3.3.32 (core)",
    "settings 2.3.21 (core)",
    "signups 2.3.10 (user) published 121 days ago (Sun Jun 09 2024) (latest is 2.5.21)",
    "sobject 1.4.38 (core)",
    "source 3.5.21 (core)",
    "telemetry 3.6.15 (core)",
    "templates 56.3.21 (core)",
    "trust 3.7.31 (core)",
    "user 3.5.31 (core)",
    "@salesforce/sfdx-scanner 4.4.0 (user) published 70 days ago (Wed Jul 31 2024) (latest is 4.6.0)",
    "sfdmu 4.36.3 (user) published 19 days ago (Fri Sep 20 2024)",
    "sfdx-essentials 2.12.0 (user) published 1029 days ago (Wed Dec 15 2021)",
    "sfdx-git-delta 5.46.0 (user) published 7 days ago (Wed Oct 02 2024) (latest is 5.47.0)",
    "sfdx-hardis 5.0.10 (user) published 5 days ago (Fri Oct 04 2024)",
    "texei-sfdx-plugin 2.7.0 (user) published 28 days ago (Wed Sep 11 2024)"
  ]
}

OS:
MacOS 15.0.1

minReproduce.zip

主要言語
TypeScript
スター
19
フォーク
19
平均マージ
3日 12時間
マージ済み PR(30日)
2

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

salesforcecli/plugin-lightning-dev のほかの issue

salesforcecli/plugin-lightning-dev の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。