refreshGraphQL doesn't trigger refresh in Local Dev

Open
#197 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
graphql, typescript
Domain
devtools

Research direction

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.

Written by the indexing model from the issue text.

Description

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

Dominant language
TypeScript
Stars
19
Forks
19
Avg merge
3d 12h
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from salesforcecli/plugin-lightning-dev

All issues in salesforcecli/plugin-lightning-dev

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.