@capawesome/capacitor-live-update 7.2.2 → 7.4.0-dev.f18299f8.1767510052

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 (38) hide show
  1. package/README.md +289 -28
  2. package/android/build.gradle +2 -0
  3. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/LiveUpdate.java +623 -220
  4. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/LiveUpdateConfig.java +23 -0
  5. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/LiveUpdateHttpClient.java +42 -5
  6. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/LiveUpdatePlugin.java +185 -15
  7. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/LiveUpdatePreferences.java +42 -0
  8. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/api/GetLatestBundleResponse.java +2 -2
  9. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/events/NextBundleSetEvent.java +26 -0
  10. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/options/SetConfigOptions.java +19 -0
  11. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/options/SyncOptions.java +4 -0
  12. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/results/GetBlockedBundlesResult.java +27 -0
  13. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/results/GetConfigResult.java +40 -0
  14. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/results/GetDownloadedBundlesResult.java +27 -0
  15. package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/results/IsSyncingResult.java +26 -0
  16. package/dist/docs.json +428 -1
  17. package/dist/esm/definitions.d.ts +230 -2
  18. package/dist/esm/definitions.js.map +1 -1
  19. package/dist/esm/web.d.ts +8 -1
  20. package/dist/esm/web.js +21 -0
  21. package/dist/esm/web.js.map +1 -1
  22. package/dist/plugin.cjs.js +21 -0
  23. package/dist/plugin.cjs.js.map +1 -1
  24. package/dist/plugin.js +21 -0
  25. package/dist/plugin.js.map +1 -1
  26. package/ios/Plugin/Classes/Events/NextBundleSetEvent.swift +16 -0
  27. package/ios/Plugin/Classes/Options/SetConfigOptions.swift +14 -0
  28. package/ios/Plugin/Classes/Options/SyncOptions.swift +4 -0
  29. package/ios/Plugin/Classes/Results/GetBlockedBundlesResult.swift +16 -0
  30. package/ios/Plugin/Classes/Results/GetConfigResult.swift +19 -0
  31. package/ios/Plugin/Classes/Results/GetDownloadedBundlesResult.swift +16 -0
  32. package/ios/Plugin/Classes/Results/IsSyncingResult.swift +16 -0
  33. package/ios/Plugin/LiveUpdate.swift +178 -4
  34. package/ios/Plugin/LiveUpdateConfig.swift +2 -0
  35. package/ios/Plugin/LiveUpdateHttpClient.swift +4 -2
  36. package/ios/Plugin/LiveUpdatePlugin.swift +106 -11
  37. package/ios/Plugin/LiveUpdatePreferences.swift +56 -0
  38. package/package.json +1 -1
@@ -0,0 +1,40 @@
1
+ package io.capawesome.capacitorjs.plugins.liveupdate.classes.results;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import androidx.annotation.Nullable;
5
+ import com.getcapacitor.JSObject;
6
+ import io.capawesome.capacitorjs.plugins.liveupdate.interfaces.Result;
7
+ import org.json.JSONObject;
8
+
9
+ public class GetConfigResult implements Result {
10
+
11
+ @Nullable
12
+ private final String appId;
13
+
14
+ @NonNull
15
+ private final String autoUpdateStrategy;
16
+
17
+ public GetConfigResult(@Nullable String appId, @NonNull String autoUpdateStrategy) {
18
+ this.appId = appId;
19
+ this.autoUpdateStrategy = autoUpdateStrategy;
20
+ }
21
+
22
+ @Nullable
23
+ public String getAppId() {
24
+ return appId;
25
+ }
26
+
27
+ @NonNull
28
+ public String getAutoUpdateStrategy() {
29
+ return autoUpdateStrategy;
30
+ }
31
+
32
+ @Override
33
+ @NonNull
34
+ public JSObject toJSObject() {
35
+ JSObject result = new JSObject();
36
+ result.put("appId", appId == null ? JSONObject.NULL : appId);
37
+ result.put("autoUpdateStrategy", autoUpdateStrategy);
38
+ return result;
39
+ }
40
+ }
@@ -0,0 +1,27 @@
1
+ package io.capawesome.capacitorjs.plugins.liveupdate.classes.results;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import com.getcapacitor.JSArray;
5
+ import com.getcapacitor.JSObject;
6
+ import io.capawesome.capacitorjs.plugins.liveupdate.interfaces.Result;
7
+
8
+ public class GetDownloadedBundlesResult implements Result {
9
+
10
+ @NonNull
11
+ private String[] bundleIds;
12
+
13
+ public GetDownloadedBundlesResult(@NonNull String[] bundleIds) {
14
+ this.bundleIds = bundleIds;
15
+ }
16
+
17
+ public JSObject toJSObject() {
18
+ JSArray bundleIdsResult = new JSArray();
19
+ for (String bundleId : bundleIds) {
20
+ bundleIdsResult.put(bundleId);
21
+ }
22
+
23
+ JSObject result = new JSObject();
24
+ result.put("bundleIds", bundleIdsResult);
25
+ return result;
26
+ }
27
+ }
@@ -0,0 +1,26 @@
1
+ package io.capawesome.capacitorjs.plugins.liveupdate.classes.results;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import com.getcapacitor.JSObject;
5
+ import io.capawesome.capacitorjs.plugins.liveupdate.interfaces.Result;
6
+
7
+ public class IsSyncingResult implements Result {
8
+
9
+ private final boolean syncing;
10
+
11
+ public IsSyncingResult(boolean syncing) {
12
+ this.syncing = syncing;
13
+ }
14
+
15
+ public boolean getSyncing() {
16
+ return syncing;
17
+ }
18
+
19
+ @Override
20
+ @NonNull
21
+ public JSObject toJSObject() {
22
+ JSObject result = new JSObject();
23
+ result.put("syncing", syncing);
24
+ return result;
25
+ }
26
+ }
package/dist/docs.json CHANGED
@@ -5,6 +5,21 @@
5
5
  "docs": "",
