@fluidframework/odsp-driver 2.50.0 → 2.51.0-347100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/contractsPublic.d.ts +17 -1
  2. package/dist/contractsPublic.d.ts.map +1 -1
  3. package/dist/contractsPublic.js +12 -1
  4. package/dist/contractsPublic.js.map +1 -1
  5. package/dist/createFile/createNewContainerOnExistingFile.d.ts +1 -1
  6. package/dist/createFile/createNewContainerOnExistingFile.d.ts.map +1 -1
  7. package/dist/createFile/createNewContainerOnExistingFile.js +11 -2
  8. package/dist/createFile/createNewContainerOnExistingFile.js.map +1 -1
  9. package/dist/createFile/createNewUtils.d.ts +3 -0
  10. package/dist/createFile/createNewUtils.d.ts.map +1 -1
  11. package/dist/createFile/createNewUtils.js +19 -8
  12. package/dist/createFile/createNewUtils.js.map +1 -1
  13. package/dist/fetchSnapshot.d.ts.map +1 -1
  14. package/dist/fetchSnapshot.js +7 -0
  15. package/dist/fetchSnapshot.js.map +1 -1
  16. package/dist/odspDelayLoadedDeltaStream.d.ts.map +1 -1
  17. package/dist/odspDelayLoadedDeltaStream.js +9 -0
  18. package/dist/odspDelayLoadedDeltaStream.js.map +1 -1
  19. package/dist/odspDocumentServiceFactoryCore.d.ts.map +1 -1
  20. package/dist/odspDocumentServiceFactoryCore.js +1 -1
  21. package/dist/odspDocumentServiceFactoryCore.js.map +1 -1
  22. package/dist/odspDriverUrlResolver.d.ts.map +1 -1
  23. package/dist/odspDriverUrlResolver.js +3 -0
  24. package/dist/odspDriverUrlResolver.js.map +1 -1
  25. package/dist/packageVersion.d.ts +1 -1
  26. package/dist/packageVersion.d.ts.map +1 -1
  27. package/dist/packageVersion.js +1 -1
  28. package/dist/packageVersion.js.map +1 -1
  29. package/lib/contractsPublic.d.ts +17 -1
  30. package/lib/contractsPublic.d.ts.map +1 -1
  31. package/lib/contractsPublic.js +11 -0
  32. package/lib/contractsPublic.js.map +1 -1
  33. package/lib/createFile/createNewContainerOnExistingFile.d.ts +1 -1
  34. package/lib/createFile/createNewContainerOnExistingFile.d.ts.map +1 -1
  35. package/lib/createFile/createNewContainerOnExistingFile.js +12 -3
  36. package/lib/createFile/createNewContainerOnExistingFile.js.map +1 -1
  37. package/lib/createFile/createNewUtils.d.ts +3 -0
  38. package/lib/createFile/createNewUtils.d.ts.map +1 -1
  39. package/lib/createFile/createNewUtils.js +19 -8
  40. package/lib/createFile/createNewUtils.js.map +1 -1
  41. package/lib/fetchSnapshot.d.ts.map +1 -1
  42. package/lib/fetchSnapshot.js +7 -0
  43. package/lib/fetchSnapshot.js.map +1 -1
  44. package/lib/odspDelayLoadedDeltaStream.d.ts.map +1 -1
  45. package/lib/odspDelayLoadedDeltaStream.js +9 -0
  46. package/lib/odspDelayLoadedDeltaStream.js.map +1 -1
  47. package/lib/odspDocumentServiceFactoryCore.d.ts.map +1 -1
  48. package/lib/odspDocumentServiceFactoryCore.js +1 -1
  49. package/lib/odspDocumentServiceFactoryCore.js.map +1 -1
  50. package/lib/odspDriverUrlResolver.d.ts.map +1 -1
  51. package/lib/odspDriverUrlResolver.js +4 -1
  52. package/lib/odspDriverUrlResolver.js.map +1 -1
  53. package/lib/packageVersion.d.ts +1 -1
  54. package/lib/packageVersion.d.ts.map +1 -1
  55. package/lib/packageVersion.js +1 -1
  56. package/lib/packageVersion.js.map +1 -1
  57. package/package.json +13 -14
  58. package/src/contractsPublic.ts +19 -1
  59. package/src/createFile/createNewContainerOnExistingFile.ts +13 -2
  60. package/src/createFile/createNewUtils.ts +20 -8
  61. package/src/fetchSnapshot.ts +8 -1
  62. package/src/odspDelayLoadedDeltaStream.ts +10 -0
  63. package/src/odspDocumentServiceFactoryCore.ts +1 -0
  64. package/src/odspDriverUrlResolver.ts +4 -1
  65. package/src/packageVersion.ts +1 -1
