From 77119960a860b0af90fe58e7e99aa289bec7770b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 5 May 2026 23:31:01 +0000 Subject: [PATCH 01/12] Update Android SDK to 5.8.1 --- android/gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index bf45eae..ba601ad 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -14,7 +14,7 @@ compileSdk = "35" junit = "4.13.2" kotlin = "1.9.25" minSdk = "23" -onesignal = "5.7.7" +onesignal = "5.8.1" targetSdk = "35" [libraries] From afbef1b4b6d7f62e37ed0548608ba5e9e4d02d3b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 5 May 2026 23:31:02 +0000 Subject: [PATCH 02/12] Update iOS SDK to 5.5.1 --- OneSignalCapacitorPlugin.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OneSignalCapacitorPlugin.podspec b/OneSignalCapacitorPlugin.podspec index e4d8802..574e990 100644 --- a/OneSignalCapacitorPlugin.podspec +++ b/OneSignalCapacitorPlugin.podspec @@ -16,5 +16,5 @@ Pod::Spec.new do |s| s.swift_version = '5.9' s.dependency 'Capacitor' - s.dependency 'OneSignalXCFramework', '5.5.0' + s.dependency 'OneSignalXCFramework', '5.5.1' end From 8887a1962e725f86ed2561b24c1818e455d7cb66 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 5 May 2026 23:31:04 +0000 Subject: [PATCH 03/12] Release 1.0.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1cfde41..72814be 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@onesignal/capacitor-plugin", - "version": "1.0.0", + "version": "1.0.1", "description": "OneSignal is a high volume Push Notification service for mobile apps. This is the pure Capacitor plugin for OneSignal, providing push notifications, in-app messaging, and more.", "keywords": [ "apns", From 69f503e3fcb6c0cf9027f3ebc4ff09e31ffda0a0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 5 May 2026 23:31:07 +0000 Subject: [PATCH 04/12] Regenerate docs for 1.0.1 --- README.md | 66 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 50 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index e0fb0dc..fad6873 100644 --- a/README.md +++ b/README.md @@ -24,13 +24,13 @@ See the `examples/demo` directory for a full working example. -- [`initialize(...)`](#initialize) -- [`login(...)`](#login) -- [`logout()`](#logout) -- [`setConsentRequired(...)`](#setconsentrequired) -- [`setConsentGiven(...)`](#setconsentgiven) -- [Interfaces](#interfaces) -- [Type Aliases](#type-aliases) +* [`initialize(...)`](#initialize) +* [`login(...)`](#login) +* [`logout()`](#logout) +* [`setConsentRequired(...)`](#setconsentrequired) +* [`setConsentGiven(...)`](#setconsentgiven) +* [Interfaces](#interfaces) +* [Type Aliases](#type-aliases) @@ -51,7 +51,8 @@ Initialize the SDK with your OneSignal app ID. Call during app startup. | ----------- | ------------------- | | **`appId`** | string | ---- +-------------------- + ### login(...) @@ -65,7 +66,8 @@ Log in to OneSignal as the user identified by `externalId`, switching the user c | ---------------- | ------------------- | | **`externalId`** | string | ---- +-------------------- + ### logout() @@ -75,7 +77,8 @@ logout() => Promise Log out the current user. The SDK will reference a new device-scoped user. ---- +-------------------- + ### setConsentRequired(...) @@ -89,7 +92,8 @@ Set whether user privacy consent is required before sending data to OneSignal. C | -------------- | -------------------- | | **`required`** | boolean | ---- +-------------------- + ### setConsentGiven(...) @@ -103,10 +107,12 @@ Indicate whether the user has granted privacy consent. | ------------- | -------------------- | | **`granted`** | boolean | ---- +-------------------- + ### Interfaces + #### OneSignalDebugAPI Debug helpers exposed via `OneSignal.Debug`. @@ -116,6 +122,7 @@ Debug helpers exposed via `OneSignal.Debug`. | **setLogLevel** | (logLevel: LogLevel) => void | Set the log level printed to LogCat (Android) or the Xcode console (iOS). | | **setAlertLevel** | (visualLogLevel: LogLevel) => void | Set the log level shown to the user as alert dialogs. | + #### OneSignalUserAPI Current-user operations exposed via `OneSignal.User`. @@ -146,12 +153,14 @@ Current-user operations exposed via `OneSignal.User`. | **getExternalId** | () => Promise<string \| null> | Get the external ID set via `login`, or null if the user is anonymous. | | **trackEvent** | (name: string, properties?: object \| undefined) => Promise<void> | Track a custom event with an optional set of JSON-serializable properties. | + #### UserChangedState | Prop | Type | | ------------- | ----------------------------------------------- | | **`current`** | UserState | + #### UserState | Prop | Type | @@ -159,6 +168,7 @@ Current-user operations exposed via `OneSignal.User`. | **`onesignalId`** | string | | **`externalId`** | string | + #### OneSignalPushSubscriptionAPI Push subscription state and controls exposed via `OneSignal.User.pushSubscription`. @@ -173,6 +183,7 @@ Push subscription state and controls exposed via `OneSignal.User.pushSubscriptio | **optIn** | () => Promise<void> | Opt the user in to push notifications. Prompts for permission if needed. | | **optOut** | () => Promise<void> | Opt the user out of push notifications on this device. | + #### PushSubscriptionChangedState | Prop | Type | @@ -180,6 +191,7 @@ Push subscription state and controls exposed via `OneSignal.User.pushSubscriptio | **`previous`** | PushSubscriptionState | | **`current`** | PushSubscriptionState | + #### PushSubscriptionState | Prop | Type | @@ -188,6 +200,7 @@ Push subscription state and controls exposed via `OneSignal.User.pushSubscriptio | **`token`** | string | | **`optedIn`** | boolean | + #### OneSignalNotificationsAPI Notification permission and event handling exposed via `OneSignal.Notifications`. @@ -205,6 +218,7 @@ Notification permission and event handling exposed via `OneSignal.Notifications` | **removeNotification** | (id: number) => Promise<void> | Android only. Cancel a single notification by its Android notification ID. | | **removeGroupedNotifications** | (id: string) => Promise<void> | Android only. Cancel a group of notifications by group key. | + #### NotificationClickEvent | Prop | Type | @@ -212,6 +226,7 @@ Notification permission and event handling exposed via `OneSignal.Notifications` | **`result`** | NotificationClickResult | | **`notification`** | OSNotification | + #### NotificationClickResult | Prop | Type | @@ -219,6 +234,7 @@ Notification permission and event handling exposed via `OneSignal.Notifications` | **`actionId`** | string | | **`url`** | string | + #### OneSignalInAppMessagesAPI In-app message triggers and event handling exposed via `OneSignal.InAppMessages`. @@ -235,6 +251,7 @@ In-app message triggers and event handling exposed via `OneSignal.InAppMessages` | **setPaused** | (pause: boolean) => void | Pause or resume the display of in-app messages. | | **getPaused** | () => Promise<boolean> | Whether in-app messaging is currently paused. | + #### InAppMessageClickEvent | Prop | Type | @@ -242,12 +259,14 @@ In-app message triggers and event handling exposed via `OneSignal.InAppMessages` | **`message`** | OSInAppMessage | | **`result`** | InAppMessageClickResult | + #### OSInAppMessage | Prop | Type | | --------------- | ------------------- | | **`messageId`** | string | + #### InAppMessageClickResult | Prop | Type | @@ -257,30 +276,35 @@ In-app message triggers and event handling exposed via `OneSignal.InAppMessages` | **`url`** | string | | **`urlTarget`** | InAppMessageActionUrlType | + #### InAppMessageWillDisplayEvent | Prop | Type | | ------------- | --------------------------------------------------------- | | **`message`** | OSInAppMessage | + #### InAppMessageDidDisplayEvent | Prop | Type | | ------------- | --------------------------------------------------------- | | **`message`** | OSInAppMessage | + #### InAppMessageWillDismissEvent | Prop | Type | | ------------- | --------------------------------------------------------- | | **`message`** | OSInAppMessage | + #### InAppMessageDidDismissEvent | Prop | Type | | ------------- | --------------------------------------------------------- | | **`message`** | OSInAppMessage | + #### OneSignalSessionAPI Outcome reporting exposed via `OneSignal.Session`. @@ -291,6 +315,7 @@ Outcome reporting exposed via `OneSignal.Session`. | **addUniqueOutcome** | (name: string) => Promise<void> | Record a unique outcome with the given name against the current session. | | **addOutcomeWithValue** | (name: string, value: number) => Promise<void> | Record an outcome with the given name and value against the current session. | + #### OneSignalLocationAPI Location permission and sharing exposed via `OneSignal.Location`. @@ -301,6 +326,7 @@ Location permission and sharing exposed via `OneSignal.Location`. | **setShared** | (shared: boolean) => void | Enable or disable sharing the device location with OneSignal. | | **isShared** | () => Promise<boolean> | Whether the device location is currently shared with OneSignal. | + #### OneSignalLiveActivitiesAPI Live activity controls exposed via `OneSignal.LiveActivities`. iOS only unless noted. @@ -314,48 +340,56 @@ Live activity controls exposed via `OneSignal.LiveActivities`. iOS only unless n | **setupDefault** | (options?: LiveActivitySetupOptions \| undefined) => Promise<void> | Set up the OneSignal default live activity, optionally enabling pushToStart/pushToUpdate. | | **startDefault** | (activityId: string, attributes: Record<string, unknown>, content: Record<string, unknown>) => Promise<void> | Start a live activity backed by the OneSignal default attributes type. | + ### Type Aliases + #### LogLevel (typeof LogLevel)[keyof typeof LogLevel] + #### Record Construct a type with a set of properties K of type T -{ -[P in K]: T; -} +{ [P in K]: T; } + #### OSNotificationPermission (typeof OSNotificationPermission)[keyof typeof OSNotificationPermission] + #### NotificationEventName 'click' | 'foregroundWillDisplay' | 'permissionChange' + #### NotificationEventTypeMap { click: NotificationClickEvent; foregroundWillDisplay: NotificationWillDisplayEvent; permissionChange: boolean; } + #### InAppMessageEventName 'click' | 'willDisplay' | 'didDisplay' | 'willDismiss' | 'didDismiss' + #### InAppMessageEventTypeMap { click: InAppMessageClickEvent; willDisplay: InAppMessageWillDisplayEvent; didDisplay: InAppMessageDidDisplayEvent; willDismiss: InAppMessageWillDismissEvent; didDismiss: InAppMessageDidDismissEvent; } + #### InAppMessageActionUrlType 'browser' | 'webview' | 'replacement' + #### LiveActivitySetupOptions The setup options for `OneSignal.LiveActivities.setupDefault`. -{ /** _ When true, OneSignal will listen for pushToStart tokens for the `OneSignalLiveActivityAttributes` structure. _/ enablePushToStart: boolean; /** _ When true, OneSignal will listen for pushToUpdate tokens for each start live activity that uses the _ `OneSignalLiveActivityAttributes` structure. \*/ enablePushToUpdate: boolean; } +{ /** * When true, OneSignal will listen for pushToStart tokens for the `OneSignalLiveActivityAttributes` structure. */ enablePushToStart: boolean; /** * When true, OneSignal will listen for pushToUpdate tokens for each start live activity that uses the * `OneSignalLiveActivityAttributes` structure. */ enablePushToUpdate: boolean; } From 5fdb960744ccc7a5df3223660acc821333b61a95 Mon Sep 17 00:00:00 2001 From: Fadi George Date: Tue, 5 May 2026 16:49:21 -0700 Subject: [PATCH 05/12] ci(demo): migrate to Vite+ setup action --- .github/actions/setup-demo/action.yml | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/.github/actions/setup-demo/action.yml b/.github/actions/setup-demo/action.yml index 4abff2f..cf741f7 100644 --- a/.github/actions/setup-demo/action.yml +++ b/.github/actions/setup-demo/action.yml @@ -10,31 +10,23 @@ inputs: runs: using: 'composite' steps: - - name: Set up Bun - uses: oven-sh/setup-bun@v2 - - - name: Cache SDK bun dependencies - uses: actions/cache@v5 + - name: Set up Vite+ + uses: voidzero-dev/setup-vp@v1 with: - path: node_modules - key: bun-sdk-${{ runner.os }}-${{ hashFiles('bun.lock') }} - restore-keys: bun-sdk-${{ runner.os }}- + cache: true + run-install: true - - name: Cache demo bun dependencies + - name: Cache demo Vite+ dependencies uses: actions/cache@v5 with: path: examples/demo/node_modules - key: bun-demo-${{ runner.os }}-${{ hashFiles('examples/demo/bun.lock') }} - restore-keys: bun-demo-${{ runner.os }}- - - - name: Install SDK dependencies - shell: bash - run: bun install --frozen-lockfile + key: vp-demo-${{ runner.os }}-${{ hashFiles('examples/demo/bun.lock') }} + restore-keys: vp-demo-${{ runner.os }}- - - name: Set up demo + - name: Install and set up demo shell: bash working-directory: examples/demo - run: bun run setup + run: vp run setup - name: Create demo .env shell: bash @@ -42,4 +34,5 @@ runs: run: | echo "VITE_ONESIGNAL_APP_ID=${{ inputs.onesignal-app-id }}" > .env echo "VITE_ONESIGNAL_API_KEY=${{ inputs.onesignal-api-key }}" >> .env + echo "VITE_ONESIGNAL_ANDROID_CHANNEL_ID=7ec2ece9-c538-4656-9516-1316f48a005c" >> .env echo "VITE_E2E_MODE=true" >> .env From 91a53da65f2f9667e51041fef4ee063eee984727 Mon Sep 17 00:00:00 2001 From: Fadi George Date: Tue, 5 May 2026 16:58:12 -0700 Subject: [PATCH 06/12] ci(android): build arm64-v8a-only APK for E2E --- .github/workflows/e2e.yml | 8 +++++--- examples/demo/android/app/build.gradle.kts | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index f604148..4099836 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -48,13 +48,15 @@ jobs: - name: Build release APK working-directory: examples/demo/android - run: ./gradlew assembleRelease --quiet --console=plain --warning-mode=summary + # -PciSingleAbi → arm64-v8a-only APK; BrowserStack devices are all + # arm64-v8a, so dropping other ABIs trims size with no test impact. + run: ./gradlew assembleRelease -PciSingleAbi --quiet --console=plain --warning-mode=summary - name: Upload APK uses: actions/upload-artifact@v7 with: name: demo-apk - path: examples/demo/android/app/build/outputs/apk/release/app-release.apk + path: examples/demo/android/app/build/outputs/apk/release/app-arm64-v8a-release.apk retention-days: 1 compression-level: 0 @@ -138,7 +140,7 @@ jobs: with: platform: android app-artifact: demo-apk - app-filename: app-release.apk + app-filename: app-arm64-v8a-release.apk sdk-type: capacitor build-name: capacitor-android-${{ github.ref_name }}-${{ github.run_number }} diff --git a/examples/demo/android/app/build.gradle.kts b/examples/demo/android/app/build.gradle.kts index db27ea1..7396b28 100644 --- a/examples/demo/android/app/build.gradle.kts +++ b/examples/demo/android/app/build.gradle.kts @@ -22,6 +22,23 @@ android { release { isMinifyEnabled = false proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") + // Sign release with Android's auto-generated debug keystore so + // `assembleRelease` produces an installable app-release.apk for + // Appium E2E. Don't ship release builds to users this way. + signingConfig = signingConfigs.getByName("debug") + } + } + + // Opt-in via `-PciSingleAbi` to build an arm64-v8a-only APK for CI. + // BrowserStack devices we test against are all arm64-v8a, so dropping + // the other ABIs trims native libraries (Capacitor WebView shims and + // plugin .so files) without affecting test coverage. + splits { + abi { + isEnable = project.hasProperty("ciSingleAbi") + reset() + include("arm64-v8a") + isUniversalApk = false } } } From e2543142f1fe11d11ffe074264817eead9edbe61 Mon Sep 17 00:00:00 2001 From: Fadi George Date: Tue, 5 May 2026 17:17:46 -0700 Subject: [PATCH 07/12] ci(e2e): build debug APK/IPA for Appium --- .github/workflows/e2e.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 4099836..c34aab0 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -46,17 +46,22 @@ jobs: onesignal-app-id: ${{ vars.APPIUM_ONESIGNAL_APP_ID }} onesignal-api-key: ${{ secrets.APPIUM_ONESIGNAL_API_KEY }} - - name: Build release APK + - name: Build debug APK working-directory: examples/demo/android + # Use the debug variant: Capacitor only calls + # WebView.setWebContentsDebuggingEnabled(true) when BuildConfig.DEBUG + # is true, which Appium needs to enter the WEBVIEW context (CSS / + # data-testid selectors). Release APKs error with + # "Failed to get sockets matching: @webview_devtools_remote_.*". # -PciSingleAbi → arm64-v8a-only APK; BrowserStack devices are all # arm64-v8a, so dropping other ABIs trims size with no test impact. - run: ./gradlew assembleRelease -PciSingleAbi --quiet --console=plain --warning-mode=summary + run: ./gradlew assembleDebug -PciSingleAbi --quiet --console=plain --warning-mode=summary - name: Upload APK uses: actions/upload-artifact@v7 with: name: demo-apk - path: examples/demo/android/app/build/outputs/apk/release/app-arm64-v8a-release.apk + path: examples/demo/android/app/build/outputs/apk/debug/app-arm64-v8a-debug.apk retention-days: 1 compression-level: 0 @@ -94,11 +99,15 @@ jobs: - name: Build signed IPA working-directory: examples/demo/ios/App + # Build the Debug configuration so WKWebView's remote inspector is + # exposed; Appium needs it to enter the WEBVIEW_* context. Release + # IPAs error with "data-testid is not a valid attribute" because + # selectors fall through to XCUITest's native attribute set. run: | xcodebuild archive \ -project App.xcodeproj \ -scheme App \ - -configuration Release \ + -configuration Debug \ -sdk iphoneos \ -destination 'generic/platform=iOS' \ -archivePath build/App.xcarchive \ @@ -140,7 +149,7 @@ jobs: with: platform: android app-artifact: demo-apk - app-filename: app-arm64-v8a-release.apk + app-filename: app-arm64-v8a-debug.apk sdk-type: capacitor build-name: capacitor-android-${{ github.ref_name }}-${{ github.run_number }} From edeb834550d0a8ed6e43a11cdabc5e2ae69c47d8 Mon Sep 17 00:00:00 2001 From: Fadi George Date: Tue, 5 May 2026 17:44:48 -0700 Subject: [PATCH 08/12] ci(demo): write .env before running setup --- .github/actions/setup-demo/action.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup-demo/action.yml b/.github/actions/setup-demo/action.yml index cf741f7..5a725c8 100644 --- a/.github/actions/setup-demo/action.yml +++ b/.github/actions/setup-demo/action.yml @@ -23,11 +23,10 @@ runs: key: vp-demo-${{ runner.os }}-${{ hashFiles('examples/demo/bun.lock') }} restore-keys: vp-demo-${{ runner.os }}- - - name: Install and set up demo - shell: bash - working-directory: examples/demo - run: vp run setup - + # Must precede `vp run setup`: the demo's setup.sh runs `vp run build`, + # which inlines `import.meta.env.VITE_*` into the web bundle at build time. + # Writing .env afterward leaves the bundle (and therefore the APK/IPA) with + # fallback values like the default APP_ID. - name: Create demo .env shell: bash working-directory: examples/demo @@ -36,3 +35,8 @@ runs: echo "VITE_ONESIGNAL_API_KEY=${{ inputs.onesignal-api-key }}" >> .env echo "VITE_ONESIGNAL_ANDROID_CHANNEL_ID=7ec2ece9-c538-4656-9516-1316f48a005c" >> .env echo "VITE_E2E_MODE=true" >> .env + + - name: Install and set up demo + shell: bash + working-directory: examples/demo + run: vp run setup From 5b95a920958abb45114e8b13517fef8beaec917d Mon Sep 17 00:00:00 2001 From: Fadi George Date: Tue, 5 May 2026 18:20:02 -0700 Subject: [PATCH 09/12] chore(ios): split entitlements by build config --- README.md | 66 ++---- .../ios/App/App.xcodeproj/project.pbxproj | 191 ++++++++---------- .../xcshareddata/xcschemes/App.xcscheme | 78 ------- ...ignalNotificationServiceExtension.xcscheme | 97 --------- .../OneSignalWidgetExtension.xcscheme | 113 ----------- ...App.entitlements => AppDebug.entitlements} | 0 .../demo/ios/App/App/AppRelease.entitlements | 12 ++ .../AppIcon.appiconset/Contents.json | 2 +- .../NotificationService.swift | 30 +-- ...icationServiceExtensionDebug.entitlements} | 0 .../OneSignalWidgetBundle.swift | 2 +- .../AppIcon.appiconset/Contents.json | 2 +- 12 files changed, 121 insertions(+), 472 deletions(-) delete mode 100644 examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/App.xcscheme delete mode 100644 examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/OneSignalNotificationServiceExtension.xcscheme delete mode 100644 examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/OneSignalWidgetExtension.xcscheme rename examples/demo/ios/App/App/{App.entitlements => AppDebug.entitlements} (100%) create mode 100644 examples/demo/ios/App/App/AppRelease.entitlements rename examples/demo/ios/App/OneSignalNotificationServiceExtension/{OneSignalNotificationServiceExtension.entitlements => OneSignalNotificationServiceExtensionDebug.entitlements} (100%) diff --git a/README.md b/README.md index fad6873..e0fb0dc 100644 --- a/README.md +++ b/README.md @@ -24,13 +24,13 @@ See the `examples/demo` directory for a full working example. -* [`initialize(...)`](#initialize) -* [`login(...)`](#login) -* [`logout()`](#logout) -* [`setConsentRequired(...)`](#setconsentrequired) -* [`setConsentGiven(...)`](#setconsentgiven) -* [Interfaces](#interfaces) -* [Type Aliases](#type-aliases) +- [`initialize(...)`](#initialize) +- [`login(...)`](#login) +- [`logout()`](#logout) +- [`setConsentRequired(...)`](#setconsentrequired) +- [`setConsentGiven(...)`](#setconsentgiven) +- [Interfaces](#interfaces) +- [Type Aliases](#type-aliases) @@ -51,8 +51,7 @@ Initialize the SDK with your OneSignal app ID. Call during app startup. | ----------- | ------------------- | | **`appId`** | string | --------------------- - +--- ### login(...) @@ -66,8 +65,7 @@ Log in to OneSignal as the user identified by `externalId`, switching the user c | ---------------- | ------------------- | | **`externalId`** | string | --------------------- - +--- ### logout() @@ -77,8 +75,7 @@ logout() => Promise Log out the current user. The SDK will reference a new device-scoped user. --------------------- - +--- ### setConsentRequired(...) @@ -92,8 +89,7 @@ Set whether user privacy consent is required before sending data to OneSignal. C | -------------- | -------------------- | | **`required`** | boolean | --------------------- - +--- ### setConsentGiven(...) @@ -107,12 +103,10 @@ Indicate whether the user has granted privacy consent. | ------------- | -------------------- | | **`granted`** | boolean | --------------------- - +--- ### Interfaces - #### OneSignalDebugAPI Debug helpers exposed via `OneSignal.Debug`. @@ -122,7 +116,6 @@ Debug helpers exposed via `OneSignal.Debug`. | **setLogLevel** | (logLevel: LogLevel) => void | Set the log level printed to LogCat (Android) or the Xcode console (iOS). | | **setAlertLevel** | (visualLogLevel: LogLevel) => void | Set the log level shown to the user as alert dialogs. | - #### OneSignalUserAPI Current-user operations exposed via `OneSignal.User`. @@ -153,14 +146,12 @@ Current-user operations exposed via `OneSignal.User`. | **getExternalId** | () => Promise<string \| null> | Get the external ID set via `login`, or null if the user is anonymous. | | **trackEvent** | (name: string, properties?: object \| undefined) => Promise<void> | Track a custom event with an optional set of JSON-serializable properties. | - #### UserChangedState | Prop | Type | | ------------- | ----------------------------------------------- | | **`current`** | UserState | - #### UserState | Prop | Type | @@ -168,7 +159,6 @@ Current-user operations exposed via `OneSignal.User`. | **`onesignalId`** | string | | **`externalId`** | string | - #### OneSignalPushSubscriptionAPI Push subscription state and controls exposed via `OneSignal.User.pushSubscription`. @@ -183,7 +173,6 @@ Push subscription state and controls exposed via `OneSignal.User.pushSubscriptio | **optIn** | () => Promise<void> | Opt the user in to push notifications. Prompts for permission if needed. | | **optOut** | () => Promise<void> | Opt the user out of push notifications on this device. | - #### PushSubscriptionChangedState | Prop | Type | @@ -191,7 +180,6 @@ Push subscription state and controls exposed via `OneSignal.User.pushSubscriptio | **`previous`** | PushSubscriptionState | | **`current`** | PushSubscriptionState | - #### PushSubscriptionState | Prop | Type | @@ -200,7 +188,6 @@ Push subscription state and controls exposed via `OneSignal.User.pushSubscriptio | **`token`** | string | | **`optedIn`** | boolean | - #### OneSignalNotificationsAPI Notification permission and event handling exposed via `OneSignal.Notifications`. @@ -218,7 +205,6 @@ Notification permission and event handling exposed via `OneSignal.Notifications` | **removeNotification** | (id: number) => Promise<void> | Android only. Cancel a single notification by its Android notification ID. | | **removeGroupedNotifications** | (id: string) => Promise<void> | Android only. Cancel a group of notifications by group key. | - #### NotificationClickEvent | Prop | Type | @@ -226,7 +212,6 @@ Notification permission and event handling exposed via `OneSignal.Notifications` | **`result`** | NotificationClickResult | | **`notification`** | OSNotification | - #### NotificationClickResult | Prop | Type | @@ -234,7 +219,6 @@ Notification permission and event handling exposed via `OneSignal.Notifications` | **`actionId`** | string | | **`url`** | string | - #### OneSignalInAppMessagesAPI In-app message triggers and event handling exposed via `OneSignal.InAppMessages`. @@ -251,7 +235,6 @@ In-app message triggers and event handling exposed via `OneSignal.InAppMessages` | **setPaused** | (pause: boolean) => void | Pause or resume the display of in-app messages. | | **getPaused** | () => Promise<boolean> | Whether in-app messaging is currently paused. | - #### InAppMessageClickEvent | Prop | Type | @@ -259,14 +242,12 @@ In-app message triggers and event handling exposed via `OneSignal.InAppMessages` | **`message`** | OSInAppMessage | | **`result`** | InAppMessageClickResult | - #### OSInAppMessage | Prop | Type | | --------------- | ------------------- | | **`messageId`** | string | - #### InAppMessageClickResult | Prop | Type | @@ -276,35 +257,30 @@ In-app message triggers and event handling exposed via `OneSignal.InAppMessages` | **`url`** | string | | **`urlTarget`** | InAppMessageActionUrlType | - #### InAppMessageWillDisplayEvent | Prop | Type | | ------------- | --------------------------------------------------------- | | **`message`** | OSInAppMessage | - #### InAppMessageDidDisplayEvent | Prop | Type | | ------------- | --------------------------------------------------------- | | **`message`** | OSInAppMessage | - #### InAppMessageWillDismissEvent | Prop | Type | | ------------- | --------------------------------------------------------- | | **`message`** | OSInAppMessage | - #### InAppMessageDidDismissEvent | Prop | Type | | ------------- | --------------------------------------------------------- | | **`message`** | OSInAppMessage | - #### OneSignalSessionAPI Outcome reporting exposed via `OneSignal.Session`. @@ -315,7 +291,6 @@ Outcome reporting exposed via `OneSignal.Session`. | **addUniqueOutcome** | (name: string) => Promise<void> | Record a unique outcome with the given name against the current session. | | **addOutcomeWithValue** | (name: string, value: number) => Promise<void> | Record an outcome with the given name and value against the current session. | - #### OneSignalLocationAPI Location permission and sharing exposed via `OneSignal.Location`. @@ -326,7 +301,6 @@ Location permission and sharing exposed via `OneSignal.Location`. | **setShared** | (shared: boolean) => void | Enable or disable sharing the device location with OneSignal. | | **isShared** | () => Promise<boolean> | Whether the device location is currently shared with OneSignal. | - #### OneSignalLiveActivitiesAPI Live activity controls exposed via `OneSignal.LiveActivities`. iOS only unless noted. @@ -340,56 +314,48 @@ Live activity controls exposed via `OneSignal.LiveActivities`. iOS only unless n | **setupDefault** | (options?: LiveActivitySetupOptions \| undefined) => Promise<void> | Set up the OneSignal default live activity, optionally enabling pushToStart/pushToUpdate. | | **startDefault** | (activityId: string, attributes: Record<string, unknown>, content: Record<string, unknown>) => Promise<void> | Start a live activity backed by the OneSignal default attributes type. | - ### Type Aliases - #### LogLevel (typeof LogLevel)[keyof typeof LogLevel] - #### Record Construct a type with a set of properties K of type T -{ [P in K]: T; } - +{ +[P in K]: T; +} #### OSNotificationPermission (typeof OSNotificationPermission)[keyof typeof OSNotificationPermission] - #### NotificationEventName 'click' | 'foregroundWillDisplay' | 'permissionChange' - #### NotificationEventTypeMap { click: NotificationClickEvent; foregroundWillDisplay: NotificationWillDisplayEvent; permissionChange: boolean; } - #### InAppMessageEventName 'click' | 'willDisplay' | 'didDisplay' | 'willDismiss' | 'didDismiss' - #### InAppMessageEventTypeMap { click: InAppMessageClickEvent; willDisplay: InAppMessageWillDisplayEvent; didDisplay: InAppMessageDidDisplayEvent; willDismiss: InAppMessageWillDismissEvent; didDismiss: InAppMessageDidDismissEvent; } - #### InAppMessageActionUrlType 'browser' | 'webview' | 'replacement' - #### LiveActivitySetupOptions The setup options for `OneSignal.LiveActivities.setupDefault`. -{ /** * When true, OneSignal will listen for pushToStart tokens for the `OneSignalLiveActivityAttributes` structure. */ enablePushToStart: boolean; /** * When true, OneSignal will listen for pushToUpdate tokens for each start live activity that uses the * `OneSignalLiveActivityAttributes` structure. */ enablePushToUpdate: boolean; } +{ /** _ When true, OneSignal will listen for pushToStart tokens for the `OneSignalLiveActivityAttributes` structure. _/ enablePushToStart: boolean; /** _ When true, OneSignal will listen for pushToUpdate tokens for each start live activity that uses the _ `OneSignalLiveActivityAttributes` structure. \*/ enablePushToUpdate: boolean; } diff --git a/examples/demo/ios/App/App.xcodeproj/project.pbxproj b/examples/demo/ios/App/App.xcodeproj/project.pbxproj index 2fda6aa..147cdc8 100644 --- a/examples/demo/ios/App/App.xcodeproj/project.pbxproj +++ b/examples/demo/ios/App/App.xcodeproj/project.pbxproj @@ -15,39 +15,38 @@ 504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; }; 504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; }; 50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; }; - E82F344A2F981B4F0013F400 /* OneSignalNotificationServiceExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = E82F34432F981B4F0013F400 /* OneSignalNotificationServiceExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - E82F34582F981C210013F400 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E82F34572F981C210013F400 /* WidgetKit.framework */; }; - E82F345A2F981C210013F400 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E82F34592F981C210013F400 /* SwiftUI.framework */; }; - E82F34672F981C230013F400 /* OneSignalWidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = E82F34552F981C210013F400 /* OneSignalWidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - FA01F00D2F98000000000002 /* vine_boom.wav in Resources */ = {isa = PBXBuildFile; fileRef = FA01F00D2F98000000000001 /* vine_boom.wav */; }; + E841A1072FAAC97E00E823BE /* OneSignalNotificationServiceExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = E841A1002FAAC97E00E823BE /* OneSignalNotificationServiceExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + E841A1172FAACA2F00E823BE /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E841A1162FAACA2F00E823BE /* WidgetKit.framework */; }; + E841A1192FAACA2F00E823BE /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E841A1182FAACA2F00E823BE /* SwiftUI.framework */; }; + E841A1262FAACA3000E823BE /* OneSignalWidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = E841A1142FAACA2F00E823BE /* OneSignalWidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - E82F34482F981B4F0013F400 /* PBXContainerItemProxy */ = { + E841A1052FAAC97E00E823BE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 504EC2FC1FED79650016851F /* Project object */; proxyType = 1; - remoteGlobalIDString = E82F34422F981B4F0013F400; + remoteGlobalIDString = E841A0FF2FAAC97E00E823BE; remoteInfo = OneSignalNotificationServiceExtension; }; - E82F34652F981C230013F400 /* PBXContainerItemProxy */ = { + E841A1242FAACA3000E823BE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 504EC2FC1FED79650016851F /* Project object */; proxyType = 1; - remoteGlobalIDString = E82F34542F981C210013F400; + remoteGlobalIDString = E841A1132FAACA2F00E823BE; remoteInfo = OneSignalWidgetExtension; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - E82F344B2F981B4F0013F400 /* Embed Foundation Extensions */ = { + E841A1082FAAC97E00E823BE /* Embed Foundation Extensions */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 13; files = ( - E82F344A2F981B4F0013F400 /* OneSignalNotificationServiceExtension.appex in Embed Foundation Extensions */, - E82F34672F981C230013F400 /* OneSignalWidgetExtension.appex in Embed Foundation Extensions */, + E841A1072FAAC97E00E823BE /* OneSignalNotificationServiceExtension.appex in Embed Foundation Extensions */, + E841A1262FAACA3000E823BE /* OneSignalWidgetExtension.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -65,56 +64,34 @@ 504EC3131FED79650016851F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 50B271D01FEDC1A000F3C39B /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = ""; }; 958DCC722DB07C7200EA8C5F /* debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = debug.xcconfig; path = ../debug.xcconfig; sourceTree = SOURCE_ROOT; }; - E82F34432F981B4F0013F400 /* OneSignalNotificationServiceExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = OneSignalNotificationServiceExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - E82F34502F981B630013F400 /* App.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = App.entitlements; sourceTree = ""; }; - E82F34552F981C210013F400 /* OneSignalWidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = OneSignalWidgetExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - E82F34572F981C210013F400 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; - E82F34592F981C210013F400 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; - FA01F00D2F98000000000001 /* vine_boom.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = vine_boom.wav; sourceTree = ""; }; + E841A1002FAAC97E00E823BE /* OneSignalNotificationServiceExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = OneSignalNotificationServiceExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + E841A10D2FAAC9D300E823BE /* AppRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AppRelease.entitlements; sourceTree = ""; }; + E841A10E2FAAC9FC00E823BE /* AppDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AppDebug.entitlements; sourceTree = ""; }; + E841A1142FAACA2F00E823BE /* OneSignalWidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = OneSignalWidgetExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + E841A1162FAACA2F00E823BE /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; + E841A1182FAACA2F00E823BE /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ - E82F344E2F981B4F0013F400 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { + E841A10B2FAAC97E00E823BE /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( Info.plist, ); - target = E82F34422F981B4F0013F400 /* OneSignalNotificationServiceExtension */; + target = E841A0FF2FAAC97E00E823BE /* OneSignalNotificationServiceExtension */; }; - E82F34682F981C230013F400 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { + E841A1272FAACA3000E823BE /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( Info.plist, ); - target = E82F34542F981C210013F400 /* OneSignalWidgetExtension */; + target = E841A1132FAACA2F00E823BE /* OneSignalWidgetExtension */; }; /* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ - E82F34442F981B4F0013F400 /* OneSignalNotificationServiceExtension */ = { - isa = PBXFileSystemSynchronizedRootGroup; - exceptions = ( - E82F344E2F981B4F0013F400 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, - ); - explicitFileTypes = { - }; - explicitFolders = ( - ); - path = OneSignalNotificationServiceExtension; - sourceTree = ""; - }; - E82F345B2F981C210013F400 /* OneSignalWidget */ = { - isa = PBXFileSystemSynchronizedRootGroup; - exceptions = ( - E82F34682F981C230013F400 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, - ); - explicitFileTypes = { - }; - explicitFolders = ( - ); - path = OneSignalWidget; - sourceTree = ""; - }; + E841A1012FAAC97E00E823BE /* OneSignalNotificationServiceExtension */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (E841A10B2FAAC97E00E823BE /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = OneSignalNotificationServiceExtension; sourceTree = ""; }; + E841A11A2FAACA2F00E823BE /* OneSignalWidget */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (E841A1272FAACA3000E823BE /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = OneSignalWidget; sourceTree = ""; }; /* End PBXFileSystemSynchronizedRootGroup section */ /* Begin PBXFrameworksBuildPhase section */ @@ -126,19 +103,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E82F34402F981B4F0013F400 /* Frameworks */ = { + E841A0FD2FAAC97E00E823BE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E82F34522F981C210013F400 /* Frameworks */ = { + E841A1112FAACA2F00E823BE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E82F345A2F981C210013F400 /* SwiftUI.framework in Frameworks */, - E82F34582F981C210013F400 /* WidgetKit.framework in Frameworks */, + E841A1192FAACA2F00E823BE /* SwiftUI.framework in Frameworks */, + E841A1172FAACA2F00E823BE /* WidgetKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -150,9 +127,9 @@ children = ( 958DCC722DB07C7200EA8C5F /* debug.xcconfig */, 504EC3061FED79650016851F /* App */, - E82F34442F981B4F0013F400 /* OneSignalNotificationServiceExtension */, - E82F345B2F981C210013F400 /* OneSignalWidget */, - E82F34562F981C210013F400 /* Frameworks */, + E841A1012FAAC97E00E823BE /* OneSignalNotificationServiceExtension */, + E841A11A2FAACA2F00E823BE /* OneSignalWidget */, + E841A1152FAACA2F00E823BE /* Frameworks */, 504EC3051FED79650016851F /* Products */, ); sourceTree = ""; @@ -161,8 +138,8 @@ isa = PBXGroup; children = ( 504EC3041FED79650016851F /* App.app */, - E82F34432F981B4F0013F400 /* OneSignalNotificationServiceExtension.appex */, - E82F34552F981C210013F400 /* OneSignalWidgetExtension.appex */, + E841A1002FAAC97E00E823BE /* OneSignalNotificationServiceExtension.appex */, + E841A1142FAACA2F00E823BE /* OneSignalWidgetExtension.appex */, ); name = Products; sourceTree = ""; @@ -170,7 +147,8 @@ 504EC3061FED79650016851F /* App */ = { isa = PBXGroup; children = ( - E82F34502F981B630013F400 /* App.entitlements */, + E841A10E2FAAC9FC00E823BE /* AppDebug.entitlements */, + E841A10D2FAAC9D300E823BE /* AppRelease.entitlements */, 50379B222058CBB4000EE86E /* capacitor.config.json */, 504EC3071FED79650016851F /* AppDelegate.swift */, 504EC30B1FED79650016851F /* Main.storyboard */, @@ -179,16 +157,15 @@ 504EC3131FED79650016851F /* Info.plist */, 2FAD9762203C412B000D30F8 /* config.xml */, 50B271D01FEDC1A000F3C39B /* public */, - FA01F00D2F98000000000001 /* vine_boom.wav */, ); path = App; sourceTree = ""; }; - E82F34562F981C210013F400 /* Frameworks */ = { + E841A1152FAACA2F00E823BE /* Frameworks */ = { isa = PBXGroup; children = ( - E82F34572F981C210013F400 /* WidgetKit.framework */, - E82F34592F981C210013F400 /* SwiftUI.framework */, + E841A1162FAACA2F00E823BE /* WidgetKit.framework */, + E841A1182FAACA2F00E823BE /* SwiftUI.framework */, ); name = Frameworks; sourceTree = ""; @@ -203,13 +180,13 @@ 504EC3001FED79650016851F /* Sources */, 504EC3011FED79650016851F /* Frameworks */, 504EC3021FED79650016851F /* Resources */, - E82F344B2F981B4F0013F400 /* Embed Foundation Extensions */, + E841A1082FAAC97E00E823BE /* Embed Foundation Extensions */, ); buildRules = ( ); dependencies = ( - E82F34492F981B4F0013F400 /* PBXTargetDependency */, - E82F34662F981C230013F400 /* PBXTargetDependency */, + E841A1062FAAC97E00E823BE /* PBXTargetDependency */, + E841A1252FAACA3000E823BE /* PBXTargetDependency */, ); name = App; packageProductDependencies = ( @@ -219,48 +196,48 @@ productReference = 504EC3041FED79650016851F /* App.app */; productType = "com.apple.product-type.application"; }; - E82F34422F981B4F0013F400 /* OneSignalNotificationServiceExtension */ = { + E841A0FF2FAAC97E00E823BE /* OneSignalNotificationServiceExtension */ = { isa = PBXNativeTarget; - buildConfigurationList = E82F344F2F981B4F0013F400 /* Build configuration list for PBXNativeTarget "OneSignalNotificationServiceExtension" */; + buildConfigurationList = E841A10C2FAAC97E00E823BE /* Build configuration list for PBXNativeTarget "OneSignalNotificationServiceExtension" */; buildPhases = ( - E82F343F2F981B4F0013F400 /* Sources */, - E82F34402F981B4F0013F400 /* Frameworks */, - E82F34412F981B4F0013F400 /* Resources */, + E841A0FC2FAAC97E00E823BE /* Sources */, + E841A0FD2FAAC97E00E823BE /* Frameworks */, + E841A0FE2FAAC97E00E823BE /* Resources */, ); buildRules = ( ); dependencies = ( ); fileSystemSynchronizedGroups = ( - E82F34442F981B4F0013F400 /* OneSignalNotificationServiceExtension */, + E841A1012FAAC97E00E823BE /* OneSignalNotificationServiceExtension */, ); name = OneSignalNotificationServiceExtension; packageProductDependencies = ( ); productName = OneSignalNotificationServiceExtension; - productReference = E82F34432F981B4F0013F400 /* OneSignalNotificationServiceExtension.appex */; + productReference = E841A1002FAAC97E00E823BE /* OneSignalNotificationServiceExtension.appex */; productType = "com.apple.product-type.app-extension"; }; - E82F34542F981C210013F400 /* OneSignalWidgetExtension */ = { + E841A1132FAACA2F00E823BE /* OneSignalWidgetExtension */ = { isa = PBXNativeTarget; - buildConfigurationList = E82F34692F981C230013F400 /* Build configuration list for PBXNativeTarget "OneSignalWidgetExtension" */; + buildConfigurationList = E841A1282FAACA3000E823BE /* Build configuration list for PBXNativeTarget "OneSignalWidgetExtension" */; buildPhases = ( - E82F34512F981C210013F400 /* Sources */, - E82F34522F981C210013F400 /* Frameworks */, - E82F34532F981C210013F400 /* Resources */, + E841A1102FAACA2F00E823BE /* Sources */, + E841A1112FAACA2F00E823BE /* Frameworks */, + E841A1122FAACA2F00E823BE /* Resources */, ); buildRules = ( ); dependencies = ( ); fileSystemSynchronizedGroups = ( - E82F345B2F981C210013F400 /* OneSignalWidget */, + E841A11A2FAACA2F00E823BE /* OneSignalWidget */, ); name = OneSignalWidgetExtension; packageProductDependencies = ( ); productName = OneSignalWidgetExtension; - productReference = E82F34552F981C210013F400 /* OneSignalWidgetExtension.appex */; + productReference = E841A1142FAACA2F00E823BE /* OneSignalWidgetExtension.appex */; productType = "com.apple.product-type.app-extension"; }; /* End PBXNativeTarget section */ @@ -270,16 +247,16 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 2620; - LastUpgradeCheck = 920; + LastUpgradeCheck = 0920; TargetAttributes = { 504EC3031FED79650016851F = { CreatedOnToolsVersion = 9.2; LastSwiftMigration = 1100; }; - E82F34422F981B4F0013F400 = { + E841A0FF2FAAC97E00E823BE = { CreatedOnToolsVersion = 26.2; }; - E82F34542F981C210013F400 = { + E841A1132FAACA2F00E823BE = { CreatedOnToolsVersion = 26.2; }; }; @@ -301,8 +278,8 @@ projectRoot = ""; targets = ( 504EC3031FED79650016851F /* App */, - E82F34422F981B4F0013F400 /* OneSignalNotificationServiceExtension */, - E82F34542F981C210013F400 /* OneSignalWidgetExtension */, + E841A0FF2FAAC97E00E823BE /* OneSignalNotificationServiceExtension */, + E841A1132FAACA2F00E823BE /* OneSignalWidgetExtension */, ); }; /* End PBXProject section */ @@ -318,18 +295,17 @@ 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */, 504EC30D1FED79650016851F /* Main.storyboard in Resources */, 2FAD9763203C412B000D30F8 /* config.xml in Resources */, - FA01F00D2F98000000000002 /* vine_boom.wav in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E82F34412F981B4F0013F400 /* Resources */ = { + E841A0FE2FAAC97E00E823BE /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E82F34532F981C210013F400 /* Resources */ = { + E841A1122FAACA2F00E823BE /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -347,14 +323,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E82F343F2F981B4F0013F400 /* Sources */ = { + E841A0FC2FAAC97E00E823BE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E82F34512F981C210013F400 /* Sources */ = { + E841A1102FAACA2F00E823BE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -364,15 +340,15 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - E82F34492F981B4F0013F400 /* PBXTargetDependency */ = { + E841A1062FAAC97E00E823BE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = E82F34422F981B4F0013F400 /* OneSignalNotificationServiceExtension */; - targetProxy = E82F34482F981B4F0013F400 /* PBXContainerItemProxy */; + target = E841A0FF2FAAC97E00E823BE /* OneSignalNotificationServiceExtension */; + targetProxy = E841A1052FAAC97E00E823BE /* PBXContainerItemProxy */; }; - E82F34662F981C230013F400 /* PBXTargetDependency */ = { + E841A1252FAACA3000E823BE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = E82F34542F981C210013F400 /* OneSignalWidgetExtension */; - targetProxy = E82F34652F981C230013F400 /* PBXContainerItemProxy */; + target = E841A1132FAACA2F00E823BE /* OneSignalWidgetExtension */; + targetProxy = E841A1242FAACA3000E823BE /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -510,7 +486,7 @@ baseConfigurationReference = 958DCC722DB07C7200EA8C5F /* debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = App/App.entitlements; + CODE_SIGN_ENTITLEMENTS = App/AppDebug.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 99SW8E36CT; @@ -534,7 +510,7 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = App/App.entitlements; + CODE_SIGN_ENTITLEMENTS = App/AppRelease.entitlements; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = ""; @@ -556,7 +532,7 @@ }; name = Release; }; - E82F344C2F981B4F0013F400 /* Debug */ = { + E841A1092FAAC97E00E823BE /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; @@ -565,7 +541,7 @@ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CODE_SIGN_ENTITLEMENTS = OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtension.entitlements; + CODE_SIGN_ENTITLEMENTS = OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtensionDebug.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 99SW8E36CT; @@ -598,7 +574,7 @@ }; name = Debug; }; - E82F344D2F981B4F0013F400 /* Release */ = { + E841A10A2FAAC97E00E823BE /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; @@ -607,7 +583,6 @@ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CODE_SIGN_ENTITLEMENTS = OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtension.entitlements; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = ""; @@ -641,7 +616,7 @@ }; name = Release; }; - E82F346A2F981C230013F400 /* Debug */ = { + E841A1292FAACA3000E823BE /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; @@ -671,7 +646,7 @@ MARKETING_VERSION = 1.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.onesignal.example.LA; + PRODUCT_BUNDLE_IDENTIFIER = com.onesignal.example.OneSignalWidget; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -684,7 +659,7 @@ }; name = Debug; }; - E82F346B2F981C230013F400 /* Release */ = { + E841A12A2FAACA3000E823BE /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; @@ -749,20 +724,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E82F344F2F981B4F0013F400 /* Build configuration list for PBXNativeTarget "OneSignalNotificationServiceExtension" */ = { + E841A10C2FAAC97E00E823BE /* Build configuration list for PBXNativeTarget "OneSignalNotificationServiceExtension" */ = { isa = XCConfigurationList; buildConfigurations = ( - E82F344C2F981B4F0013F400 /* Debug */, - E82F344D2F981B4F0013F400 /* Release */, + E841A1092FAAC97E00E823BE /* Debug */, + E841A10A2FAAC97E00E823BE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E82F34692F981C230013F400 /* Build configuration list for PBXNativeTarget "OneSignalWidgetExtension" */ = { + E841A1282FAACA3000E823BE /* Build configuration list for PBXNativeTarget "OneSignalWidgetExtension" */ = { isa = XCConfigurationList; buildConfigurations = ( - E82F346A2F981C230013F400 /* Debug */, - E82F346B2F981C230013F400 /* Release */, + E841A1292FAACA3000E823BE /* Debug */, + E841A12A2FAACA3000E823BE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/App.xcscheme b/examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/App.xcscheme deleted file mode 100644 index 76c8754..0000000 --- a/examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/App.xcscheme +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/OneSignalNotificationServiceExtension.xcscheme b/examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/OneSignalNotificationServiceExtension.xcscheme deleted file mode 100644 index 892819d..0000000 --- a/examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/OneSignalNotificationServiceExtension.xcscheme +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/OneSignalWidgetExtension.xcscheme b/examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/OneSignalWidgetExtension.xcscheme deleted file mode 100644 index 4f782e2..0000000 --- a/examples/demo/ios/App/App.xcodeproj/xcshareddata/xcschemes/OneSignalWidgetExtension.xcscheme +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/demo/ios/App/App/App.entitlements b/examples/demo/ios/App/App/AppDebug.entitlements similarity index 100% rename from examples/demo/ios/App/App/App.entitlements rename to examples/demo/ios/App/App/AppDebug.entitlements diff --git a/examples/demo/ios/App/App/AppRelease.entitlements b/examples/demo/ios/App/App/AppRelease.entitlements new file mode 100644 index 0000000..3446364 --- /dev/null +++ b/examples/demo/ios/App/App/AppRelease.entitlements @@ -0,0 +1,12 @@ + + + + + aps-environment + development + com.apple.security.application-groups + + group.com.onesignal.example.onesignal + + + diff --git a/examples/demo/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/demo/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json index b1a8483..5e294d5 100644 --- a/examples/demo/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/demo/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -11,4 +11,4 @@ "author": "xcode", "version": 1 } -} \ No newline at end of file +} diff --git a/examples/demo/ios/App/OneSignalNotificationServiceExtension/NotificationService.swift b/examples/demo/ios/App/OneSignalNotificationServiceExtension/NotificationService.swift index e45cd90..ab391a3 100644 --- a/examples/demo/ios/App/OneSignalNotificationServiceExtension/NotificationService.swift +++ b/examples/demo/ios/App/OneSignalNotificationServiceExtension/NotificationService.swift @@ -1,46 +1,30 @@ -// FILE: OneSignalNotificationServiceExtension/NotificationService.swift -// PURPOSE: Enables rich notifications (images) and confirmed delivery analytics -// REQUIREMENT: This extension must share an App Group with the main app target (configured in next steps) -// WHEN IT RUNS: iOS calls this extension when a push has "mutable-content": true -// (automatically set when you include images or action buttons) - import UserNotifications import OneSignalExtension class NotificationService: UNNotificationServiceExtension { - - // Callback to deliver the modified notification to iOS var contentHandler: ((UNNotificationContent) -> Void)? - - // The original push request from APNs var receivedRequest: UNNotificationRequest! - - // A mutable copy of the notification we can modify (add images, etc.) var bestAttemptContent: UNMutableNotificationContent? - // Called when a push notification arrives with mutable-content: true - // You have ~30 seconds to modify the notification before iOS displays it + // Note this extension only runs when `mutable_content` is set + // Setting an attachment or action buttons automatically sets the property to true override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { self.receivedRequest = request self.contentHandler = contentHandler self.bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent) if let bestAttemptContent = bestAttemptContent { - // DEBUGGING: Uncomment to verify NSE is running - // bestAttemptContent.body = "[Modified] " + bestAttemptContent.body + // DEBUGGING: Uncomment the 2 lines below to check this extension is executing +// print("Running NotificationServiceExtension") +// bestAttemptContent.body = "[Modified] " + bestAttemptContent.body - // OneSignal processes the notification: - // - Downloads and attaches images - // - Reports confirmed delivery to dashboard - // - Handles action buttons OneSignalExtension.didReceiveNotificationExtensionRequest(self.receivedRequest, with: bestAttemptContent, withContentHandler: self.contentHandler) } } - // Called if didReceive() takes too long (~30 seconds) - // Delivers whatever content we have so the notification isn't lost override func serviceExtensionTimeWillExpire() { - if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent { + // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used. + if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent { OneSignalExtension.serviceExtensionTimeWillExpireRequest(self.receivedRequest, with: self.bestAttemptContent) contentHandler(bestAttemptContent) } diff --git a/examples/demo/ios/App/OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtension.entitlements b/examples/demo/ios/App/OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtensionDebug.entitlements similarity index 100% rename from examples/demo/ios/App/OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtension.entitlements rename to examples/demo/ios/App/OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtensionDebug.entitlements diff --git a/examples/demo/ios/App/OneSignalWidget/OneSignalWidgetBundle.swift b/examples/demo/ios/App/OneSignalWidget/OneSignalWidgetBundle.swift index a3004df..eca60df 100644 --- a/examples/demo/ios/App/OneSignalWidget/OneSignalWidgetBundle.swift +++ b/examples/demo/ios/App/OneSignalWidget/OneSignalWidgetBundle.swift @@ -2,7 +2,7 @@ // OneSignalWidgetBundle.swift // OneSignalWidget // -// Created by Fadi George on 4/21/26. +// Created by Fadi George on 5/5/26. // import WidgetKit diff --git a/examples/demo_pods/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/demo_pods/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json index b1a8483..5e294d5 100644 --- a/examples/demo_pods/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/demo_pods/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -11,4 +11,4 @@ "author": "xcode", "version": 1 } -} \ No newline at end of file +} From 65d903b523e10d0d0623ee41fcc65eff82bccb81 Mon Sep 17 00:00:00 2001 From: Fadi George Date: Tue, 5 May 2026 18:58:12 -0700 Subject: [PATCH 10/12] ci(ios): build Release IPA, fix deployment targets --- .github/workflows/e2e.yml | 10 +++++----- examples/demo/ios/App/App.xcodeproj/project.pbxproj | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index c34aab0..b79787c 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -99,15 +99,15 @@ jobs: - name: Build signed IPA working-directory: examples/demo/ios/App - # Build the Debug configuration so WKWebView's remote inspector is - # exposed; Appium needs it to enter the WEBVIEW_* context. Release - # IPAs error with "data-testid is not a valid attribute" because - # selectors fall through to XCUITest's native attribute set. + # Release builds are fine for Appium because capacitor.config.ts sets + # `ios.webContentsDebuggingEnabled: true`, which forces + # WKWebView.isInspectable=true so the WEBVIEW_* context (and + # data-testid selectors) remain available in Release IPAs. run: | xcodebuild archive \ -project App.xcodeproj \ -scheme App \ - -configuration Debug \ + -configuration Release \ -sdk iphoneos \ -destination 'generic/platform=iOS' \ -archivePath build/App.xcarchive \ diff --git a/examples/demo/ios/App/App.xcodeproj/project.pbxproj b/examples/demo/ios/App/App.xcodeproj/project.pbxproj index 147cdc8..0765b41 100644 --- a/examples/demo/ios/App/App.xcodeproj/project.pbxproj +++ b/examples/demo/ios/App/App.xcodeproj/project.pbxproj @@ -551,7 +551,7 @@ INFOPLIST_FILE = OneSignalNotificationServiceExtension/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = OneSignalNotificationServiceExtension; INFOPLIST_KEY_NSHumanReadableCopyright = ""; - IPHONEOS_DEPLOYMENT_TARGET = 26.2; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -593,7 +593,7 @@ INFOPLIST_FILE = OneSignalNotificationServiceExtension/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = OneSignalNotificationServiceExtension; INFOPLIST_KEY_NSHumanReadableCopyright = ""; - IPHONEOS_DEPLOYMENT_TARGET = 26.2; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -636,7 +636,7 @@ INFOPLIST_FILE = OneSignalWidget/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = OneSignalWidget; INFOPLIST_KEY_NSHumanReadableCopyright = ""; - IPHONEOS_DEPLOYMENT_TARGET = 26.2; + IPHONEOS_DEPLOYMENT_TARGET = 16.2; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -680,7 +680,7 @@ INFOPLIST_FILE = OneSignalWidget/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = OneSignalWidget; INFOPLIST_KEY_NSHumanReadableCopyright = ""; - IPHONEOS_DEPLOYMENT_TARGET = 26.2; + IPHONEOS_DEPLOYMENT_TARGET = 16.2; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", From 6aa411e5509994125786e0b468e5bc3c94c9ab94 Mon Sep 17 00:00:00 2001 From: Fadi George Date: Tue, 5 May 2026 19:19:51 -0700 Subject: [PATCH 11/12] chore(ios): add location usage descriptions --- examples/demo/ios/App/App/Info.plist | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/demo/ios/App/App/Info.plist b/examples/demo/ios/App/App/Info.plist index d051347..d40c016 100644 --- a/examples/demo/ios/App/App/Info.plist +++ b/examples/demo/ios/App/App/Info.plist @@ -30,6 +30,10 @@ remote-notification + NSLocationWhenInUseUsageDescription + Used for location-targeted push notifications. + NSLocationAlwaysAndWhenInUseUsageDescription + Used for location-targeted push notifications. UILaunchStoryboardName LaunchScreen UIMainStoryboardFile From a560886ade7d0946c5aafbca47ec0a722a20e4aa Mon Sep 17 00:00:00 2001 From: Fadi George Date: Tue, 5 May 2026 19:31:18 -0700 Subject: [PATCH 12/12] ci: remove toolchain input from workflows --- .github/workflows/cd.yml | 1 - .github/workflows/ci.yml | 2 -- 2 files changed, 3 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 3a6910c..984de1e 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -22,4 +22,3 @@ jobs: GH_PUSH_TOKEN: ${{ secrets.GH_PUSH_TOKEN }} with: branch: ${{ github.event.pull_request.base.ref }} - toolchain: vite-plus diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eebee25..7c460ec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,5 +11,3 @@ concurrency: jobs: call: uses: OneSignal/sdk-shared/.github/workflows/wrapper-js-ci.yml@main - with: - toolchain: vite-plus