6
6
  "tags": [],
7
7
  "methods": [
8
+ {
9
+ "name": "clearBlockedBundles",
10
+ "signature": "() => Promise<void>",
11
+ "parameters": [],
12
+ "returns": "Promise<void>",
13
+ "tags": [
14
+ {
15
+ "name": "since",
16
+ "text": "7.4.0"
17
+ }
18
+ ],
19
+ "docs": "Clear all blocked bundles from the blocked list.\n\nThis removes all bundle identifiers that were automatically blocked\ndue to rollbacks when `autoBlockRolledBackBundles` is enabled.\n\nOnly available on Android and iOS.",
20
+ "complexTypes": [],
21
+ "slug": "clearblockedbundles"
22
+ },
8
23
  {
9
24
  "name": "deleteBundle",
10
25
  "signature": "(options: DeleteBundleOptions) => Promise<void>",
@@ -75,6 +90,23 @@
75
90
  ],
76
91
  "slug": "fetchlatestbundle"
77
92
  },
93
+ {
94
+ "name": "getBlockedBundles",
95
+ "signature": "() => Promise<GetBlockedBundlesResult>",
96
+ "parameters": [],
97
+ "returns": "Promise<GetBlockedBundlesResult>",
98
+ "tags": [
99
+ {
100
+ "name": "since",
101
+ "text": "7.4.0"
102
+ }
103
+ ],
104
+ "docs": "Get all blocked bundle identifiers.\n\nReturns the list of bundle identifiers that were automatically blocked\ndue to rollbacks when `autoBlockRolledBackBundles` is enabled.\n\nOnly available on Android and iOS.",
105
+ "complexTypes": [
106
+ "GetBlockedBundlesResult"
107
+ ],
108
+ "slug": "getblockedbundles"
109
+ },
78
110
  {
79
111
  "name": "getBundles",
80
112
  "signature": "() => Promise<GetBundlesResult>",
@@ -84,6 +116,10 @@
84
116
  {
85
117
  "name": "since",
86
118
  "text": "5.0.0"
119
+ },
120
+ {
121
+ "name": "deprecated",
122
+ "text": "Use `getDownloadedBundles()` instead."
87
123
  }
88
124
  ],
89
125
  "docs": "Get all identifiers of bundles that have been downloaded.\n\nOnly available on Android and iOS.",
@@ -109,6 +145,40 @@
109
145
  ],
110
146
  "slug": "getchannel"
111
147
  },
148
+ {
149
+ "name": "getConfig",
150
+ "signature": "() => Promise<GetConfigResult>",
151
+ "parameters": [],
152
+ "returns": "Promise<GetConfigResult>",
153
+ "tags": [
154
+ {
155
+ "name": "since",
156
+ "text": "7.4.0"
157
+ }
158
+ ],
159
+ "docs": "Get the runtime configuration.\n\nReturns the current plugin configuration including any runtime\noverrides set via `setConfig()`.\n\nOnly available on Android and iOS.",
160
+ "complexTypes": [
161
+ "GetConfigResult"
162
+ ],
163
+ "slug": "getconfig"
164
+ },
165
+ {
166
+ "name": "getDownloadedBundles",
167
+ "signature": "() => Promise<GetDownloadedBundlesResult>",
168
+ "parameters": [],
169
+ "returns": "Promise<GetDownloadedBundlesResult>",
170
+ "tags": [
171
+ {
172
+ "name": "since",
173
+ "text": "7.4.0"
174
+ }
175
+ ],
176
+ "docs": "Get all identifiers of bundles that have been downloaded.\n\nOnly available on Android and iOS.",
177
+ "complexTypes": [
178
+ "GetDownloadedBundlesResult"
179
+ ],
180
+ "slug": "getdownloadedbundles"
181
+ },
112
182
  {
113
183
  "name": "getCurrentBundle",
114
184
  "signature": "() => Promise<GetCurrentBundleResult>",
@@ -160,6 +230,23 @@
160
230
  ],
161
231
  "slug": "getdeviceid"
162
232
  },
233
+ {
234
+ "name": "isSyncing",
235
+ "signature": "() => Promise<IsSyncingResult>",
236
+ "parameters": [],
237
+ "returns": "Promise<IsSyncingResult>",
238
+ "tags": [
239
+ {
240
+ "name": "since",
241
+ "text": "7.4.0"
242
+ }
243
+ ],
244
+ "docs": "Check whether a sync operation is currently in progress.\n\nOnly available on Android and iOS.",
245
+ "complexTypes": [
246
+ "IsSyncingResult"
247
+ ],
248
+ "slug": "issyncing"
249
+ },
163
250
  {
164
251
  "name": "getNextBundle",
165
252
  "signature": "() => Promise<GetNextBundleResult>",
@@ -258,6 +345,21 @@
258
345
  "complexTypes": [],
259
346
  "slug": "reset"
260
347
  },
348
+ {
349
+ "name": "resetConfig",
350
+ "signature": "() => Promise<void>",
351
+ "parameters": [],
352
+ "returns": "Promise<void>",
353
+ "tags": [
354
+ {
355
+ "name": "since",
356
+ "text": "7.4.0"
357
+ }
358
+ ],
359
+ "docs": "Reset the runtime configuration to the values from the Capacitor config file.\n\nThis clears any runtime configuration set via `setConfig()`.\nThe changes take effect immediately.\n\nOnly available on Android and iOS.",
360
+ "complexTypes": [],
361
+ "slug": "resetconfig"
362
+ },
261
363
  {
262
364
  "name": "setChannel",
263
365
  "signature": "(options: SetChannelOptions) => Promise<void>",
@@ -281,6 +383,29 @@
281
383
  ],
282
384
  "slug": "setchannel"
283
385
  },
386
+ {
387
+ "name": "setConfig",
388
+ "signature": "(options: SetConfigOptions) => Promise<void>",
389
+ "parameters": [
390
+ {
391
+ "name": "options",
392
+ "docs": "",
393
+ "type": "SetConfigOptions"
394
+ }
395
+ ],
396
+ "returns": "Promise<void>",
397
+ "tags": [
398
+ {
399
+ "name": "since",
400
+ "text": "7.4.0"
401
+ }
402
+ ],
403
+ "docs": "Set the runtime configuration.\n\nThis allows updating plugin configuration options at runtime.\nThe changes are persisted across app restarts and take effect immediately.\n\n**Important:** Runtime configuration is automatically reset to default values\nwhenever the native app is updated to a new version. This ensures that\nconfiguration from previous versions doesn't persist after an app update.\n\nOnly available on Android and iOS.",
404
+ "complexTypes": [
405
+ "SetConfigOptions"
406
+ ],
407
+ "slug": "setconfig"
408
+ },
284
409
  {
285
410
  "name": "setCustomId",
286
411
  "signature": "(options: SetCustomIdOptions) => Promise<void>",
@@ -380,6 +505,64 @@
380
505
  ],
381
506
  "slug": "addlistenerdownloadbundleprogress-"
382
507
  },