@@ -42,6 +42,7 @@ import {
42
42
  IVersionedValueWithEpoch,
43
43
  persistedCacheValueVersion,
44
44
  } from "./contracts.js";
45
+ import { ClpCompliantAppHeader } from "./contractsPublic.js";
45
46
  import { EpochTracker } from "./epochTracker.js";
46
47
  import { getQueryString } from "./getQueryString.js";
47
48
  import { getHeadersWithAuth } from "./getUrlAndHeadersWithAuth.js";
@@ -739,9 +740,15 @@ export const downloadSnapshot = mockify(
739
740
  // This error thrown by server will contain the new redirect location. Look at the 404 error parsing
740
741
  // for further reference here: \packages\utils\odsp-doclib-utils\src\odspErrorUtils.ts
741
742
  // If the share link is non-durable, we will add the nonDurableRedeem header to the header.prefer.
742
- const header = isRedemptionNonDurable
743
+ const header: { [key: string]: string } = isRedemptionNonDurable
743
744
  ? { prefer: "manualredirect, nonDurableRedeem" }
744
745
  : { prefer: "manualredirect" };
746
+ // Epoch tracker is handling adding the CLP Compliant App header, so only when a flow does not
747
+ // use epoch tracker, we add the header.
748
+ if (epochTracker === undefined && odspResolvedUrl.isClpCompliantApp !== undefined) {
749
+ header[ClpCompliantAppHeader.isClpCompliantApp] =
750
+ odspResolvedUrl.isClpCompliantApp.toString();
751
+ }
745
752
  const authHeader = await getAuthHeader(
746
753
  { ...tokenFetchOptions, request: { url, method } },
747
754
  "downloadSnapshot",
@@ -155,6 +155,16 @@ export class OdspDelayLoadedDeltaStream {
155
155
  throw this.annotateConnectionError(error, step, !requestWebsocketTokenFromJoinSession);
156
156
  };
157
157
 
158
+ // Log telemetry for join session attempt
159
+ if (this.firstConnectionAttempt) {
160
+ this.mc.logger.sendTelemetryEvent({
161
+ eventName: "FirstJoinSessionAttemptDetails",
162
+ details: {
163
+ requestWebsocketToken: requestWebsocketTokenFromJoinSession,
164
+ },
165
+ });
166
+ }
167
+
158
168
  const joinSessionPromise = this.joinSession(
159
169
  requestWebsocketTokenFromJoinSession,
160
170
  options,
@@ -199,6 +199,7 @@ export class OdspDocumentServiceFactoryCore
199
199
  this.hostPolicy.cacheCreateNewSummary ?? true,
200
200
  !!this.hostPolicy.sessionOptions?.forceAccessTokenViaAuthorizationHeader,
201
201
  odspResolvedUrl.isClpCompliantApp,
202
+ odspResolvedUrl.fileMetadata?.eTag,
202
203
  );
203
204
  });
204
205
  const docService = this.createDocumentServiceCore(
@@ -17,7 +17,7 @@ import {
17
17
  OdspErrorTypes,
18
18
  } from "@fluidframework/odsp-driver-definitions/internal";
19
19
 
20
- import { ClpCompliantAppHeader } from "./contractsPublic.js";
20
+ import { ClpCompliantAppHeader, FileMetadataHeader } from "./contractsPublic.js";
21
21
  import { createOdspUrl } from "./createOdspUrl.js";
22
22
  import { getHashedDocumentId } from "./odspPublicUtils.js";
23
23
  import { getApiRoot } from "./odspUrlHelper.js";
@@ -180,6 +180,9 @@ export class OdspDriverUrlResolver implements IUrlResolver {
180
180
  },
181
181
  fileVersion,
182
182
  isClpCompliantApp: request.headers?.[ClpCompliantAppHeader.isClpCompliantApp],
183
+ fileMetadata: {
184
+ eTag: request.headers?.[FileMetadataHeader.eTag],
185
+ },
183
186
  };
184
187
  }
185
188
 
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/odsp-driver";
9
- export const pkgVersion = "2.50.0";
9
+ export const pkgVersion = "2.51.0-347100";