View Issue Details

IDProjectCategoryView StatusLast Update
0010096Talermerchant portal webuipublic2025-08-31 17:10
ReporterFlorian Dold Assigned ToFlorian Dold Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Target Version1.0 stretch goalsFixed in Version1.0 stretch goals 
Summary0010096: merchant SPA should load /config with Cache-Control: no-cache when logged out
DescriptionOtherwise changing settings in the merchant backend config won't take effect until the cache expires.

Always fetching the configuration with caching disabled when currently not logged in is a good compromise, since it allows immediately applying config changes, but still minimizes network requests when logged in.

Even force-reloading won't help here, as /config is fetched via JavaScript.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

sebasjm

2025-06-16 12:30

developer   ~0025256

I don't think this is a good solution since it will make all request to `/config` skip the cache.

The SPA right know only does 1 query to /config on app start-up to make sure that the APP is working with a the right server version and saves the info on memory, there is no other request to /config. If the SPA is making more than one request to /config (without refresh), then is a app bug.

I may be able to use `PerformanceNavigationTiming` to differentiate navigation between refresh this may be a overcomplication.

why do we have here a server cache directive? /config is cheap and not too big, and from the SPA it should always be up-to-date.

My suggestion is to drop the cache directive. For this an all the /config (exchange, challenger, bank)

sebasjm

2025-06-16 12:46

developer   ~0025257

To add more, the size of index.js file is 2Mb and doesn't have a cache directive. The /config is only 1k

The definitive solution will be to embed the /config response on the index.js file so the SPA doesn't have the need to do the request at all.

And rename all the html resources (css, js, font) to have the hash of the content on the resource name so the browser only need to fetch the index.html ( less than 4kb ) to get the up-to-date app or load it from cache if nothing changed.

sebasjm

2025-06-16 20:15

developer   ~0025260

The ceo says it `sounds reasonable`

Issue History

Date ModifiedUsernameFieldChange
2025-06-12 10:13Florian DoldNew Issue
2025-06-12 10:29Christian GrothoffStatusnew => implementing
2025-06-12 10:29Christian GrothoffTarget Version1.1 => 1.0 stretch goals
2025-06-14 19:17Christian GrothoffAssigned To => sebasjm
2025-06-14 19:17Christian GrothoffStatusimplementing => assigned
2025-06-16 12:30sebasjmNote Added: 0025256
2025-06-16 12:30sebasjmAssigned Tosebasjm => Florian Dold
2025-06-16 12:30sebasjmStatusassigned => feedback
2025-06-16 12:46sebasjmNote Added: 0025257
2025-06-16 20:15sebasjmStatusfeedback => informing
2025-06-16 20:15sebasjmResolutionopen => fixed
2025-06-16 20:15sebasjmNote Added: 0025260
2025-08-31 17:09Christian GrothoffStatusinforming => closed
2025-08-31 17:10Christian GrothoffFixed in Version => 1.0 stretch goals
2026-08-23 14:18Florian DoldCategorymerchant backoffice SPA => merchant portal webui