@mentra/sdk 2.1.29-beta.2 → 2.1.30-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.
- package/dist/app/session/events.d.ts +9 -0
- package/dist/app/session/events.d.ts.map +1 -1
- package/dist/app/session/index.d.ts +8 -2
- package/dist/app/session/index.d.ts.map +1 -1
- package/dist/index.js +47 -30
- package/dist/index.js.map +4 -4
- package/package.json +1 -4
- package/dist/display-utils/test/ScrollView.test.d.ts +0 -2
- package/dist/display-utils/test/ScrollView.test.d.ts.map +0 -1
- package/dist/display-utils/test/TextMeasurer.test.d.ts +0 -2
- package/dist/display-utils/test/TextMeasurer.test.d.ts.map +0 -1
- package/dist/display-utils/test/TextWrapper.test.d.ts +0 -2
- package/dist/display-utils/test/TextWrapper.test.d.ts.map +0 -1
|
@@ -178,6 +178,15 @@ export declare class EventManager {
|
|
|
178
178
|
* ➖ Remove an event handler
|
|
179
179
|
*/
|
|
180
180
|
private removeHandler;
|
|
181
|
+
/**
|
|
182
|
+
* 🔍 Get all currently registered stream types
|
|
183
|
+
* Returns the streams that have at least one handler registered.
|
|
184
|
+
* Used to derive subscriptions from handlers (single source of truth).
|
|
185
|
+
*
|
|
186
|
+
* This is the fix for Bug 007: subscriptions are now derived from handlers
|
|
187
|
+
* instead of being stored separately, preventing drift between the two.
|
|
188
|
+
*/
|
|
189
|
+
getRegisteredStreams(): ExtendedStreamType[];
|
|
181
190
|
/**
|
|
182
191
|
* 📡 Emit an event to all registered handlers with error isolation
|
|
183
192
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/app/session/events.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/app/session/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🎯 App Session Module
|
|
3
|
+
*
|
|
4
|
+
* Manages an active Third Party App session with MentraOS Cloud.
|
|
5
|
+
* Handles real-time communication, event subscriptions, and display management.
|
|
6
|
+
*/
|
|
1
7
|
import { EventManager, EventData } from "./events";
|
|
2
8
|
import { LayoutManager } from "./layouts";
|
|
3
9
|
import { SettingsManager } from "./settings";
|
|
@@ -73,8 +79,8 @@ export declare class AppSession {
|
|
|
73
79
|
private sessionId;
|
|
74
80
|
/** Number of reconnection attempts made */
|
|
75
81
|
private reconnectAttempts;
|
|
76
|
-
/**
|
|
77
|
-
private
|
|
82
|
+
/** Flag to prevent reconnection after session termination (e.g., "User session ended") */
|
|
83
|
+
private terminated;
|
|
78
84
|
/** Map to store rate options for streams */
|
|
79
85
|
private streamRates;
|
|
80
86
|
/** Resource tracker for automatic cleanup */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/session/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/session/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1906,6 +1906,9 @@ class EventManager {
|
|
|
1906
1906
|
this.unsubscribe(type);
|
|
1907
1907
|
}
|
|
1908
1908
|
}
|
|
1909
|
+
getRegisteredStreams() {
|
|
1910
|
+
return Array.from(this.handlers.keys());
|
|
1911
|
+
}
|
|
1909
1912
|
emit(event, data) {
|
|
1910
1913
|
try {
|
|
1911
1914
|
this.emitter.emit(event, data);
|
|
@@ -3528,6 +3531,7 @@ class SimpleStorage {
|
|
|
3528
3531
|
}
|
|
3529
3532
|
|
|
3530
3533
|
// src/app/session/index.ts
|
|
3534
|
+
var SDK_SUBSCRIPTION_PATCH = "bug007-fix-v2";
|
|
3531
3535
|
var APP_TO_APP_EVENT_TYPES = [
|
|
3532
3536
|
"app_message_received",
|
|
3533
3537
|
"app_user_joined",
|
|
@@ -3541,7 +3545,7 @@ class AppSession {
|
|
|
3541
3545
|
ws = null;
|
|
3542
3546
|
sessionId = null;
|
|
3543
3547
|
reconnectAttempts = 0;
|
|
3544
|
-
|
|
3548
|
+
terminated = false;
|
|
3545
3549
|
streamRates = new Map;
|
|
3546
3550
|
resources = new ResourceTracker;
|
|
3547
3551
|
settingsData = [];
|
|
@@ -3609,18 +3613,14 @@ class AppSession {
|
|
|
3609
3613
|
this.layouts = new LayoutManager(config.packageName, this.send.bind(this));
|
|
3610
3614
|
this.settings = new SettingsManager(this.settingsData, this.config.packageName, this.config.mentraOSWebsocketUrl, this.sessionId ?? undefined, async (streams3) => {
|
|
3611
3615
|
this.logger.debug({ streams: JSON.stringify(streams3) }, `[AppSession] subscribeFn called for streams`);
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
this.logger.debug(`[AppSession] Already subscribed to stream '${stream}'.`);
|
|
3618
|
-
}
|
|
3619
|
-
});
|
|
3620
|
-
this.logger.debug({ subscriptions: JSON.stringify(Array.from(this.subscriptions)) }, `[AppSession] Current subscriptions after subscribeFn`);
|
|
3616
|
+
const currentHandlerStreams = this.events.getRegisteredStreams();
|
|
3617
|
+
this.logger.debug({
|
|
3618
|
+
requestedStreams: JSON.stringify(streams3),
|
|
3619
|
+
currentHandlerStreams: JSON.stringify(currentHandlerStreams)
|
|
3620
|
+
}, `[AppSession] subscribeFn: requested streams vs current handler streams`);
|
|
3621
3621
|
if (this.ws?.readyState === 1) {
|
|
3622
3622
|
this.updateSubscriptions();
|
|
3623
|
-
this.logger.debug(`[AppSession] Sent updated subscriptions to cloud
|
|
3623
|
+
this.logger.debug(`[AppSession] Sent updated subscriptions to cloud (derived from handlers).`);
|
|
3624
3624
|
} else {
|
|
3625
3625
|
this.logger.debug(`[AppSession] WebSocket not open, will send subscriptions when connected.`);
|
|
3626
3626
|
}
|
|
@@ -3697,7 +3697,6 @@ class AppSession {
|
|
|
3697
3697
|
this.logger.warn(`[AppSession] Attempted to subscribe to App-to-App event type '${type}', which is not a valid stream. Use the event handler (e.g., onAppMessage) instead.`);
|
|
3698
3698
|
return;
|
|
3699
3699
|
}
|
|
3700
|
-
this.subscriptions.add(type);
|
|
3701
3700
|
if (rate) {
|
|
3702
3701
|
this.streamRates.set(type, rate);
|
|
3703
3702
|
}
|
|
@@ -3716,7 +3715,6 @@ class AppSession {
|
|
|
3716
3715
|
this.logger.warn(`[AppSession] Attempted to unsubscribe from App-to-App event type '${type}', which is not a valid stream.`);
|
|
3717
3716
|
return;
|
|
3718
3717
|
}
|
|
3719
|
-
this.subscriptions.delete(type);
|
|
3720
3718
|
this.streamRates.delete(type);
|
|
3721
3719
|
if (this.ws?.readyState === 1) {
|
|
3722
3720
|
this.updateSubscriptions();
|
|
@@ -3840,11 +3838,15 @@ class AppSession {
|
|
|
3840
3838
|
const isUserSessionEnded = reason && reason.includes("User session ended");
|
|
3841
3839
|
this.logger.debug(`\uD83D\uDD0C [${this.config.packageName}] WebSocket closed with code ${code}${reasonStr}`);
|
|
3842
3840
|
this.logger.debug(`\uD83D\uDD0C [${this.config.packageName}] isNormalClosure: ${isNormalClosure}, isManualStop: ${isManualStop}, isUserSessionEnded: ${isUserSessionEnded}`);
|
|
3843
|
-
if (
|
|
3841
|
+
if (isUserSessionEnded) {
|
|
3842
|
+
this.terminated = true;
|
|
3843
|
+
this.logger.info(`\uD83D\uDED1 [${this.config.packageName}] User session ended - marking as terminated, no reconnection allowed`);
|
|
3844
|
+
}
|
|
3845
|
+
if (!isNormalClosure && !isManualStop && !this.terminated) {
|
|
3844
3846
|
this.logger.warn(`\uD83D\uDD0C [${this.config.packageName}] Abnormal closure detected, attempting reconnection`);
|
|
3845
3847
|
this.handleReconnection();
|
|
3846
3848
|
} else {
|
|
3847
|
-
this.logger.debug(`\uD83D\uDD0C [${this.config.packageName}] Normal closure detected, not attempting reconnection`);
|
|
3849
|
+
this.logger.debug(`\uD83D\uDD0C [${this.config.packageName}] Normal/terminated closure detected, not attempting reconnection (terminated: ${this.terminated})`);
|
|
3848
3850
|
}
|
|
3849
3851
|
if (isUserSessionEnded) {
|
|
3850
3852
|
this.logger.info(`\uD83D\uDED1 [${this.config.packageName}] User session ended - emitting disconnected event with sessionEnded flag`);
|
|
@@ -3924,7 +3926,6 @@ class AppSession {
|
|
|
3924
3926
|
this.resources.dispose();
|
|
3925
3927
|
this.ws = null;
|
|
3926
3928
|
this.sessionId = null;
|
|
3927
|
-
this.subscriptions.clear();
|
|
3928
3929
|
this.reconnectAttempts = 0;
|
|
3929
3930
|
}
|
|
3930
3931
|
getSettings() {
|
|
@@ -3945,11 +3946,14 @@ class AppSession {
|
|
|
3945
3946
|
if (!this.subscriptionSettingsHandler)
|
|
3946
3947
|
return;
|
|
3947
3948
|
try {
|
|
3948
|
-
const
|
|
3949
|
-
this.
|
|
3950
|
-
|
|
3951
|
-
this.
|
|
3952
|
-
|
|
3949
|
+
const settingsSubscriptions = this.subscriptionSettingsHandler(this.settingsData);
|
|
3950
|
+
const handlerStreams = this.events.getRegisteredStreams();
|
|
3951
|
+
if (settingsSubscriptions.length !== handlerStreams.length) {
|
|
3952
|
+
this.logger.warn({
|
|
3953
|
+
settingsSubscriptions: JSON.stringify(settingsSubscriptions),
|
|
3954
|
+
handlerStreams: JSON.stringify(handlerStreams)
|
|
3955
|
+
}, `[AppSession] Settings-based subscriptions (${settingsSubscriptions.length}) differ from handler-based subscriptions (${handlerStreams.length}). ` + `Subscriptions are now derived from handlers. Ensure handlers are registered for desired streams.`);
|
|
3956
|
+
}
|
|
3953
3957
|
if (this.ws && this.ws.readyState === 1) {
|
|
3954
3958
|
this.updateSubscriptions();
|
|
3955
3959
|
}
|
|
@@ -4079,6 +4083,8 @@ class AppSession {
|
|
|
4079
4083
|
this.logger.debug(`[AppSession] No capabilities provided in CONNECTION_ACK`);
|
|
4080
4084
|
}
|
|
4081
4085
|
this.events.emit("connected", this.settingsData);
|
|
4086
|
+
const handlerCount = this.events.getRegisteredStreams().length;
|
|
4087
|
+
this.logger.info({ patch: SDK_SUBSCRIPTION_PATCH, handlerCount }, `[AppSession] \uD83D\uDD27 SDK Patch Active: ${SDK_SUBSCRIPTION_PATCH} - Subscriptions derived from ${handlerCount} handler(s)`);
|
|
4082
4088
|
this.updateSubscriptions();
|
|
4083
4089
|
if (this.shouldUpdateSubscriptionsOnSettingsChange && this.settingsData.length > 0) {
|
|
4084
4090
|
this.updateSubscriptionsFromSettings();
|
|
@@ -4087,28 +4093,33 @@ class AppSession {
|
|
|
4087
4093
|
const errorMessage = message.message || "Unknown connection error";
|
|
4088
4094
|
this.events.emit("error", new Error(errorMessage));
|
|
4089
4095
|
} else if (message.type === "audio_chunk" /* AUDIO_CHUNK */) {
|
|
4090
|
-
|
|
4096
|
+
const hasAudioHandler = this.events.getRegisteredStreams().includes("audio_chunk" /* AUDIO_CHUNK */);
|
|
4097
|
+
if (hasAudioHandler) {
|
|
4091
4098
|
this.events.emit("audio_chunk" /* AUDIO_CHUNK */, message);
|
|
4092
4099
|
}
|
|
4093
4100
|
} else if (isDataStream(message) && message.streamType === "glasses_connection_state" /* GLASSES_CONNECTION_STATE */) {
|
|
4094
4101
|
this.glassesConnectionState = message.data;
|
|
4095
|
-
|
|
4102
|
+
const hasGlassesStateHandler = this.events.getRegisteredStreams().includes("glasses_connection_state" /* GLASSES_CONNECTION_STATE */);
|
|
4103
|
+
if (hasGlassesStateHandler) {
|
|
4096
4104
|
const sanitizedData = this.sanitizeEventData("glasses_connection_state" /* GLASSES_CONNECTION_STATE */, message.data);
|
|
4097
4105
|
this.events.emit("glasses_connection_state" /* GLASSES_CONNECTION_STATE */, sanitizedData);
|
|
4098
4106
|
}
|
|
4099
4107
|
} else if (isDataStream(message)) {
|
|
4100
4108
|
const messageStreamType = message.streamType;
|
|
4101
|
-
|
|
4109
|
+
const hasHandler = this.events.getRegisteredStreams().includes(messageStreamType);
|
|
4110
|
+
if (messageStreamType && hasHandler) {
|
|
4102
4111
|
const sanitizedData = this.sanitizeEventData(messageStreamType, message.data);
|
|
4103
4112
|
this.events.emit(messageStreamType, sanitizedData);
|
|
4104
4113
|
}
|
|
4105
4114
|
} else if (isRtmpStreamStatus2(message)) {
|
|
4106
|
-
|
|
4115
|
+
const hasRtmpHandler = this.events.getRegisteredStreams().includes("rtmp_stream_status" /* RTMP_STREAM_STATUS */);
|
|
4116
|
+
if (hasRtmpHandler) {
|
|
4107
4117
|
this.events.emit("rtmp_stream_status" /* RTMP_STREAM_STATUS */, message);
|
|
4108
4118
|
}
|
|
4109
4119
|
this.camera.updateStreamState(message);
|
|
4110
4120
|
} else if (isManagedStreamStatus(message)) {
|
|
4111
|
-
|
|
4121
|
+
const hasManagedStreamHandler = this.events.getRegisteredStreams().includes("managed_stream_status" /* MANAGED_STREAM_STATUS */);
|
|
4122
|
+
if (hasManagedStreamHandler) {
|
|
4112
4123
|
this.events.emit("managed_stream_status" /* MANAGED_STREAM_STATUS */, message);
|
|
4113
4124
|
}
|
|
4114
4125
|
this.camera.handleManagedStreamStatus(message);
|
|
@@ -4245,7 +4256,8 @@ class AppSession {
|
|
|
4245
4256
|
}
|
|
4246
4257
|
handleBinaryMessage(buffer) {
|
|
4247
4258
|
try {
|
|
4248
|
-
|
|
4259
|
+
const hasAudioHandler = this.events.getRegisteredStreams().includes("audio_chunk" /* AUDIO_CHUNK */);
|
|
4260
|
+
if (!hasAudioHandler) {
|
|
4249
4261
|
return;
|
|
4250
4262
|
}
|
|
4251
4263
|
if (!buffer || buffer.byteLength === 0) {
|
|
@@ -4318,8 +4330,9 @@ class AppSession {
|
|
|
4318
4330
|
this.send(message);
|
|
4319
4331
|
}
|
|
4320
4332
|
updateSubscriptions() {
|
|
4321
|
-
|
|
4322
|
-
|
|
4333
|
+
const derivedSubscriptions = this.events.getRegisteredStreams();
|
|
4334
|
+
this.logger.info({ subscriptions: JSON.stringify(derivedSubscriptions) }, `[AppSession] updateSubscriptions: sending ${derivedSubscriptions.length} subscriptions to cloud (derived from handlers)`);
|
|
4335
|
+
const subscriptionPayload = derivedSubscriptions.map((stream) => {
|
|
4323
4336
|
const rate = this.streamRates.get(stream);
|
|
4324
4337
|
if (rate && stream === "location_stream" /* LOCATION_STREAM */) {
|
|
4325
4338
|
return { stream: "location_stream", rate };
|
|
@@ -4336,6 +4349,10 @@ class AppSession {
|
|
|
4336
4349
|
this.send(message);
|
|
4337
4350
|
}
|
|
4338
4351
|
async handleReconnection() {
|
|
4352
|
+
if (this.terminated) {
|
|
4353
|
+
this.logger.info(`\uD83D\uDD04 Reconnection skipped: session was terminated (User session ended). ` + `If cloud restarts app, onSession will be called with fresh handlers.`);
|
|
4354
|
+
return;
|
|
4355
|
+
}
|
|
4339
4356
|
if (!this.config.autoReconnect || !this.sessionId) {
|
|
4340
4357
|
this.logger.debug(`\uD83D\uDD04 Reconnection skipped: autoReconnect=${this.config.autoReconnect}, sessionId=${this.sessionId ? "valid" : "invalid"}`);
|
|
4341
4358
|
return;
|
|
@@ -5425,4 +5442,4 @@ export {
|
|
|
5425
5442
|
AnimationUtils
|
|
5426
5443
|
};
|
|
5427
5444
|
|
|
5428
|
-
//# debugId=
|
|
5445
|
+
//# debugId=E26109C36CC6A50F64756E2164756E21
|