@capawesome/capacitor-live-update 6.4.2 → 6.5.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.
@@ -8,7 +8,7 @@ import Capacitor
8
8
  @objc(LiveUpdatePlugin)
9
9
  public class LiveUpdatePlugin: CAPPlugin {
10
10
  public static let tag = "LiveUpdate"
11
- public static let version = "6.4.1"
11
+ public static let version = "6.5.0"
12
12
  public static let userDefaultsPrefix = "CapawesomeLiveUpdate" // DO NOT CHANGE
13
13
 
14
14
  private var config: LiveUpdateConfig?
@@ -30,8 +30,7 @@ public class LiveUpdatePlugin: CAPPlugin {
30
30
 
31
31
  implementation?.deleteBundle(options, completion: { error in
32
32
  if let error = error {
33
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
34
- call.reject(error.localizedDescription)
33
+ self.rejectCall(call, error)
35
34
  return
36
35
  }
37
36
  call.resolve()
@@ -39,33 +38,32 @@ public class LiveUpdatePlugin: CAPPlugin {
39
38
  }
40
39
 
41
40
  @objc func downloadBundle(_ call: CAPPluginCall) {
42
- guard let bundleId = call.getString("bundleId") else {
43
- call.reject(CustomError.bundleIdMissing.localizedDescription)
44
- return
45
- }
46
- let checksum = call.getString("checksum")
47
- guard let url = call.getString("url") else {
48
- call.reject(CustomError.urlMissing.localizedDescription)
49
- return
50
- }
51
-
52
- let options = DownloadBundleOptions(bundleId: bundleId, checksum: checksum, url: url)
53
-
54
- implementation?.downloadBundle(options, completion: { error in
55
- if let error = error {
56
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
57
- call.reject(error.localizedDescription)
58
- return
41
+ Task {
42
+ do {
43
+ guard let bundleId = call.getString("bundleId") else {
44
+ call.reject(CustomError.bundleIdMissing.localizedDescription)
45
+ return
46
+ }
47
+ let checksum = call.getString("checksum")
48
+ guard let url = call.getString("url") else {
49
+ call.reject(CustomError.urlMissing.localizedDescription)
50
+ return
51
+ }
52
+
53
+ let options = DownloadBundleOptions(bundleId: bundleId, checksum: checksum, url: url)
54
+
55
+ try await implementation?.downloadBundle(options)
56
+ call.resolve()
57
+ } catch {
58
+ rejectCall(call, error)
59
59
  }
60
- call.resolve()
61
- })
60
+ }
62
61
  }
63
62
 
64
63
  @objc func getBundle(_ call: CAPPluginCall) {
65
64
  implementation?.getBundle(completion: { result, error in
66
65
  if let error = error {
67
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
68
- call.reject(error.localizedDescription)
66
+ self.rejectCall(call, error)
69
67
  return
70
68
  }
71
69
  if let result = result?.toJSObject() as? JSObject {
@@ -77,8 +75,7 @@ public class LiveUpdatePlugin: CAPPlugin {
77
75
  @objc func getBundles(_ call: CAPPluginCall) {
78
76
  implementation?.getBundles(completion: { result, error in
79
77
  if let error = error {
80
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
81
- call.reject(error.localizedDescription)
78
+ self.rejectCall(call, error)
82
79
  return
83
80
  }
84
81
  if let result = result?.toJSObject() as? JSObject {
@@ -90,8 +87,7 @@ public class LiveUpdatePlugin: CAPPlugin {
90
87
  @objc func getChannel(_ call: CAPPluginCall) {
91
88
  implementation?.getChannel(completion: { result, error in
92
89
  if let error = error {
93
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
94
- call.reject(error.localizedDescription)
90
+ self.rejectCall(call, error)
95
91
  return
96
92
  }
97
93
  if let result = result?.toJSObject() as? JSObject {
@@ -103,8 +99,7 @@ public class LiveUpdatePlugin: CAPPlugin {
103
99
  @objc func getCustomId(_ call: CAPPluginCall) {
104
100
  implementation?.getCustomId(completion: { result, error in
105
101
  if let error = error {
106
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
107
- call.reject(error.localizedDescription)
102
+ self.rejectCall(call, error)
108
103
  return
109
104
  }
110
105
  if let result = result?.toJSObject() as? JSObject {
@@ -116,8 +111,7 @@ public class LiveUpdatePlugin: CAPPlugin {
116
111
  @objc func getDeviceId(_ call: CAPPluginCall) {
117
112
  implementation?.getDeviceId(completion: { result, error in
118
113
  if let error = error {
119
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
120
- call.reject(error.localizedDescription)
114
+ self.rejectCall(call, error)
121
115
  return
122
116
  }
123
117
  if let result = result?.toJSObject() as? JSObject {
@@ -129,8 +123,7 @@ public class LiveUpdatePlugin: CAPPlugin {
129
123
  @objc func getVersionCode(_ call: CAPPluginCall) {
130
124
  implementation?.getVersionCode(completion: { result, error in
131
125
  if let error = error {
132
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
133
- call.reject(error.localizedDescription)
126
+ self.rejectCall(call, error)
134
127
  return
135
128
  }
136
129
  if let result = result?.toJSObject() as? JSObject {
@@ -142,8 +135,7 @@ public class LiveUpdatePlugin: CAPPlugin {
142
135
  @objc func getVersionName(_ call: CAPPluginCall) {
143
136
  implementation?.getVersionName(completion: { result, error in
144
137
  if let error = error {
145
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
146
- call.reject(error.localizedDescription)
138
+ self.rejectCall(call, error)
147
139
  return
148
140
  }
149
141
  if let result = result?.toJSObject() as? JSObject {
@@ -177,8 +169,7 @@ public class LiveUpdatePlugin: CAPPlugin {
177
169
 
178
170
  implementation?.setBundle(options, completion: { error in
179
171
  if let error = error {
180
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
181
- call.reject(error.localizedDescription)
172
+ self.rejectCall(call, error)
182
173
  return
183
174
  }
184
175
  })
@@ -192,8 +183,7 @@ public class LiveUpdatePlugin: CAPPlugin {
192
183
 
193
184
  implementation?.setChannel(options, completion: { error in
194
185
  if let error = error {
195
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
196
- call.reject(error.localizedDescription)
186
+ self.rejectCall(call, error)
197
187
  return
198
188
  }
199
189
  })
@@ -210,8 +200,7 @@ public class LiveUpdatePlugin: CAPPlugin {
210
200
 
211
201
  implementation?.setCustomId(options, completion: { error in
212
202
  if let error = error {
213
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
214
- call.reject(error.localizedDescription)
203
+ self.rejectCall(call, error)
215
204
  return
216
205
  }
217
206
  })
@@ -219,28 +208,30 @@ public class LiveUpdatePlugin: CAPPlugin {
219
208
  }
220
209
 
221
210
  @objc func sync(_ call: CAPPluginCall) {
222
- guard let _ = config?.appId else {
223
- call.reject(CustomError.appIdMissing.localizedDescription)
224
- return
225
- }
226
-
227
- guard !syncInProgress else {
228
- call.reject(CustomError.syncInProgress.localizedDescription)
229
- return
230
- }
231
- syncInProgress = true
232
-
233
- implementation?.sync(completion: { result, error in
234
- self.syncInProgress = false
235
- if let error = error {
236
- CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
237
- call.reject(error.localizedDescription)
238
- return
211
+ Task {
212
+ do {
213
+
214
+ guard let _ = config?.appId else {
215
+ call.reject(CustomError.appIdMissing.localizedDescription)
216
+ return
217
+ }
218
+
219
+ guard !syncInProgress else {
220
+ call.reject(CustomError.syncInProgress.localizedDescription)
221
+ return
222
+ }
223
+ syncInProgress = true
224
+
225
+ let result = try await implementation?.sync()
226
+ self.syncInProgress = false
227
+ if let result = result?.toJSObject() as? JSObject {
228
+ call.resolve(result)
229
+ }
230
+ } catch {
231
+ self.syncInProgress = false
232
+ rejectCall(call, error)
239
233
  }
240
- if let result = result?.toJSObject() as? JSObject {
241
- call.resolve(result)
242
- }
243
- })
234
+ }
244
235
  }
245
236
 
246
237
  private func liveUpdateConfig() -> LiveUpdateConfig {
@@ -258,4 +249,15 @@ public class LiveUpdatePlugin: CAPPlugin {
258
249
 
259
250
  return config
260
251
  }
252
+
253
+ private func rejectCall(_ call: CAPPluginCall, _ error: Error) {
254
+ CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
255
+ var message = error.localizedDescription
256
+ if let urlError = error as? URLError {
257
+ if urlError.code == .timedOut {
258
+ message = CustomError.httpTimeout.localizedDescription
259
+ }
260
+ }
261
+ call.reject(message)
262
+ }
261
263
  }
@@ -1,6 +1,5 @@
1
- struct GetLatestBundleResponse: Codable {
1
+ public struct GetLatestBundleResponse: Codable {
2
+ var artifactType: ArtifactType
2
3
  var bundleId: String
3
- var checksum: String?
4
- var signature: String?
5
4
  var url: String
6
5
  }
@@ -0,0 +1,5 @@
1
+ public struct ManifestItem: Codable {
2
+ var checksum: String
3
+ var href: String
4
+ var sizeInBytes: Int
5
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capawesome/capacitor-live-update",
3
- "version": "6.4.2",
3
+ "version": "6.5.0",
4
4
  "description": "Capacitor plugin to update your app remotely in real-time.",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",