508
+ {
509
+ "name": "addListener",
510
+ "signature": "(eventName: 'nextBundleSet', listenerFunc: NextBundleSetListener) => Promise<PluginListenerHandle>",
511
+ "parameters": [
512
+ {
513
+ "name": "eventName",
514
+ "docs": "",
515
+ "type": "'nextBundleSet'"
516
+ },
517
+ {
518
+ "name": "listenerFunc",
519
+ "docs": "",
520
+ "type": "NextBundleSetListener"
521
+ }
522
+ ],
523
+ "returns": "Promise<PluginListenerHandle>",
524
+ "tags": [
525
+ {
526
+ "name": "since",
527
+ "text": "7.3.0"
528
+ }
529
+ ],
530
+ "docs": "Listen for when a bundle is set as the next bundle.\n\nThis event is triggered whenever a bundle is set to be used on the next app restart,\neither through automatic updates or manual calls to `setNextBundle()`.\n\nOnly available on Android and iOS.",
531
+ "complexTypes": [
532
+ "PluginListenerHandle",
533
+ "NextBundleSetListener"
534
+ ],
535
+ "slug": "addlistenernextbundleset-"
536
+ },
537
+ {
538
+ "name": "addListener",
539
+ "signature": "(eventName: 'reloaded', listenerFunc: ReloadedListener) => Promise<PluginListenerHandle>",
540
+ "parameters": [
541
+ {
542
+ "name": "eventName",
543
+ "docs": "",
544
+ "type": "'reloaded'"
545
+ },
546
+ {
547
+ "name": "listenerFunc",
548
+ "docs": "",
549
+ "type": "ReloadedListener"
550
+ }
551
+ ],
552
+ "returns": "Promise<PluginListenerHandle>",
553
+ "tags": [
554
+ {
555
+ "name": "since",
556
+ "text": "7.4.0"
557
+ }
558
+ ],
559
+ "docs": "Listen for when the app is reloaded.\n\nThis event is triggered after the `reload()` method is called\nand the app has been reloaded.\n\n**Note:** To verify whether an update was successfully applied after a reload,\nuse the `ready()` method instead. The `ready()` method provides detailed information\nabout the current bundle, previous bundle, and whether a rollback occurred.\n\nOnly available on Android and iOS.",
560
+ "complexTypes": [
561
+ "PluginListenerHandle",
562
+ "ReloadedListener"
563
+ ],
564
+ "slug": "addlistenerreloaded-"
565
+ },
383
566
  {
384
567
  "name": "removeAllListeners",
385
568
  "signature": "() => Promise<void>",
@@ -630,6 +813,32 @@
630
813
  }
631
814
  ]
632
815
  },
816
+ {
817
+ "name": "GetBlockedBundlesResult",
818
+ "slug": "getblockedbundlesresult",
819
+ "docs": "",
820
+ "tags": [
821
+ {
822
+ "text": "7.4.0",
823
+ "name": "since"
824
+ }
825
+ ],
826
+ "methods": [],
827
+ "properties": [
828
+ {
829
+ "name": "bundleIds",
830
+ "tags": [
831
+ {
832
+ "text": "7.4.0",
833
+ "name": "since"
834
+ }
835
+ ],
836
+ "docs": "An array of unique identifiers of all blocked bundles.",
837
+ "complexTypes": [],
838
+ "type": "string[]"
839
+ }
840
+ ]
841
+ },
633
842
  {
634
843
  "name": "GetBundlesResult",
635
844
  "slug": "getbundlesresult",
@@ -686,6 +895,78 @@
686
895
  }
687
896
  ]
688
897
  },
