@annadata/capacitor-mqtt-quic 0.1.9 → 0.2.0

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 (32) hide show
  1. package/README.md +90 -9
  2. package/android/install/wolfssl-android/arm64-v8a/lib/libwolfssl.a +0 -0
  3. package/android/install/wolfssl-android/armeabi-v7a/lib/libwolfssl.a +0 -0
  4. package/android/install/wolfssl-android/x86_64/lib/libwolfssl.a +0 -0
  5. package/android/src/main/kotlin/ai/annadata/mqttquic/MqttQuicPlugin.kt +17 -0
  6. package/android/src/main/kotlin/ai/annadata/mqttquic/client/MQTTClient.kt +40 -0
  7. package/dist/esm/definitions.d.ts +8 -0
  8. package/dist/esm/definitions.d.ts.map +1 -1
  9. package/dist/esm/web.d.ts +5 -1
  10. package/dist/esm/web.d.ts.map +1 -1
  11. package/dist/esm/web.js +6 -0
  12. package/dist/esm/web.js.map +1 -1
  13. package/dist/plugin.cjs.js +6 -0
  14. package/dist/plugin.cjs.js.map +1 -1
  15. package/dist/plugin.js +6 -0
  16. package/dist/plugin.js.map +1 -1
  17. package/ios/Sources/MqttQuicPlugin/Client/MQTTClient.swift +4 -0
  18. package/ios/Sources/MqttQuicPlugin/MqttQuicPlugin.swift +14 -8
  19. package/ios/Sources/MqttQuicPlugin/Transport/QUICStreamAdapter.swift +2 -7
  20. package/ios/libs/libnghttp3.a +0 -0
  21. package/ios/libs/libngtcp2.a +0 -0
  22. package/ios/libs/libngtcp2_crypto_wolfssl.a +0 -0
  23. package/ios/libs/libwolfssl.a +0 -0
  24. package/ios/libs-simulator/libnghttp3.a +0 -0
  25. package/ios/libs-simulator/libngtcp2.a +0 -0
  26. package/ios/libs-simulator/libngtcp2_crypto_wolfssl.a +0 -0
  27. package/ios/libs-simulator/libwolfssl.a +0 -0
  28. package/ios/libs-simulator-x86_64/libnghttp3.a +0 -0
  29. package/ios/libs-simulator-x86_64/libngtcp2.a +0 -0
  30. package/ios/libs-simulator-x86_64/libngtcp2_crypto_wolfssl.a +0 -0
  31. package/ios/libs-simulator-x86_64/libwolfssl.a +0 -0
  32. package/package.json +1 -1
package/README.md CHANGED
@@ -8,9 +8,12 @@ MQTT-over-QUIC Capacitor plugin for **iOS**, **Android**, and **Web (browser/PWA
8
8
  - ✅ **MQTT 5.0** support with full properties and reason codes
9
9
  - ✅ **MQTT 3.1.1** support (backward compatible)
10
10
  - ✅ Automatic protocol negotiation (tries 5.0, falls back to 3.1.1)
11
- - ✅ QUIC transport (ngtcp2) - currently using stubs (see ngtcp2 build section)
11
+ - ✅ QUIC transport (ngtcp2 + WolfSSL) on native; WSS or WebTransport on web
12
12
  - ✅ Transport abstraction (StreamReader/StreamWriter)
13
- - ✅ Full MQTT client API (connect, publish, subscribe, unsubscribe, disconnect)
13
+ - ✅ Full MQTT client API: `connect`, `publish`, `subscribe`, `unsubscribe`, `disconnect`
14
+ - ✅ **sendKeepalive** – Send MQTT PINGREQ, wait for PINGRESP; resets server idle timer
15
+ - ✅ **ping** – Host reachability check (native: UDP; web: returns ok if host looks valid)
16
+ - ✅ **testHarness** – Connect → subscribe → publish → disconnect smoke test
14
17
 
15
18
  ## Structure
16
19
 
@@ -63,6 +66,31 @@ await MqttQuic.unsubscribe({ topic: 'sensors/+' });
63
66
  await MqttQuic.disconnect();
64
67
  ```
65
68
 
69
+ ### sendKeepalive – Manual MQTT Ping
70
+
71
+ Send MQTT PINGREQ and wait for PINGRESP. Resets the server's idle timer and confirms the connection is alive. Use when you need to keep the session active or verify connectivity without publishing.
72
+
73
+ **Native (iOS/Android):** Sends PINGREQ, waits for PINGRESP within `timeoutMs`.
74
+ **Web:** Returns `{ ok: !!connected }` (mqtt.js and WebTransport handle keepalive internally).
75
+
76
+ ```ts
77
+ const { ok } = await MqttQuic.sendKeepalive({
78
+ timeoutMs: 5000 // optional; default 5000, min 1000, max 15000
79
+ });
80
+ // ok: true if PINGRESP received (native) or connected (web); false on timeout or error
81
+ ```
82
+
83
+ ### ping – Host Reachability
84
+
85
+ Check if a host is reachable. **Native (iOS/Android):** performs a UDP reachability check. **Web:** returns `{ ok: true }` if the host looks valid (no raw UDP in browsers).
86
+
87
+ ```ts
88
+ const { ok } = await MqttQuic.ping({
89
+ host: 'mqtt.example.com',
90
+ port: 1884 // optional
91
+ });
92
+ ```
93
+
66
94
  ### Connection state and UI
67
95
 
68
96
  `connect()` returns a Promise that resolves with `{ connected: true }` only after the QUIC handshake and MQTT CONNACK. To avoid the UI staying on "connecting":
@@ -159,7 +187,7 @@ Bundle the CA cert (never ship `ca.key`):
159
187
 
160
188
  ### Test Harness (QUIC Smoke Test)
161
189
 
162
- This runs: connect → subscribe → publish → disconnect.
190
+ Runs: connect → subscribe → publish → disconnect.
163
191
 
164
192
  ```ts
165
193
  await MqttQuic.testHarness({
@@ -168,8 +196,8 @@ await MqttQuic.testHarness({
168
196
  clientId: 'mqttquic_test_client',
169
197
  topic: 'test/topic',
170
198
  payload: 'Hello QUIC!',
171
- // optional CA override
172
- caFile: '/path/to/ca-bundle.pem'
199
+ caFile: '/path/to/ca-bundle.pem', // optional
200
+ webTransportUrl: 'https://...', // optional; web only
173
201
  });
174
202
  ```
175
203
 
@@ -278,6 +306,8 @@ See [MQTT5_IMPLEMENTATION_COMPLETE.md](./docs/MQTT5_IMPLEMENTATION_COMPLETE.md)
278
306
 
279
307
  ## TypeScript Interface
280
308
 
309
+ Full API definitions (see `dist/esm/definitions.d.ts`):
310
+
281
311
  ```ts
282
312
  interface MqttQuicConnectOptions {
283
313
  host: string;
@@ -289,12 +319,16 @@ interface MqttQuicConnectOptions {
289
319
  keepalive?: number;
290
320
  caFile?: string;
291
321
  caPath?: string;
292
- // MQTT 5.0 options
293
322
  protocolVersion?: '3.1.1' | '5.0' | 'auto';
294
323
  sessionExpiryInterval?: number;
295
324
  receiveMaximum?: number;
296
325
  maximumPacketSize?: number;
297
326
  topicAliasMaximum?: number;
327
+ // Web only: QUIC via WebTransport
328
+ webTransportUrl?: string;
329
+ webTransportDeviceId?: string;
330
+ webTransportAction?: string;
331
+ webTransportPath?: string;
298
332
  }
299
333
 
300
334
  interface MqttQuicPublishOptions {
@@ -302,7 +336,6 @@ interface MqttQuicPublishOptions {
302
336
  payload: string | Uint8Array;
303
337
  qos?: 0 | 1 | 2;
304
338
  retain?: boolean;
305
- // MQTT 5.0 properties
306
339
  messageExpiryInterval?: number;
307
340
  contentType?: string;
308
341
  responseTopic?: string;
@@ -313,7 +346,6 @@ interface MqttQuicPublishOptions {
313
346
  interface MqttQuicSubscribeOptions {
314
347
  topic: string;
315
348
  qos?: 0 | 1 | 2;
316
- // MQTT 5.0
317
349
  subscriptionIdentifier?: number;
318
350
  }
319
351
 
@@ -325,6 +357,29 @@ interface MqttQuicTestHarnessOptions {
325
357
  payload?: string;
326
358
  caFile?: string;
327
359
  caPath?: string;
360
+ webTransportUrl?: string;
361
+ }
362
+
363
+ interface MqttQuicPingOptions {
364
+ host: string;
365
+ port?: number;
366
+ }
367
+
368
+ interface MqttQuicSendKeepaliveOptions {
369
+ timeoutMs?: number; // default 5000, min 1000, max 15000
370
+ }
371
+
372
+ type MqttQuicConnectionState = 'disconnected' | 'connecting' | 'connected' | 'reconnecting' | 'error';
373
+
374
+ interface MqttQuicPlugin {
375
+ sendKeepalive(options?: MqttQuicSendKeepaliveOptions): Promise<{ ok: boolean }>;
376
+ ping(options: MqttQuicPingOptions): Promise<{ ok: boolean }>;
377
+ connect(options: MqttQuicConnectOptions): Promise<{ connected: boolean }>;
378
+ disconnect(): Promise<void>;
379
+ publish(options: MqttQuicPublishOptions): Promise<{ success: boolean }>;
380
+ subscribe(options: MqttQuicSubscribeOptions): Promise<{ success: boolean }>;
381
+ unsubscribe(options: { topic: string }): Promise<{ success: boolean }>;
382
+ testHarness(options: MqttQuicTestHarnessOptions): Promise<{ success: boolean }>;
328
383
  }
329
384
  ```
330
385
 
@@ -431,6 +486,32 @@ npm publish --access public
431
486
 
432
487
  See **docs/PRODUCTION_PUBLISH_STEPS.md** for the full checklist.
433
488
 
489
+ ### iOS: `MqttQuicLibs.xcframework does not contain a binary artifact`
490
+
491
+ This happens when Capacitor's SPM resolves `Package.swift` but `ios/libs/MqttQuicLibs.xcframework` is missing. Common causes:
492
+
493
+ 1. **Fresh install / plugin update** – The package was packed/published without the xcframework.
494
+ 2. **Local development** – You use `file:../capacitor-mqtt-quic` or a local `.tgz` that was packed before building.
495
+
496
+ **Fix (one-time per machine or per plugin change):**
497
+
498
+ ```bash
499
+ cd node_modules/@annadata/capacitor-mqtt-quic
500
+ ./build-native.sh --ios-only
501
+ cd ios && ./create-xcframework.sh
502
+ cd ../..
503
+ npx cap sync ios
504
+ ```
505
+
506
+ Or from your app root, if you have this script:
507
+
508
+ ```bash
509
+ npm run build:ios-mqtt-quic
510
+ npx cap sync ios
511
+ ```
512
+
513
+ **If you maintain the plugin:** Build the xcframework in the plugin repo before `npm pack` or `npm publish`. The `.npmignore` is configured so the xcframework is included when present, and consumers then get it with `npm install`.
514
+
434
515
  ### Connection error: `{"code":"UNIMPLEMENTED"}`
435
516
 
436
517
  Capacitor returns this when the **native plugin method is not found** on the current platform. Common causes and fixes:
@@ -499,7 +580,7 @@ The plugin runs in **browsers** (including PWA and `cap run web`) with the **sam
499
580
  **Why web can’t use ngtcp2 + WolfSSL:** Browsers do not expose raw UDP or the TLS APIs ngtcp2/WolfSSL need. So the native stack cannot run in the browser. On web: (1) **Default:** MQTT over **WebSocket (WSS)** via `mqtt.js`. (2) **Optional:** MQTT over **WebTransport** (QUIC)—pass `webTransportUrl` in `connect()` when your server supports WebTransport; the browser uses its built-in HTTP/3/QUIC stack.
500
581
 
501
582
  - **Connect:** `ws://host:port` or `wss://host:port` (the plugin uses WSS when port is 8884 or 443, otherwise `ws`)
502
- - **Same methods:** `MqttQuic.connect`, `publish`, `subscribe`, `unsubscribe`, `disconnect`, `testHarness`
583
+ - **Same methods:** `MqttQuic.connect`, `publish`, `subscribe`, `unsubscribe`, `disconnect`, `sendKeepalive`, `ping`, `testHarness`
503
584
 
504
585
  **My MQTT+QUIC server is on port 1884 – can WSS connect?**
505
586
  Port **1884** is usually **MQTT over QUIC** (UDP). A **WSS client cannot connect directly to 1884**, because WSS is TCP/WebSocket and 1884 is QUIC. You need one of:
@@ -210,6 +210,23 @@ class MqttQuicPlugin : Plugin() {
210
210
  }
211
211
  }
212
212
 
213
+ /**
214
+ * Send MQTT PINGREQ and wait for PINGRESP. Resets server's idle timer.
215
+ * Returns { ok: true } if PINGRESP received within timeout, { ok: false } on timeout or error.
216
+ */
217
+ @PluginMethod
218
+ fun sendKeepalive(call: PluginCall) {
219
+ val timeoutMs = call.getInt("timeoutMs", 5000)
220
+ scope.launch {
221
+ try {
222
+ val ok = client.sendMqttPing((timeoutMs ?: 5000).toLong().coerceIn(1000, 15000))
223
+ call.resolve(JSObject().put("ok", ok))
224
+ } catch (e: Exception) {
225
+ call.reject(e.message ?: "sendKeepalive failed")
226
+ }
227
+ }
228
+ }
229
+
213
230
  @PluginMethod
214
231
  fun disconnect(call: PluginCall) {
215
232
  scope.launch {
@@ -71,6 +71,9 @@ class MQTTClient {
71
71
  private val pendingSubacks = mutableMapOf<Int, CompletableDeferred<Pair<ByteArray, Int>>>()
72
72
  /** Pending UNSUBACK by packet ID. Message loop completes when UNSUBACK is read. */
73
73
  private val pendingUnsubacks = mutableMapOf<Int, CompletableDeferred<Unit>>()
74
+ /** Pending PINGRESP for sendMqttPing(). Message loop completes when PINGRESP is read. */
75
+ @Volatile
76
+ private var pendingPingresp: CompletableDeferred<Unit>? = null
74
77
  private val lock = Mutex()
75
78
  private val scope = CoroutineScope(Dispatchers.Default + SupervisorJob())
76
79
 
@@ -501,6 +504,37 @@ class MQTTClient {
501
504
  pendingSubacks.clear()
502
505
  pendingUnsubacks.values.forEach { it.completeExceptionally(cause) }
503
506
  pendingUnsubacks.clear()
507
+ pendingPingresp?.completeExceptionally(cause)
508
+ pendingPingresp = null
509
+ }
510
+ }
511
+
512
+ /**
513
+ * Send MQTT PINGREQ and wait for PINGRESP. Resets server's idle timer.
514
+ * Returns true if PINGRESP received within timeout, false on timeout or error.
515
+ */
516
+ suspend fun sendMqttPing(timeoutMs: Long = 5000): Boolean {
517
+ if (getState() != State.CONNECTED) return false
518
+ val (w, defToAwait) = lock.withLock {
519
+ val existing = pendingPingresp
520
+ if (existing != null) return@withLock (null as MQTTStreamWriter?) to existing
521
+ val deferred = CompletableDeferred<Unit>()
522
+ pendingPingresp = deferred
523
+ writer to deferred
524
+ }
525
+ return try {
526
+ if (w != null) {
527
+ w.write(MQTTProtocol.buildPingreq())
528
+ w.drain()
529
+ }
530
+ if (defToAwait != null) withTimeout(timeoutMs) { defToAwait.await() }
531
+ true
532
+ } catch (e: Exception) {
533
+ lock.withLock {
534
+ pendingPingresp?.completeExceptionally(e)
535
+ pendingPingresp = null
536
+ }
537
+ false
504
538
  }
505
539
  }
506
540
 
@@ -571,6 +605,12 @@ class MQTTClient {
571
605
  it.drain()
572
606
  }
573
607
  }
608
+ MQTTMessageType.PINGRESP -> {
609
+ lock.withLock {
610
+ pendingPingresp?.complete(Unit)
611
+ pendingPingresp = null
612
+ }
613
+ }
574
614
  MQTTMessageType.PUBLISH -> {
575
615
  val qos = (msgType.toInt() shr 1) and 0x03
576
616
  val (topic, packetId, payload) = lock.withLock {
@@ -67,7 +67,15 @@ export interface MqttQuicPingOptions {
67
67
  host: string;
68
68
  port?: number;
69
69
  }
70
+ export interface MqttQuicSendKeepaliveOptions {
71
+ /** Timeout in ms to wait for PINGRESP (default 5000, min 1000, max 15000). */
72
+ timeoutMs?: number;
73
+ }
70
74
  export interface MqttQuicPlugin {
75
+ /** Send MQTT PINGREQ and wait for PINGRESP. Resets server idle timer. Requires connected state. */
76
+ sendKeepalive(options?: MqttQuicSendKeepaliveOptions): Promise<{
77
+ ok: boolean;
78
+ }>;
71
79
  ping(options: MqttQuicPingOptions): Promise<{
72
80
  ok: boolean;
73
81
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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"}
package/dist/esm/web.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { WebPlugin } from '@capacitor/core';
2
- import type { MqttQuicConnectOptions, MqttQuicPingOptions, MqttQuicPublishOptions, MqttQuicSubscribeOptions, MqttQuicTestHarnessOptions } from './definitions';
2
+ import type { MqttQuicConnectOptions, MqttQuicPingOptions, MqttQuicPublishOptions, MqttQuicSubscribeOptions, MqttQuicSendKeepaliveOptions, MqttQuicTestHarnessOptions } from './definitions';
3
3
  /**
4
4
  * Web / browser implementation: MQTT over WebSocket (WSS) or over WebTransport (QUIC).
5
5
  * Browsers cannot run ngtcp2/WolfSSL (no UDP). Same API as iOS/Android.
@@ -24,6 +24,10 @@ export declare class MqttQuicWeb extends WebPlugin {
24
24
  ping(_options: MqttQuicPingOptions): Promise<{
25
25
  ok: boolean;
26
26
  }>;
27
+ /** Web: mqtt.js/WT handle keepalive; return ok if connected. */
28
+ sendKeepalive(_options?: MqttQuicSendKeepaliveOptions): Promise<{
29
+ ok: boolean;
30
+ }>;
27
31
  connect(options: MqttQuicConnectOptions): Promise<{
28
32
  connected: boolean;
29
33
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,eAAe,CAAC;AAIvB;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,QAAQ,CAAuB;IAEvC,OAAO,CAAC,EAAE,CAAkD;IAC5D,OAAO,CAAC,QAAQ,CAAwD;IACxE,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,QAAQ,CAAqD;IACrE,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,eAAe,CAA6D;IACpF,OAAO,CAAC,iBAAiB,CAA8C;IACvE,OAAO,CAAC,WAAW,CAAS;;IAM5B,wFAAwF;IAClF,IAAI,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAI7D,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAO/E;;;OAGG;IACH,OAAO,CAAC,kBAAkB;YAYZ,mBAAmB;YAsFnB,OAAO;YAMP,UAAU;YAiBV,UAAU;IAmElB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAgEvE,SAAS,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAuC3E,WAAW,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IA4BtE,WAAW,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAwBtF"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,eAAe,CAAC;AAIvB;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,QAAQ,CAAuB;IAEvC,OAAO,CAAC,EAAE,CAAkD;IAC5D,OAAO,CAAC,QAAQ,CAAwD;IACxE,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,QAAQ,CAAqD;IACrE,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,eAAe,CAA6D;IACpF,OAAO,CAAC,iBAAiB,CAA8C;IACvE,OAAO,CAAC,WAAW,CAAS;;IAM5B,wFAAwF;IAClF,IAAI,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAInE,gEAAgE;IAC1D,aAAa,CAAC,QAAQ,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAKhF,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAO/E;;;OAGG;IACH,OAAO,CAAC,kBAAkB;YAYZ,mBAAmB;YAsFnB,OAAO;YAMP,UAAU;YAiBV,UAAU;IAmElB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAgEvE,SAAS,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAuC3E,WAAW,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IA4BtE,WAAW,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAwBtF"}
package/dist/esm/web.js CHANGED
@@ -27,6 +27,12 @@ export class MqttQuicWeb extends WebPlugin {
27
27
  async ping(_options) {
28
28
  return Promise.resolve({ ok: true });
29
29
  }
30
+ /** Web: mqtt.js/WT handle keepalive; return ok if connected. */
31
+ async sendKeepalive(_options) {
32
+ var _a, _b;
33
+ const connected = (_b = (_a = this.client) === null || _a === void 0 ? void 0 : _a.connected) !== null && _b !== void 0 ? _b : this.wtConnected;
34
+ return Promise.resolve({ ok: !!connected });
35
+ }
30
36
  async connect(options) {
31
37
  if (options.webTransportUrl && typeof WebTransport !== 'undefined') {
32
38
  return this.connectWebTransport(options);
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
@@ -11184,6 +11184,12 @@ class MqttQuicWeb extends core.WebPlugin {
11184
11184
  async ping(_options) {
11185
11185
  return Promise.resolve({ ok: true });
11186
11186
  }
11187
+ /** Web: mqtt.js/WT handle keepalive; return ok if connected. */
11188
+ async sendKeepalive(_options) {
11189
+ var _a, _b;
11190
+ const connected = (_b = (_a = this.client) === null || _a === void 0 ? void 0 : _a.connected) !== null && _b !== void 0 ? _b : this.wtConnected;
11191
+ return Promise.resolve({ ok: !!connected });
11192
+ }
11187
11193
  async connect(options) {
11188
11194
  if (options.webTransportUrl && typeof WebTransport !== 'undefined') {
11189
11195
  return this.connectWebTransport(options);