Skip to content

Avoid stale address status from trimmed cache key - #49

Open
endereco-alex wants to merge 1 commit into
Endereco:stagingfrom
endereco-alex:fix/DEV-718
Open

Avoid stale address status from trimmed cache key#49
endereco-alex wants to merge 1 commit into
Endereco:stagingfrom
endereco-alex:fix/DEV-718

Conversation

@endereco-alex

Copy link
Copy Markdown
Contributor

generateAddressCacheKey() trimmed every address field before building the cache key, while getAddressMeta() sends the raw, untrimmed values to the API. Whenever the only difference between the user's input and the auto-corrected prediction was leading/trailing whitespace, both requests produced the same cache key.

The automatic-correction flow in processAddressCheck() relies on a second getAddressMeta() call to revalidate the corrected address, but that call hit the stale cache entry instead of the API, so "address_needs_correction" was kept alongside "address_selected_automatically" - a contradictory pair for ams_status.

Fix: stop trimming values in generateAddressCacheKey() so the cache key matches exactly what is sent to the API. Addresses that differ only by whitespace now get distinct cache entries, so the post-correction revalidation always triggers a real API request and returns the correct, final status.

generateAddressCacheKey() trimmed every address field before
building the cache key, while getAddressMeta() sends the raw,
untrimmed values to the API. Whenever the only difference
between the user's input and the auto-corrected prediction was
leading/trailing whitespace, both requests produced the same cache key.

The automatic-correction flow in processAddressCheck() relies
on a second getAddressMeta() call to revalidate the corrected
address, but that call hit the stale cache entry instead of the
API, so "address_needs_correction" was kept alongside
"address_selected_automatically" - a contradictory pair for ams_status.

Fix: stop trimming values in generateAddressCacheKey() so the
cache key matches exactly what is sent to the API. Addresses
that differ only by whitespace now get distinct cache entries,
so the post-correction revalidation always triggers a real API
request and returns the correct, final status.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant