Skip to content

Excel unnecessarily caches custom function metadata JSON, not respecting cache-control header sent by the server #2777

Open
@wh1t3cAt1k

Description

@wh1t3cAt1k

I feel like we need to ask it here because we really look bad in front of our customers every time we update the add-in code to a new version.

Our add-in is distributed through AppSource.

We would like to get to the bottom of how exactly add-in assets are:

  • Cached by the host - do they respect the Cache-Control headers sent by our server? If not, why not?.. Are there any additional pitfalls?
  • How the update process works when a new version is available in the store?

I was not able to find this in open documentation, but this now seems a crucial piece of knowledge given the severity of the problems we're seeing.

The flow we have been using over the last couple of years was like this:

  • If just the JS / custom function metadata JSON were changed, we deliver the update directly to our production server where the add-in is served from.
  • If manifest was changed in any way, we resubmit the manifest through the partner centre.

This flow, historically, worked out pretty well for us so that we didn't need to go through lengthy re-review process every time we delivered a hotfix to our code.

Frankly, it makes sense to expect it to work because our server sends "must-revalidate" headers with all JS/HTML/JSON assets and we assumed Excel would respect them.

Lately, however, (in the past few months) we have started experiencing crazy issues every time we pushed out a new version of add-in to production without resubmitting the manifest.

  • Infinite update loops in Excel Online, where one would see a prompt like "A newer version of the add-in is available" - one would click "Update" and nothing would happen (the add-in then becomes completely unusable because of repeated prompts popping up, unless removed and reinstalled from the office store)
  • "Integrity check" errors - see Is this an error on the Office.js side? #2773 , I am quite certain it comes from Office.js or some other infrastructure layer (could it be the code responsible for asset caching on Excel for Mac? Could you please ping the relevant guys from there?)
  • Even crashes, sometimes: 🔥🐛 Crash on the attached file in Excel for Windows Desktop #2776

I have a gut feeling that all those are linked to the fact that the flow we're using has some hidden pitfalls and we would like to understand what they are, and why.

We definitely would like to avoid the process of having to maintain several parallel versions of assets and go through store resubmission on every small change we make, but if this is unavoidable, I want to at least confirm this.

Velixo internal tracking item

Metadata

Metadata

Labels

Area: ExcelIssue related to Excel add-insArea: custom functionsIssue related to the Excel custom functions featureNeeds: attention 👋Waiting on Microsoft to provide feedbackType: product questionQuestion about the Office Add-ins platform or Office JavaScript APIs

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions