@adobe/alloy 2.31.0 → 2.31.1-beta.1

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.
@@ -44,6 +44,14 @@ var _default = ({
44
44
  event,
45
45
  advertising = {}
46
46
  }) => {
47
+ const {
48
+ state
49
+ } = consent.current();
50
+ if (state !== "in") {
51
+ // Consent not yet granted — skip advertising ID resolution
52
+ // but don't block the sendEvent call.
53
+ return;
54
+ }
47
55
  return (0, _onBeforeSendEventHandler.default)({
48
56
  cookieManager,
49
57
  logger,
@@ -68,7 +68,7 @@ var _default = () => {
68
68
 
69
69
  /**
70
70
  * Parse SSE stream using callbacks.
71
- * Uses modern async iteration (for await...of) for clean, performant stream processing.
71
+ * Uses ReadableStreamDefaultReader for cross-browser compatibility (Safari 11+, Firefox, Chrome).
72
72
  *
73
73
  * @param {ReadableStream} stream - The readable stream from fetch response
74
74
  * @param {Object} callbacks - Callback functions for stream events
@@ -81,11 +81,20 @@ var _default = () => {
81
81
  onPing,
82
82
  onComplete
83
83
  }) => {
84
+ const reader = stream.getReader();
84
85
  const decoder = new TextDecoder(ENCODING);
85
86
  let buffer = "";
86
87
  try {
87
- for await (const chunk of stream) {
88
- buffer += decoder.decode(chunk, {
88
+ while (true) {
89
+ // eslint-disable-next-line no-await-in-loop
90
+ const {
91
+ done,
92
+ value
93
+ } = await reader.read();
94
+ if (done) {
95
+ break;
96
+ }
97
+ buffer += decoder.decode(value, {
89
98
  stream: true
90
99
  });
91
100
  const events = buffer.split(EVENT_SEPARATOR_REGEX);
@@ -125,6 +134,8 @@ var _default = () => {
125
134
  error
126
135
  });
127
136
  onComplete();
137
+ } finally {
138
+ reader.releaseLock();
128
139
  }
129
140
  };
130
141
  };
@@ -35,7 +35,7 @@ var _default = ({
35
35
  timedOut = true;
36
36
  onStreamResponseCallback({
37
37
  error: {
38
- message: "Stream timeout: No data received within 10 seconds"
38
+ message: "Stream timeout: No data received within " + streamTimeout / 1000 + " seconds"
39
39
  }
40
40
  });
41
41
  }, streamTimeout);
@@ -14,4 +14,4 @@ governing permissions and limitations under the License.
14
14
  */
15
15
  // The __VERSION__ keyword will be replace at alloy build time with the package.json version.
16
16
  // see babel-plugin-version
17
- var _default = exports.default = "2.31.0";
17
+ var _default = exports.default = "2.31.1-beta.1";
@@ -42,6 +42,14 @@ export default ({
42
42
  event,
43
43
  advertising = {}
44
44
  }) => {
45
+ const {
46
+ state
47
+ } = consent.current();
48
+ if (state !== "in") {
49
+ // Consent not yet granted — skip advertising ID resolution
50
+ // but don't block the sendEvent call.
51
+ return;
52
+ }
45
53
  return handleOnBeforeSendEvent({
46
54
  cookieManager,
47
55
  logger,
@@ -65,7 +65,7 @@ export default () => {
65
65
 
66
66
  /**
67
67
  * Parse SSE stream using callbacks.
68
- * Uses modern async iteration (for await...of) for clean, performant stream processing.
68
+ * Uses ReadableStreamDefaultReader for cross-browser compatibility (Safari 11+, Firefox, Chrome).
69
69
  *
70
70
  * @param {ReadableStream} stream - The readable stream from fetch response
71
71
  * @param {Object} callbacks - Callback functions for stream events
@@ -78,11 +78,20 @@ export default () => {
78
78
  onPing,
79
79
  onComplete
80
80
  }) => {
81
+ const reader = stream.getReader();
81
82
  const decoder = new TextDecoder(ENCODING);
82
83
  let buffer = "";
83
84
  try {
84
- for await (const chunk of stream) {
85
- buffer += decoder.decode(chunk, {
85
+ while (true) {
86
+ // eslint-disable-next-line no-await-in-loop
87
+ const {
88
+ done,
89
+ value
90
+ } = await reader.read();
91
+ if (done) {
92
+ break;
93
+ }
94
+ buffer += decoder.decode(value, {
86
95
  stream: true
87
96
  });
88
97
  const events = buffer.split(EVENT_SEPARATOR_REGEX);
@@ -122,6 +131,8 @@ export default () => {
122
131
  error
123
132
  });
124
133
  onComplete();
134
+ } finally {
135
+ reader.releaseLock();
125
136
  }
126
137
  };
127
138
  };
@@ -33,7 +33,7 @@ export default ({
33
33
  timedOut = true;
34
34
  onStreamResponseCallback({
35
35
  error: {
36
- message: "Stream timeout: No data received within 10 seconds"
36
+ message: `Stream timeout: No data received within ${streamTimeout / 1000} seconds`
37
37
  }
38
38
  });
39
39
  }, streamTimeout);
@@ -13,4 +13,4 @@ governing permissions and limitations under the License.
13
13
  // The __VERSION__ keyword will be replace at alloy build time with the package.json version.
14
14
  // see babel-plugin-version
15
15
 
16
- export default "2.31.0";
16
+ export default "2.31.1-beta.1";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/alloy",
3
- "version": "2.31.0",
3
+ "version": "2.31.1-beta.1",
4
4
  "description": "Adobe Experience Platform Web SDK",
5
5
  "type": "module",
6
6
  "main": "libEs5/index.js",
@@ -1 +1 @@
1
- {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../../../packages/core/src/components/Advertising/createComponent.js"],"names":[],"mappings":"AAee;;;;;;;;;;;;;;;;EAwCd"}
1
+ {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../../../packages/core/src/components/Advertising/createComponent.js"],"names":[],"mappings":"AAee;;;;;;;;;;;;;;;;EA8Cd"}
@@ -1 +1 @@
1
- {"version":3,"file":"createStreamParser.d.ts","sourceRoot":"","sources":["../../../packages/core/src/components/BrandConcierge/createStreamParser.js"],"names":[],"mappings":"AAWe,8BAwEC,QANH,cAMS,EAAE,iCAJnB;IAA4B,OAAO;IACP,MAAM;IACN,UAAU;CAEY,mBAuDtD"}
1
+ {"version":3,"file":"createStreamParser.d.ts","sourceRoot":"","sources":["../../../packages/core/src/components/BrandConcierge/createStreamParser.js"],"names":[],"mappings":"AAWe,8BAwEC,QANH,cAMS,EAAE,iCAJnB;IAA4B,OAAO;IACP,MAAM;IACN,UAAU;CAEY,mBAiEtD"}