898
+ {
899
+ "name": "GetConfigResult",
900
+ "slug": "getconfigresult",
901
+ "docs": "",
902
+ "tags": [
903
+ {
904
+ "text": "7.4.0",
905
+ "name": "since"
906
+ }
907
+ ],
908
+ "methods": [],
909
+ "properties": [
910
+ {
911
+ "name": "appId",
912
+ "tags": [
913
+ {
914
+ "text": "7.4.0",
915
+ "name": "since"
916
+ },
917
+ {
918
+ "text": "'6e351b4f-69a7-415e-a057-4567df7ffe94'",
919
+ "name": "example"
920
+ }
921
+ ],
922
+ "docs": "The app ID used to identify the app.\n\nIf `null`, no app ID is configured.",
923
+ "complexTypes": [],
924
+ "type": "string | null"
925
+ },
926
+ {
927
+ "name": "autoUpdateStrategy",
928
+ "tags": [
929
+ {
930
+ "text": "7.4.0",
931
+ "name": "since"
932
+ },
933
+ {
934
+ "text": "'background'",
935
+ "name": "example"
936
+ }
937
+ ],
938
+ "docs": "The auto-update strategy for live updates.",
939
+ "complexTypes": [],
940
+ "type": "'none' | 'background'"
941
+ }
942
+ ]
943
+ },
944
+ {
945
+ "name": "GetDownloadedBundlesResult",
946
+ "slug": "getdownloadedbundlesresult",
947
+ "docs": "",
948
+ "tags": [
949
+ {
950
+ "text": "7.4.0",
951
+ "name": "since"
952
+ }
953
+ ],
954
+ "methods": [],
955
+ "properties": [
956
+ {
957
+ "name": "bundleIds",
958
+ "tags": [
959
+ {
960
+ "text": "7.4.0",
961
+ "name": "since"
962
+ }
963
+ ],
964
+ "docs": "An array of unique identifiers of all downloaded bundles.",
965
+ "complexTypes": [],
966
+ "type": "string[]"
967
+ }
968
+ ]
969
+ },
689
970
  {
690
971
  "name": "GetCurrentBundleResult",
691
972
  "slug": "getcurrentbundleresult",
@@ -772,6 +1053,32 @@
772
1053
  }
773
1054
  ]
774
1055
  },
1056
+ {
1057
+ "name": "IsSyncingResult",
1058
+ "slug": "issyncingresult",
1059
+ "docs": "",
1060
+ "tags": [
1061
+ {
1062
+ "text": "7.4.0",
1063
+ "name": "since"
1064
+ }
1065
+ ],
1066
+ "methods": [],
1067
+ "properties": [
1068
+ {
1069
+ "name": "syncing",
1070
+ "tags": [
1071
+ {
1072
+ "text": "7.4.0",
1073
+ "name": "since"
1074
+ }
1075
+ ],
1076
+ "docs": "Whether a sync operation is currently in progress.",
1077
+ "complexTypes": [],
1078
+ "type": "boolean"
1079
+ }
1080
+ ]
1081
+ },
775
1082
  {
776
1083
  "name": "GetNextBundleResult",
777
1084
  "slug": "getnextbundleresult",
@@ -934,6 +1241,36 @@
934
1241
  }
935
1242
  ]
936
1243
  },
1244
+ {
1245
+ "name": "SetConfigOptions",
1246
+ "slug": "setconfigoptions",
1247
+ "docs": "",
1248
+ "tags": [
1249
+ {
1250
+ "text": "7.4.0",
1251
+ "name": "since"
1252
+ }
1253
+ ],
1254
+ "methods": [],
1255
+ "properties": [
1256
+ {
1257
+ "name": "appId",
1258
+ "tags": [
1259
+ {
1260
+ "text": "7.4.0",
1261
+ "name": "since"
1262
+ },
1263
+ {
1264
+ "text": "'6e351b4f-69a7-415e-a057-4567df7ffe94'",
1265
+ "name": "example"
1266
+ }
1267
+ ],
1268
+ "docs": "The app ID used to identify the app.\n\nSet `null` to reset to the value from the Capacitor config file.",
1269
+ "complexTypes": [],
1270
+ "type": "string | null | undefined"
1271
+ }
1272
+ ]
1273
+ },
937
1274
  {
938
1275
  "name": "SetCustomIdOptions",
939
1276
  "slug": "setcustomidoptions",
@@ -1123,6 +1460,36 @@
1123
1460
  "type": "number"
1124
1461
  }
1125
1462
  ]
1463
+ },
1464
+ {
1465
+ "name": "NextBundleSetEvent",
1466
+ "slug": "nextbundlesetevent",
1467
+ "docs": "Event that is triggered when a bundle is set as the next bundle.",
1468
+ "tags": [
1469
+ {
1470
+ "text": "7.3.0",
1471
+ "name": "since"
1472
+ }
1473
+ ],
1474
+ "methods": [],
1475
+ "properties": [
1476
+ {
1477
+ "name": "bundleId",
1478
+ "tags": [
1479
+ {
1480
+ "text": "7.3.0",
1481
+ "name": "since"
1482
+ },
1483
+ {
1484
+ "text": "'1.0.0'",
1485
+ "name": "example"
1486
+ }
1487
+ ],
1488
+ "docs": "The unique identifier of the bundle that is set as the next bundle.\n\nIf `null`, the default bundle will be used.",
1489
+ "complexTypes": [],
1490
+ "type": "string | null"
1491
+ }
1492
+ ]
1126
1493
  }
