decentraland-ui2 0.28.2-17949462705.commit-b320120 → 0.28.2-18323748356.commit-4d9491e
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.
@@ -4,51 +4,97 @@ import { default as future } from "fp-future";
|
|
4
4
|
import mitt from "mitt";
|
5
5
|
const promises = new Map();
|
6
6
|
const emoteEvents = new Map();
|
7
|
-
|
7
|
+
let isControllerReady = false;
|
8
|
+
const pendingMessages = [];
|
9
|
+
function processMessage(event) {
|
8
10
|
if (event.data && event.data.type) {
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
.
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
if (
|
17
|
-
|
11
|
+
try {
|
12
|
+
switch (event.data.type) {
|
13
|
+
case PreviewMessageType.CONTROLLER_RESPONSE: {
|
14
|
+
const payload = event.data
|
15
|
+
.payload;
|
16
|
+
const { id } = payload;
|
17
|
+
const promise = promises.get(id);
|
18
|
+
if (promise) {
|
19
|
+
promises.delete(id);
|
20
|
+
if (payload.ok) {
|
21
|
+
promise.resolve(payload.result);
|
22
|
+
}
|
23
|
+
else if (payload.ok === false) {
|
24
|
+
promise.reject(new Error(payload.error));
|
25
|
+
}
|
18
26
|
}
|
19
|
-
|
20
|
-
|
27
|
+
break;
|
28
|
+
}
|
29
|
+
case PreviewMessageType.EMOTE_EVENT: {
|
30
|
+
const payload = event.data
|
31
|
+
.payload;
|
32
|
+
const { type, payload: eventPayload } = payload;
|
33
|
+
const events = event.source ? emoteEvents.get(event.source) : null;
|
34
|
+
if (events && type) {
|
35
|
+
events.emit(type, eventPayload);
|
21
36
|
}
|
37
|
+
break;
|
22
38
|
}
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
.
|
28
|
-
|
29
|
-
const events = event.source ? emoteEvents.get(event.source) : null;
|
30
|
-
if (events && type) {
|
31
|
-
events.emit(type, eventPayload);
|
39
|
+
case PreviewMessageType.READY: {
|
40
|
+
isControllerReady = true;
|
41
|
+
const messagesToProcess = pendingMessages.filter((msg) => msg.data?.type !== PreviewMessageType.READY);
|
42
|
+
messagesToProcess.forEach(processMessage);
|
43
|
+
pendingMessages.splice(0);
|
44
|
+
break;
|
32
45
|
}
|
33
|
-
|
46
|
+
default:
|
47
|
+
// nothing to do, invalid message
|
34
48
|
}
|
35
|
-
|
36
|
-
|
49
|
+
}
|
50
|
+
catch (error) {
|
51
|
+
console.error("Error processing WearablePreview message:", error);
|
37
52
|
}
|
38
53
|
}
|
54
|
+
}
|
55
|
+
window.onmessage = function handleMessage(event) {
|
56
|
+
if (!isControllerReady) {
|
57
|
+
pendingMessages.push(event);
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
processMessage(event);
|
39
61
|
};
|
40
62
|
let nonce = 0;
|
41
63
|
function createSendRequest(id) {
|
42
64
|
return function sendRequest(namespace, method, params) {
|
43
65
|
const iframe = document.getElementById(id);
|
66
|
+
if (!iframe || !iframe.contentWindow) {
|
67
|
+
const error = new Error("iframe not found or not accessible");
|
68
|
+
return Promise.reject(error);
|
69
|
+
}
|
44
70
|
const messageId = id + "-" + nonce;
|
45
71
|
const promise = future();
|
46
72
|
promises.set(messageId, promise);
|
47
73
|
const type = PreviewMessageType.CONTROLLER_REQUEST;
|
48
74
|
const message = { id: messageId, namespace, method, params };
|
49
|
-
|
75
|
+
const timeout = setTimeout(() => {
|
76
|
+
promises.delete(messageId);
|
77
|
+
promise.reject(new Error(`Request timeout for ${method}`));
|
78
|
+
}, 10000);
|
79
|
+
const originalResolve = promise.resolve;
|
80
|
+
const originalReject = promise.reject;
|
81
|
+
promise.resolve = (value) => {
|
82
|
+
clearTimeout(timeout);
|
83
|
+
originalResolve(value);
|
84
|
+
};
|
85
|
+
promise.reject = (reason) => {
|
86
|
+
clearTimeout(timeout);
|
87
|
+
originalReject(reason);
|
88
|
+
};
|
89
|
+
try {
|
50
90
|
sendMessage(iframe.contentWindow, type, message);
|
51
91
|
}
|
92
|
+
catch (error) {
|
93
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
94
|
+
promise.reject(new Error(`Failed to send message: ${errorMessage}`));
|
95
|
+
promises.delete(messageId);
|
96
|
+
clearTimeout(timeout);
|
97
|
+
}
|
52
98
|
nonce++;
|
53
99
|
return promise;
|
54
100
|
};
|
@@ -58,6 +104,9 @@ export function createController(id) {
|
|
58
104
|
if (!iframe) {
|
59
105
|
throw new Error(`Could not find an iframe with id="${id}"`);
|
60
106
|
}
|
107
|
+
isControllerReady = false;
|
108
|
+
pendingMessages.splice(0);
|
109
|
+
promises.clear();
|
61
110
|
const events = iframe.contentWindow
|
62
111
|
? emoteEvents.get(iframe.contentWindow) ?? mitt()
|
63
112
|
: mitt();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"WearablePreview.controller.js","sourceRoot":"","sources":["../../../src/components/WearablePreview/WearablePreview.controller.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAIL,kBAAkB,EAClB,WAAW,GACZ,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAW,OAAO,IAAI,MAAM,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,IAAiB,MAAM,MAAM,CAAA;AAEpC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAA;AAChD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4C,CAAA;AAEvE,MAAM,
|
1
|
+
{"version":3,"file":"WearablePreview.controller.js","sourceRoot":"","sources":["../../../src/components/WearablePreview/WearablePreview.controller.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "decentraland-ui2",
|
3
|
-
"version": "0.28.2-
|
3
|
+
"version": "0.28.2-18323748356.commit-4d9491e",
|
4
4
|
"description": "Decentraland's UI components and styles",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"types": "dist/index.d.ts",
|
@@ -98,5 +98,5 @@
|
|
98
98
|
"files": [
|
99
99
|
"dist"
|
100
100
|
],
|
101
|
-
"commit": "
|
101
|
+
"commit": "4d9491ef2865a3b54c18172f21ad9d41ad072221"
|
102
102
|
}
|