message: Match cache with the proposed handle
diff: @@ -62,6 +62,8 @@ export class OdspDocumentStorageManager implements IDocumentStorageManager {
  private readonly queryString: string;
  private lastSummaryHandle: string | undefined;
  + // Last proposed handle of the uploaded app summary.
  + private blobsShaProposalHandle: string | undefined;
  private readonly appId: string;
  private _ops: ISequencedDeltaOpMessage[] | undefined;
  @@ -433,6 +435,12 @@ export class OdspDocumentStorageManager implements IDocumentStorageManager {
  public async uploadSummaryWithContext(summary: api.ISummaryTree, context: ISummaryContext): Promise<string> {
  this.checkSnapshotUrl();
  + // If the last proposed handle is not the proposed handle of the acked summary, clear the cache as the last summary
  + // could have got nacked.
  + if (context.proposalHandle !== this.blobsShaProposalHandle) {
  + this.blobsShaToPathCache.clear();
  + }
  +
  this.lastSummaryHandle = `${context.ackHandle}/.app`;
  const { result, blobsShaToPathCacheLatest } = await this.writeSummaryTree({
  useContext: true,
  @@ -444,6 +452,7 @@ export class OdspDocumentStorageManager implements IDocumentStorageManager {
  }
  if (blobsShaToPathCacheLatest) {
  this.blobsShaToPathCache = blobsShaToPathCacheLatest;
  + this.blobsShaProposalHandle = result.sha;
  }
  return result.sha;
  