@quiltt/capacitor 5.1.3 → 5.2.2
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 +34 -2
- package/LICENSE.md +1 -1
- package/README.md +16 -15
- package/android/src/main/kotlin/app/quiltt/capacitor/QuilttConnectorPlugin.kt +7 -7
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/react.cjs +3 -3
- package/dist/react.d.ts +3 -3
- package/dist/react.js +3 -3
- package/dist/vue.cjs +1 -1
- package/dist/vue.d.ts +3 -3
- package/dist/vue.js +1 -1
- package/dist/{web-CUWsqcUV.js → web-B24tBhVg.js} +2 -2
- package/dist/{web-BgcuNl8a.cjs → web-DpKA6Bx9.cjs} +2 -2
- package/ios/Sources/QuilttConnectorPlugin/QuilttConnectorPlugin.swift +17 -13
- package/package.json +15 -21
- package/src/components/QuilttConnector.tsx +2 -2
- package/src/definitions.ts +3 -3
- package/src/web.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,42 @@
|
|
|
1
1
|
# @quiltt/capacitor
|
|
2
2
|
|
|
3
|
+
## 5.2.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#444](https://github.com/quiltt/quiltt-sdks/pull/444) [`ac582f5`](https://github.com/quiltt/quiltt-sdks/commit/ac582f5313c206765b17ebaacd6d50327130a552) Thanks [@zubairaziz](https://github.com/zubairaziz)! - Trigger manual release
|
|
8
|
+
|
|
9
|
+
- Updated dependencies [[`ac582f5`](https://github.com/quiltt/quiltt-sdks/commit/ac582f5313c206765b17ebaacd6d50327130a552)]:
|
|
10
|
+
- @quiltt/react@5.2.2
|
|
11
|
+
- @quiltt/vue@5.2.2
|
|
12
|
+
|
|
13
|
+
## 5.2.1
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [#436](https://github.com/quiltt/quiltt-sdks/pull/436) [`4062b87`](https://github.com/quiltt/quiltt-sdks/commit/4062b87e6868b253bd2e878a2d64c754ed9dbf41) Thanks [@zubairaziz](https://github.com/zubairaziz)! - Added integration tests across all SDK packages (React, Vue, Capacitor React/Vue, React Native, Android, Flutter, and iOS) and validated consistent connector behavior
|
|
18
|
+
|
|
19
|
+
- Updated dependencies [[`4062b87`](https://github.com/quiltt/quiltt-sdks/commit/4062b87e6868b253bd2e878a2d64c754ed9dbf41)]:
|
|
20
|
+
- @quiltt/react@5.2.1
|
|
21
|
+
- @quiltt/vue@5.2.1
|
|
22
|
+
|
|
23
|
+
## 5.2.0
|
|
24
|
+
|
|
25
|
+
### Minor Changes
|
|
26
|
+
|
|
27
|
+
- [#427](https://github.com/quiltt/quiltt-sdks/pull/427) [`6d4b768`](https://github.com/quiltt/quiltt-sdks/commit/6d4b7683f49d0a6e649a4bdfaff0398669102a63) Thanks [@zubairaziz](https://github.com/zubairaziz)! - Bump minor version to be consistent with SemVer standards
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- Updated dependencies [[`6d4b768`](https://github.com/quiltt/quiltt-sdks/commit/6d4b7683f49d0a6e649a4bdfaff0398669102a63)]:
|
|
32
|
+
- @quiltt/react@5.2.0
|
|
33
|
+
- @quiltt/vue@5.2.0
|
|
34
|
+
|
|
3
35
|
## 5.1.3
|
|
4
36
|
|
|
5
37
|
### Patch Changes
|
|
6
38
|
|
|
7
|
-
- [#425](https://github.com/quiltt/quiltt-
|
|
39
|
+
- [#425](https://github.com/quiltt/quiltt-sdks/pull/425) [`c684b3b`](https://github.com/quiltt/quiltt-sdks/commit/c684b3b5f6ea2829e2abfa2a75c0d430edad66a5) Thanks [@zubairaziz](https://github.com/zubairaziz)! - Add @quiltt/capacitor package for Ionic and Capacitor apps
|
|
8
40
|
|
|
9
41
|
- Framework-agnostic by default — works with Vue, Angular, Svelte, or vanilla JS
|
|
10
42
|
- Vue 3 components via `@quiltt/capacitor/vue` subpath
|
|
@@ -41,6 +73,6 @@
|
|
|
41
73
|
<QuilttConnector appLauncherUrl="https://myapp.com/callback" />
|
|
42
74
|
```
|
|
43
75
|
|
|
44
|
-
- Updated dependencies [[`c684b3b`](https://github.com/quiltt/quiltt-
|
|
76
|
+
- Updated dependencies [[`c684b3b`](https://github.com/quiltt/quiltt-sdks/commit/c684b3b5f6ea2829e2abfa2a75c0d430edad66a5)]:
|
|
45
77
|
- @quiltt/react@5.1.3
|
|
46
78
|
- @quiltt/vue@5.1.3
|
package/LICENSE.md
CHANGED
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @quiltt/capacitor
|
|
2
2
|
|
|
3
3
|
[](https://badge.fury.io/js/@quiltt%2Fcapacitor)
|
|
4
|
-
[](https://github.com/quiltt/quiltt-sdks/actions/workflows/ci-js.yml)
|
|
5
5
|
|
|
6
6
|
Quiltt Connector SDK for Capacitor and Ionic apps on iOS, Android, and web.
|
|
7
7
|
|
|
@@ -20,7 +20,8 @@ npx cap sync
|
|
|
20
20
|
|
|
21
21
|
## Deep Link Configuration
|
|
22
22
|
|
|
23
|
-
Configure URL schemes for OAuth callbacks from bank authentication.
|
|
23
|
+
Configure URL schemes for OAuth callbacks from bank authentication. This should match the
|
|
24
|
+
`appLauncherUrl` / `app-launcher-url` you pass to Quiltt components.
|
|
24
25
|
|
|
25
26
|
**iOS** — `ios/App/Info.plist`:
|
|
26
27
|
|
|
@@ -162,22 +163,22 @@ import { QuilttConnector } from '@quiltt/capacitor'
|
|
|
162
163
|
| Method | Description |
|
|
163
164
|
| ----------------------------------- | ------------------------------------- |
|
|
164
165
|
| `openUrl({ url })` | Opens URL in system browser |
|
|
165
|
-
| `
|
|
166
|
+
| `getAppLauncherUrl()` | Returns the app launcher URL |
|
|
166
167
|
| `addListener('deepLink', callback)` | Listens for deep link callbacks |
|
|
167
168
|
| `removeAllListeners()` | Removes all event listeners |
|
|
168
169
|
|
|
169
170
|
### Component Props
|
|
170
171
|
|
|
171
|
-
| Prop | Type | Description
|
|
172
|
-
| ---------------- | -------------------- |
|
|
173
|
-
| `connectorId` | `string` | **Required.** Quiltt Connector ID
|
|
174
|
-
| `connectionId` | `string` | Existing connection ID for reconnection
|
|
175
|
-
| `institution` | `string` | Pre-select an institution
|
|
176
|
-
| `appLauncherUrl` | `string` |
|
|
177
|
-
| `onLoad` | `(metadata) => void` | Connector loaded
|
|
178
|
-
| `onExitSuccess` | `(metadata) => void` | Connection successful
|
|
179
|
-
| `onExitAbort` | `(metadata) => void` | User cancelled
|
|
180
|
-
| `onExitError` | `(metadata) => void` | Error occurred
|
|
172
|
+
| Prop | Type | Description |
|
|
173
|
+
| ---------------- | -------------------- | -------------------------------------------------------------- |
|
|
174
|
+
| `connectorId` | `string` | **Required.** Quiltt Connector ID |
|
|
175
|
+
| `connectionId` | `string` | Existing connection ID for reconnection |
|
|
176
|
+
| `institution` | `string` | Pre-select an institution |
|
|
177
|
+
| `appLauncherUrl` | `string` | App launcher URL (Universal Link/App Link) for OAuth callbacks |
|
|
178
|
+
| `onLoad` | `(metadata) => void` | Connector loaded |
|
|
179
|
+
| `onExitSuccess` | `(metadata) => void` | Connection successful |
|
|
180
|
+
| `onExitAbort` | `(metadata) => void` | User cancelled |
|
|
181
|
+
| `onExitError` | `(metadata) => void` | Error occurred |
|
|
181
182
|
|
|
182
183
|
### Re-exports
|
|
183
184
|
|
|
@@ -193,7 +194,7 @@ import { QuilttConnector } from '@quiltt/capacitor'
|
|
|
193
194
|
|
|
194
195
|
### OAuth redirects not working
|
|
195
196
|
|
|
196
|
-
- Verify `appLauncherUrl` matches your URL scheme
|
|
197
|
+
- Verify `appLauncherUrl` matches your configured URL scheme or app link
|
|
197
198
|
- Run `npx cap sync` after configuration changes
|
|
198
199
|
|
|
199
200
|
### Blank screen after bank auth
|
|
@@ -211,4 +212,4 @@ import { QuilttConnector } from '@quiltt/capacitor'
|
|
|
211
212
|
|
|
212
213
|
## License
|
|
213
214
|
|
|
214
|
-
MIT
|
|
215
|
+
This project is licensed under the terms of the MIT license. See the [LICENSE](LICENSE.md) file for more information.
|
|
@@ -14,10 +14,10 @@ import com.getcapacitor.annotation.CapacitorPlugin
|
|
|
14
14
|
*/
|
|
15
15
|
@CapacitorPlugin(name = "QuilttConnector")
|
|
16
16
|
class QuilttConnectorPlugin : Plugin() {
|
|
17
|
-
private var
|
|
17
|
+
private var appLauncherUrl: String? = null
|
|
18
18
|
|
|
19
19
|
override fun load() {
|
|
20
|
-
//
|
|
20
|
+
// Capture the app launcher URL when the app starts from a deep-link intent
|
|
21
21
|
val intent = activity?.intent
|
|
22
22
|
handleIntent(intent)
|
|
23
23
|
}
|
|
@@ -31,7 +31,7 @@ class QuilttConnectorPlugin : Plugin() {
|
|
|
31
31
|
val data = intent?.data
|
|
32
32
|
if (data != null) {
|
|
33
33
|
val url = data.toString()
|
|
34
|
-
|
|
34
|
+
appLauncherUrl = url
|
|
35
35
|
|
|
36
36
|
// Notify JavaScript listeners
|
|
37
37
|
val ret = JSObject()
|
|
@@ -67,14 +67,14 @@ class QuilttConnectorPlugin : Plugin() {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
/**
|
|
70
|
-
* Returns the
|
|
70
|
+
* Returns the app launcher URL (if any)
|
|
71
71
|
* Used to handle OAuth callbacks and deep link navigation
|
|
72
72
|
*/
|
|
73
73
|
@PluginMethod
|
|
74
|
-
fun
|
|
74
|
+
fun getAppLauncherUrl(call: PluginCall) {
|
|
75
75
|
val ret = JSObject()
|
|
76
|
-
if (
|
|
77
|
-
ret.put("url",
|
|
76
|
+
if (appLauncherUrl != null) {
|
|
77
|
+
ret.put("url", appLauncherUrl)
|
|
78
78
|
} else {
|
|
79
79
|
ret.put("url", JSObject.NULL)
|
|
80
80
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -6,7 +6,7 @@ var core = require('@capacitor/core');
|
|
|
6
6
|
* Native Capacitor plugin for deep link handling and URL opening
|
|
7
7
|
* Used internally by QuilttConnector component for OAuth flows
|
|
8
8
|
*/ const QuilttConnector = core.registerPlugin('QuilttConnector', {
|
|
9
|
-
web: ()=>Promise.resolve().then(function () { return require('./web-
|
|
9
|
+
web: ()=>Promise.resolve().then(function () { return require('./web-DpKA6Bx9.cjs'); }).then((m)=>new m.QuilttConnectorWeb())
|
|
10
10
|
});
|
|
11
11
|
|
|
12
12
|
exports.QuilttConnector = QuilttConnector;
|
package/dist/index.d.ts
CHANGED
|
@@ -45,16 +45,16 @@ interface QuilttConnectorPlugin {
|
|
|
45
45
|
completed: boolean;
|
|
46
46
|
}>;
|
|
47
47
|
/**
|
|
48
|
-
* Get the
|
|
48
|
+
* Get the app launcher URL, if any.
|
|
49
49
|
*
|
|
50
50
|
* This is useful for handling OAuth callbacks when the app is opened
|
|
51
51
|
* from a Universal Link (iOS) or App Link (Android).
|
|
52
52
|
*
|
|
53
|
-
* @returns A promise that resolves with the
|
|
53
|
+
* @returns A promise that resolves with the app launcher URL, or undefined if none
|
|
54
54
|
*
|
|
55
55
|
* @since 5.0.3
|
|
56
56
|
*/
|
|
57
|
-
|
|
57
|
+
getAppLauncherUrl(): Promise<DeepLinkEvent>;
|
|
58
58
|
/**
|
|
59
59
|
* Listen for deep link events.
|
|
60
60
|
*
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { registerPlugin } from '@capacitor/core';
|
|
|
4
4
|
* Native Capacitor plugin for deep link handling and URL opening
|
|
5
5
|
* Used internally by QuilttConnector component for OAuth flows
|
|
6
6
|
*/ const QuilttConnector = registerPlugin('QuilttConnector', {
|
|
7
|
-
web: ()=>import('./web-
|
|
7
|
+
web: ()=>import('./web-B24tBhVg.js').then((m)=>new m.QuilttConnectorWeb())
|
|
8
8
|
});
|
|
9
9
|
|
|
10
10
|
export { QuilttConnector };
|
package/dist/react.cjs
CHANGED
|
@@ -9,7 +9,7 @@ var core = require('@capacitor/core');
|
|
|
9
9
|
* Native Capacitor plugin for deep link handling and URL opening
|
|
10
10
|
* Used internally by QuilttConnector component for OAuth flows
|
|
11
11
|
*/ const QuilttConnector$1 = core.registerPlugin('QuilttConnector', {
|
|
12
|
-
web: ()=>Promise.resolve().then(function () { return require('./web-
|
|
12
|
+
web: ()=>Promise.resolve().then(function () { return require('./web-DpKA6Bx9.cjs'); }).then((m)=>new m.QuilttConnectorWeb())
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
const trustedQuilttHostSuffixes = [
|
|
@@ -225,8 +225,8 @@ const normalizeUrlValue = (value)=>decodeIfEncoded(value.trim());
|
|
|
225
225
|
postOAuthCallbackToIframe(event.url);
|
|
226
226
|
}
|
|
227
227
|
});
|
|
228
|
-
// Check if app was
|
|
229
|
-
QuilttConnector$1.
|
|
228
|
+
// Check if app was opened via the app launcher URL
|
|
229
|
+
QuilttConnector$1.getAppLauncherUrl().then((result)=>{
|
|
230
230
|
if (result?.url) {
|
|
231
231
|
postOAuthCallbackToIframe(result.url);
|
|
232
232
|
}
|
package/dist/react.d.ts
CHANGED
|
@@ -68,16 +68,16 @@ interface QuilttConnectorPlugin {
|
|
|
68
68
|
completed: boolean;
|
|
69
69
|
}>;
|
|
70
70
|
/**
|
|
71
|
-
* Get the
|
|
71
|
+
* Get the app launcher URL, if any.
|
|
72
72
|
*
|
|
73
73
|
* This is useful for handling OAuth callbacks when the app is opened
|
|
74
74
|
* from a Universal Link (iOS) or App Link (Android).
|
|
75
75
|
*
|
|
76
|
-
* @returns A promise that resolves with the
|
|
76
|
+
* @returns A promise that resolves with the app launcher URL, or undefined if none
|
|
77
77
|
*
|
|
78
78
|
* @since 5.0.3
|
|
79
79
|
*/
|
|
80
|
-
|
|
80
|
+
getAppLauncherUrl(): Promise<DeepLinkEvent>;
|
|
81
81
|
/**
|
|
82
82
|
* Listen for deep link events.
|
|
83
83
|
*
|
package/dist/react.js
CHANGED
|
@@ -8,7 +8,7 @@ import { registerPlugin } from '@capacitor/core';
|
|
|
8
8
|
* Native Capacitor plugin for deep link handling and URL opening
|
|
9
9
|
* Used internally by QuilttConnector component for OAuth flows
|
|
10
10
|
*/ const QuilttConnector$1 = registerPlugin('QuilttConnector', {
|
|
11
|
-
web: ()=>import('./web-
|
|
11
|
+
web: ()=>import('./web-B24tBhVg.js').then((m)=>new m.QuilttConnectorWeb())
|
|
12
12
|
});
|
|
13
13
|
|
|
14
14
|
const trustedQuilttHostSuffixes = [
|
|
@@ -224,8 +224,8 @@ const normalizeUrlValue = (value)=>decodeIfEncoded(value.trim());
|
|
|
224
224
|
postOAuthCallbackToIframe(event.url);
|
|
225
225
|
}
|
|
226
226
|
});
|
|
227
|
-
// Check if app was
|
|
228
|
-
QuilttConnector$1.
|
|
227
|
+
// Check if app was opened via the app launcher URL
|
|
228
|
+
QuilttConnector$1.getAppLauncherUrl().then((result)=>{
|
|
229
229
|
if (result?.url) {
|
|
230
230
|
postOAuthCallbackToIframe(result.url);
|
|
231
231
|
}
|
package/dist/vue.cjs
CHANGED
|
@@ -7,7 +7,7 @@ var core = require('@capacitor/core');
|
|
|
7
7
|
* Native Capacitor plugin for deep link handling and URL opening
|
|
8
8
|
* Used internally by QuilttConnector component for OAuth flows
|
|
9
9
|
*/ const QuilttConnector = core.registerPlugin('QuilttConnector', {
|
|
10
|
-
web: ()=>Promise.resolve().then(function () { return require('./web-
|
|
10
|
+
web: ()=>Promise.resolve().then(function () { return require('./web-DpKA6Bx9.cjs'); }).then((m)=>new m.QuilttConnectorWeb())
|
|
11
11
|
});
|
|
12
12
|
|
|
13
13
|
exports.QuilttConnectorPlugin = QuilttConnector;
|
package/dist/vue.d.ts
CHANGED
|
@@ -46,16 +46,16 @@ interface QuilttConnectorPlugin {
|
|
|
46
46
|
completed: boolean;
|
|
47
47
|
}>;
|
|
48
48
|
/**
|
|
49
|
-
* Get the
|
|
49
|
+
* Get the app launcher URL, if any.
|
|
50
50
|
*
|
|
51
51
|
* This is useful for handling OAuth callbacks when the app is opened
|
|
52
52
|
* from a Universal Link (iOS) or App Link (Android).
|
|
53
53
|
*
|
|
54
|
-
* @returns A promise that resolves with the
|
|
54
|
+
* @returns A promise that resolves with the app launcher URL, or undefined if none
|
|
55
55
|
*
|
|
56
56
|
* @since 5.0.3
|
|
57
57
|
*/
|
|
58
|
-
|
|
58
|
+
getAppLauncherUrl(): Promise<DeepLinkEvent>;
|
|
59
59
|
/**
|
|
60
60
|
* Listen for deep link events.
|
|
61
61
|
*
|
package/dist/vue.js
CHANGED
|
@@ -5,7 +5,7 @@ import { registerPlugin } from '@capacitor/core';
|
|
|
5
5
|
* Native Capacitor plugin for deep link handling and URL opening
|
|
6
6
|
* Used internally by QuilttConnector component for OAuth flows
|
|
7
7
|
*/ const QuilttConnector = registerPlugin('QuilttConnector', {
|
|
8
|
-
web: ()=>import('./web-
|
|
8
|
+
web: ()=>import('./web-B24tBhVg.js').then((m)=>new m.QuilttConnectorWeb())
|
|
9
9
|
});
|
|
10
10
|
|
|
11
11
|
export { QuilttConnector as QuilttConnectorPlugin };
|
|
@@ -18,11 +18,11 @@ import { WebPlugin } from '@capacitor/core';
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
-
* Get the
|
|
21
|
+
* Get the app launcher URL on web.
|
|
22
22
|
*
|
|
23
23
|
* On web, we check the current URL for any OAuth callback parameters.
|
|
24
24
|
* This is useful when the user is redirected back to the app after OAuth.
|
|
25
|
-
*/ async
|
|
25
|
+
*/ async getAppLauncherUrl() {
|
|
26
26
|
const currentUrl = window.location.href;
|
|
27
27
|
// Check if the current URL contains OAuth callback parameters
|
|
28
28
|
// Common patterns include: code=, state=, error=
|
|
@@ -18,11 +18,11 @@ var core = require('@capacitor/core');
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
-
* Get the
|
|
21
|
+
* Get the app launcher URL on web.
|
|
22
22
|
*
|
|
23
23
|
* On web, we check the current URL for any OAuth callback parameters.
|
|
24
24
|
* This is useful when the user is redirected back to the app after OAuth.
|
|
25
|
-
*/ async
|
|
25
|
+
*/ async getAppLauncherUrl() {
|
|
26
26
|
const currentUrl = window.location.href;
|
|
27
27
|
// Check if the current URL contains OAuth callback parameters
|
|
28
28
|
// Common patterns include: code=, state=, error=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Foundation
|
|
2
1
|
import Capacitor
|
|
2
|
+
import Foundation
|
|
3
3
|
|
|
4
4
|
/// QuilttConnector Capacitor Plugin for iOS
|
|
5
5
|
/// Handles deep linking, URL opening, and OAuth redirect flows for Quiltt Connector integration
|
|
@@ -9,10 +9,10 @@ public class QuilttConnectorPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
9
9
|
public let jsName = "QuilttConnector"
|
|
10
10
|
public let pluginMethods: [CAPPluginMethod] = [
|
|
11
11
|
CAPPluginMethod(name: "openUrl", returnType: CAPPluginReturnPromise),
|
|
12
|
-
CAPPluginMethod(name: "
|
|
12
|
+
CAPPluginMethod(name: "getAppLauncherUrl", returnType: CAPPluginReturnPromise),
|
|
13
13
|
]
|
|
14
14
|
|
|
15
|
-
private var
|
|
15
|
+
private var appLauncherUrl: URL?
|
|
16
16
|
|
|
17
17
|
public override func load() {
|
|
18
18
|
NotificationCenter.default.addObserver(
|
|
@@ -36,24 +36,28 @@ public class QuilttConnectorPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
36
36
|
/// Handle incoming URLs from deep links or universal links
|
|
37
37
|
@objc private func handleOpenUrl(_ notification: Notification) {
|
|
38
38
|
guard let object = notification.object as? [String: Any],
|
|
39
|
-
|
|
39
|
+
let url = object["url"] as? URL
|
|
40
|
+
else {
|
|
40
41
|
return
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
// Store as
|
|
44
|
-
|
|
44
|
+
// Store as app launcher URL
|
|
45
|
+
appLauncherUrl = url
|
|
45
46
|
|
|
46
47
|
// Notify JavaScript listeners
|
|
47
|
-
notifyListeners(
|
|
48
|
-
"
|
|
49
|
-
|
|
48
|
+
notifyListeners(
|
|
49
|
+
"deepLink",
|
|
50
|
+
data: [
|
|
51
|
+
"url": url.absoluteString
|
|
52
|
+
])
|
|
50
53
|
}
|
|
51
54
|
|
|
52
55
|
/// Opens a URL in the system browser
|
|
53
56
|
/// Used for OAuth flows and external authentication
|
|
54
57
|
@objc func openUrl(_ call: CAPPluginCall) {
|
|
55
58
|
guard let urlString = call.getString("url"),
|
|
56
|
-
|
|
59
|
+
let url = URL(string: urlString)
|
|
60
|
+
else {
|
|
57
61
|
call.reject("Invalid URL")
|
|
58
62
|
return
|
|
59
63
|
}
|
|
@@ -82,10 +86,10 @@ public class QuilttConnectorPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
88
|
|
|
85
|
-
/// Returns the
|
|
89
|
+
/// Returns the app launcher URL (if any)
|
|
86
90
|
/// Used to handle OAuth callbacks and deep link navigation
|
|
87
|
-
@objc func
|
|
88
|
-
if let url =
|
|
91
|
+
@objc func getAppLauncherUrl(_ call: CAPPluginCall) {
|
|
92
|
+
if let url = appLauncherUrl {
|
|
89
93
|
call.resolve([
|
|
90
94
|
"url": url.absoluteString
|
|
91
95
|
])
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quiltt/capacitor",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.2",
|
|
4
4
|
"description": "Capacitor plugin for Quiltt Connector",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"quiltt",
|
|
@@ -10,15 +10,15 @@
|
|
|
10
10
|
"ionic",
|
|
11
11
|
"typescript"
|
|
12
12
|
],
|
|
13
|
-
"homepage": "https://github.com/quiltt/quiltt-
|
|
13
|
+
"homepage": "https://github.com/quiltt/quiltt-sdks/tree/main/packages/capacitor#readme",
|
|
14
14
|
"repository": {
|
|
15
15
|
"type": "git",
|
|
16
|
-
"url": "https://github.com/quiltt/quiltt-
|
|
16
|
+
"url": "https://github.com/quiltt/quiltt-sdks.git",
|
|
17
17
|
"directory": "packages/capacitor"
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"bugs": {
|
|
21
|
-
"url": "https://github.com/quiltt/quiltt-
|
|
21
|
+
"url": "https://github.com/quiltt/quiltt-sdks/issues"
|
|
22
22
|
},
|
|
23
23
|
"author": "Quiltt <support@quiltt.io>",
|
|
24
24
|
"sideEffects": [],
|
|
@@ -51,15 +51,19 @@
|
|
|
51
51
|
"src/**",
|
|
52
52
|
"ios/Sources",
|
|
53
53
|
"QuilttConnector.podspec",
|
|
54
|
+
"LICENSE.md",
|
|
54
55
|
"CHANGELOG.md"
|
|
55
56
|
],
|
|
56
|
-
"dependencies": {
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@quiltt/react": "5.2.2",
|
|
59
|
+
"@quiltt/vue": "5.2.2"
|
|
60
|
+
},
|
|
57
61
|
"devDependencies": {
|
|
58
|
-
"@biomejs/biome": "2.4.
|
|
59
|
-
"@capacitor/android": "8.
|
|
60
|
-
"@capacitor/core": "8.
|
|
61
|
-
"@capacitor/ios": "8.
|
|
62
|
-
"@types/node": "24.
|
|
62
|
+
"@biomejs/biome": "2.4.7",
|
|
63
|
+
"@capacitor/android": "8.2.0",
|
|
64
|
+
"@capacitor/core": "8.2.0",
|
|
65
|
+
"@capacitor/ios": "8.2.0",
|
|
66
|
+
"@types/node": "24.12.0",
|
|
63
67
|
"@types/react": "19.2.14",
|
|
64
68
|
"@types/react-dom": "19.2.3",
|
|
65
69
|
"bunchee": "6.9.4",
|
|
@@ -67,25 +71,15 @@
|
|
|
67
71
|
"react-dom": "19.2.4",
|
|
68
72
|
"rimraf": "6.1.3",
|
|
69
73
|
"typescript": "5.9.3",
|
|
70
|
-
"vue": "3.5.
|
|
71
|
-
"@quiltt/vue": "5.1.3",
|
|
72
|
-
"@quiltt/react": "5.1.3"
|
|
74
|
+
"vue": "3.5.30"
|
|
73
75
|
},
|
|
74
76
|
"peerDependencies": {
|
|
75
77
|
"@capacitor/core": "^6.0.0 || ^7.0.0 || ^8.0.0",
|
|
76
|
-
"@quiltt/react": "^5.1.3",
|
|
77
|
-
"@quiltt/vue": "^5.1.3",
|
|
78
78
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
79
79
|
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
80
80
|
"vue": "^3.3.0"
|
|
81
81
|
},
|
|
82
82
|
"peerDependenciesMeta": {
|
|
83
|
-
"@quiltt/react": {
|
|
84
|
-
"optional": true
|
|
85
|
-
},
|
|
86
|
-
"@quiltt/vue": {
|
|
87
|
-
"optional": true
|
|
88
|
-
},
|
|
89
83
|
"react": {
|
|
90
84
|
"optional": true
|
|
91
85
|
},
|
|
@@ -277,8 +277,8 @@ export const QuilttConnector = forwardRef<QuilttConnectorHandle, QuilttConnector
|
|
|
277
277
|
}
|
|
278
278
|
})
|
|
279
279
|
|
|
280
|
-
// Check if app was
|
|
281
|
-
QuilttConnectorPlugin.
|
|
280
|
+
// Check if app was opened via the app launcher URL
|
|
281
|
+
QuilttConnectorPlugin.getAppLauncherUrl().then((result) => {
|
|
282
282
|
if (result?.url) {
|
|
283
283
|
postOAuthCallbackToIframe(result.url)
|
|
284
284
|
}
|
package/src/definitions.ts
CHANGED
|
@@ -47,16 +47,16 @@ export interface QuilttConnectorPlugin {
|
|
|
47
47
|
openUrl(options: OpenUrlOptions): Promise<{ completed: boolean }>
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
|
-
* Get the
|
|
50
|
+
* Get the app launcher URL, if any.
|
|
51
51
|
*
|
|
52
52
|
* This is useful for handling OAuth callbacks when the app is opened
|
|
53
53
|
* from a Universal Link (iOS) or App Link (Android).
|
|
54
54
|
*
|
|
55
|
-
* @returns A promise that resolves with the
|
|
55
|
+
* @returns A promise that resolves with the app launcher URL, or undefined if none
|
|
56
56
|
*
|
|
57
57
|
* @since 5.0.3
|
|
58
58
|
*/
|
|
59
|
-
|
|
59
|
+
getAppLauncherUrl(): Promise<DeepLinkEvent>
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
62
|
* Listen for deep link events.
|
package/src/web.ts
CHANGED
|
@@ -21,12 +21,12 @@ export class QuilttConnectorWeb extends WebPlugin implements QuilttConnectorPlug
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* Get the
|
|
24
|
+
* Get the app launcher URL on web.
|
|
25
25
|
*
|
|
26
26
|
* On web, we check the current URL for any OAuth callback parameters.
|
|
27
27
|
* This is useful when the user is redirected back to the app after OAuth.
|
|
28
28
|
*/
|
|
29
|
-
async
|
|
29
|
+
async getAppLauncherUrl(): Promise<DeepLinkEvent> {
|
|
30
30
|
const currentUrl = window.location.href
|
|
31
31
|
|
|
32
32
|
// Check if the current URL contains OAuth callback parameters
|