1127
1494
  ],
1128
1495
  "enums": [],
@@ -1139,6 +1506,30 @@
1139
1506
  ]
1140
1507
  }
1141
1508
  ]
1509
+ },
1510
+ {
1511
+ "name": "NextBundleSetListener",
1512
+ "slug": "nextbundlesetlistener",
1513
+ "docs": "Listener for when a bundle is set as the next bundle.",
1514
+ "types": [
1515
+ {
1516
+ "text": "(event: NextBundleSetEvent): void",
1517
+ "complexTypes": [
1518
+ "NextBundleSetEvent"
1519
+ ]
1520
+ }
1521
+ ]
1522
+ },
1523
+ {
1524
+ "name": "ReloadedListener",
1525
+ "slug": "reloadedlistener",
1526
+ "docs": "Listener for when the app is reloaded.",
1527
+ "types": [
1528
+ {
1529
+ "text": "(): void",
1530
+ "complexTypes": []
1531
+ }
1532
+ ]
1142
1533
  }
1143
1534
  ],
1144
1535
  "pluginConfigs": [
@@ -1162,6 +1553,22 @@
1162
1553
  "complexTypes": [],
1163
1554
  "type": "string | undefined"
1164
1555
  },
1556
+ {
1557
+ "name": "autoBlockRolledBackBundles",
1558
+ "tags": [
1559
+ {
1560
+ "text": "7.3.0",
1561
+ "name": "since"
1562
+ },
1563
+ {
1564
+ "text": "false",
1565
+ "name": "default"
1566
+ }
1567
+ ],
1568
+ "docs": "Whether or not to automatically block bundles that have been rolled back.\n\nWhen enabled, the plugin will automatically block bundles that caused a rollback\n(up to 100 bundles). When the limit is reached, the oldest blocked bundle is unblocked.\nBlocked bundles will be skipped in future sync operations.\n\n**Attention**: This option has no effect if `readyTimeout` is set to `0`.\n\nOnly available on Android and iOS.",
1569
+ "complexTypes": [],
1570
+ "type": "boolean | undefined"
1571
+ },
1165
1572
  {
1166
1573
  "name": "autoDeleteBundles",
1167
1574
  "tags": [
@@ -1178,6 +1585,26 @@
1178
1585
  "complexTypes": [],
1179
1586
  "type": "boolean | undefined"
1180
1587
  },
1588
+ {
1589
+ "name": "autoUpdateStrategy",
1590
+ "tags": [
1591
+ {
1592
+ "text": "7.3.0",
1593
+ "name": "since"
1594
+ },
1595
+ {
1596
+ "text": "'none'",
1597
+ "name": "default"
1598
+ },
1599
+ {
1600
+ "text": "'background'",
1601
+ "name": "example"
1602
+ }
1603
+ ],
1604
+ "docs": "The auto-update strategy for live updates.\n\n- `none`: Live updates will not be applied automatically.\n- `background`: Live updates will be automatically downloaded\nand applied in the background at app startup and when the app resumes\n(if the last check was more than 15 minutes ago).\n\nOnly available on Android and iOS.",
1605
+ "complexTypes": [],
1606
+ "type": "'none' | 'background' | undefined"
1607
+ },
1181
1608
  {
1182
1609
  "name": "defaultChannel",
1183
1610
  "tags": [
@@ -1242,7 +1669,7 @@
1242
1669
  "name": "example"
1243
1670
  }
1244
1671
  ],
1245
- "docs": "The timeout in milliseconds to wait for the app to be ready\nbefore resetting to the default bundle.\n\nIt is strongly **recommended** to configure this option so that\nthe plugin can roll back to the default bundle in case of problems.\nIf configured, the plugin will wait for the app to call the `ready()`\nmethod before resetting to the default bundle.\n\nSet to `0` to disable the timeout.",
1672
+ "docs": "The timeout in milliseconds to wait for the app to be ready\nbefore resetting to the default bundle.\n\nIt is strongly **recommended** to configure this option (e.g. `10000` ms)\nso that the plugin can roll back to the default bundle in case of problems.\nIf configured, the plugin will wait for the app to call the `ready()`\nmethod before resetting to the default bundle.\n\nSet to `0` to disable the timeout.",
1246
1673
  "complexTypes": [],
1247
1674
  "type": "number | undefined"
1248
1675
  },