dsh-mobile 0.5.3 → 0.5.4
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/CHANGELOG.md +11 -0
- package/CONTRIBUTORS.md +7 -4
- package/README.en.md +13 -6
- package/README.md +13 -6
- package/SECURITY.md +1 -1
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/docs/README.md +1 -0
- package/docs/SLOW_CONNECTIONS.en.md +77 -0
- package/docs/SLOW_CONNECTIONS.md +77 -0
- package/lib/client.js +2 -1
- package/lib/client.js.map +1 -1
- package/lib/index.d.mts +25 -0
- package/lib/index.mjs +529 -215
- package/lib/index.mjs.map +1 -1
- package/lib/mobile-layout.js +134 -2
- package/lib/mobile-layout.js.map +1 -1
- package/node_modules/dsh-mobile-question-fixes/package.json +1 -1
- package/package.json +8 -2
- package/packages/question-fixes/package.json +1 -1
package/lib/index.d.mts
CHANGED
|
@@ -151,6 +151,9 @@ export declare class AccessController {
|
|
|
151
151
|
renew(deviceToken: string): Promise<RenewalResult>;
|
|
152
152
|
/** Validate a persistent device credential without consuming a Session slot. */
|
|
153
153
|
probe(deviceToken: string): Promise<DeviceProbeResult>;
|
|
154
|
+
/** Validate a device credential without writing state or opening a Session. */
|
|
155
|
+
authorizeDevice(deviceToken: string): DeviceProbeResult;
|
|
156
|
+
private requireDevice;
|
|
154
157
|
/** Resolve a short Session Cookie without revealing whether device or Session failed. */
|
|
155
158
|
authorizeSession(sessionToken: string): SessionAuthorization;
|
|
156
159
|
/** Require the Session-bound anti-CSRF value for an authenticated mutation. */
|
|
@@ -227,6 +230,24 @@ export declare class RequestTrustPolicy {
|
|
|
227
230
|
}
|
|
228
231
|
//#endregion
|
|
229
232
|
//#region src/config.d.ts
|
|
233
|
+
/** Optional compression for exact, already authorized WebSocket paths. */
|
|
234
|
+
interface WebSocketCompressionConfig {
|
|
235
|
+
paths?: string[];
|
|
236
|
+
maxMessageBytes?: number;
|
|
237
|
+
maxQueuedBytes?: number;
|
|
238
|
+
thresholdBytes?: number;
|
|
239
|
+
concurrencyLimit?: number;
|
|
240
|
+
level?: number;
|
|
241
|
+
}
|
|
242
|
+
/** Validated compression settings; an empty path list keeps the raw transport. */
|
|
243
|
+
interface ResolvedWebSocketCompressionConfig {
|
|
244
|
+
readonly paths: readonly string[];
|
|
245
|
+
readonly maxMessageBytes: number;
|
|
246
|
+
readonly maxQueuedBytes: number;
|
|
247
|
+
readonly thresholdBytes: number;
|
|
248
|
+
readonly concurrencyLimit: number;
|
|
249
|
+
readonly level: number;
|
|
250
|
+
}
|
|
230
251
|
/** TLS source accepted by the LAN listener. */
|
|
231
252
|
interface ProvidedTlsConfig {
|
|
232
253
|
readonly mode: 'provided';
|
|
@@ -265,6 +286,8 @@ interface PluginConfig {
|
|
|
265
286
|
mobileCompatibilityFile?: string;
|
|
266
287
|
/** Optional application-phase client package ids omitted only from the mobile boot graph. */
|
|
267
288
|
excludedClientModules?: string[];
|
|
289
|
+
/** Compression is opt-in; it does not authorize additional WebSocket paths. */
|
|
290
|
+
websocketCompression?: WebSocketCompressionConfig;
|
|
268
291
|
/** Stable public discovery identifier; it is not an authentication secret. */
|
|
269
292
|
instanceId?: string;
|
|
270
293
|
/** Managed CA certificate offered to the Android installer after fingerprint binding. */
|
|
@@ -306,6 +329,7 @@ interface ResolvedGatewayConfig {
|
|
|
306
329
|
readonly mobileLayoutFile: string;
|
|
307
330
|
readonly mobileCompatibilityFile: string;
|
|
308
331
|
readonly excludedClientModules: readonly string[];
|
|
332
|
+
readonly websocketCompression: ResolvedWebSocketCompressionConfig;
|
|
309
333
|
readonly instanceId: string;
|
|
310
334
|
readonly pairingCaFile?: string;
|
|
311
335
|
readonly tls: TlsConfig;
|
|
@@ -690,6 +714,7 @@ export declare class MobileAccessGateway {
|
|
|
690
714
|
private authorize;
|
|
691
715
|
private requireCsrf;
|
|
692
716
|
private setSessionCookies;
|
|
717
|
+
private setBrowserDeviceBinding;
|
|
693
718
|
private handlePair;
|
|
694
719
|
private handleRenew;
|
|
695
720
|
private handleNativePair;
|