Files
daily-notification-plugin/test-apps/daily-notification-test
Jose Olarte III 9121b1e0f7 feat(configureNativeFetcher): optional JWT pool for background native fetch
Add jwtTokens / jwtTokenPoolJson to the TypeScript API, parse and validate
(max 128) on Android and iOS, persist jwtTokenPool with native_fetcher_config
when persistToken is true (Android), and extend NativeNotificationContentFetcher
with a four-argument configure overload delegating to the existing three-arg
default. iOS stores the pool in UserDefaults JSON and uses primary jwt or first
pool entry in the plugin background fetch path. Bump version to 2.2.0. Update
TestNativeFetcher to exercise the new configure overload.
2026-03-27 16:30:31 +08:00
..
2025-10-15 10:46:50 +00:00
2025-10-15 10:46:50 +00:00
2025-10-15 10:46:50 +00:00
2025-10-15 10:46:50 +00:00
2025-10-15 10:46:50 +00:00
2026-03-14 19:52:40 -06:00
2025-10-15 10:46:50 +00:00
2025-10-15 10:46:50 +00:00

daily-notification-test

This template should help get you started developing with Vue 3 in Vite.

VS Code + Vue (Official) (and disable Vetur).

Type Support for .vue Imports in TS

TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.

Customize configuration

See Vite Configuration Reference.

Project Setup

npm install

Note: The postinstall script automatically fixes Capacitor configuration files after installation.

Building for Android and iOS

Use the unified build script for both platforms:

# Build and run both platforms on emulator/simulator
./scripts/build.sh --run

# Build both platforms (no run)
./scripts/build.sh

# Build Android only
./scripts/build.sh --android

# Build iOS only
./scripts/build.sh --ios

# Build and run Android on emulator
./scripts/build.sh --run-android

# Build and run iOS on simulator
./scripts/build.sh --run-ios

See: docs/BUILD_QUICK_REFERENCE.md for detailed build instructions.

Manual Build Steps

Capacitor Sync

Important: Use the wrapper script instead of npx cap sync directly to automatically fix plugin paths:

# Sync both platforms
npm run cap:sync

# Sync Android only
npm run cap:sync:android

# Sync iOS only
npm run cap:sync:ios

This will:

  1. Run npx cap sync (or platform-specific sync)
  2. Automatically fix capacitor.settings.gradle (corrects plugin path from android/ to android/plugin/)
  3. Ensure capacitor.plugins.json has the correct plugin registration

If you run npx cap sync directly, you can manually fix afterward:

node scripts/fix-capacitor-plugins.js

Compile and Hot-Reload for Development

npm run dev

Type-Check, Compile and Minify for Production

npm run build

Lint with ESLint

npm run lint

ADB Commands for Android Testing

Package Name: org.timesafari.dailynotification.test

Check Device Connection

adb devices

Install App

Install the debug APK to a connected device or emulator:

# From project root
cd android
./gradlew installDebug

# Or from test-apps/daily-notification-test directory
cd android && ./gradlew installDebug

List Installed Packages

Check if the app is installed:

# List all packages (filter for this app)
adb shell pm list packages | grep timesafari

# List only this app's package
adb shell pm list packages org.timesafari.dailynotification.test

Launch/Raise the App

Launch the app or bring it to foreground:

# Launch the main activity
adb shell am start -n org.timesafari.dailynotification.test/.MainActivity

# Launch with explicit intent
adb shell am start -a android.intent.action.MAIN -n org.timesafari.dailynotification.test/.MainActivity

Uninstall App

Remove the app from the device:

# Uninstall by package name
adb uninstall org.timesafari.dailynotification.test

# Force uninstall (if regular uninstall fails)
adb shell pm uninstall -k --user 0 org.timesafari.dailynotification.test

Additional Useful ADB Commands

View App Logs:

# Filter logs for this app
adb logcat | grep -E "timesafari|DailyNotification|DNP"

# Clear logs before testing
adb logcat -c

Check App Info:

# Get app version and info
adb shell dumpsys package org.timesafari.dailynotification.test | grep -A 5 "versionName\|versionCode"

Force Stop App:

# Force stop the app (useful for testing recovery scenarios)
adb shell am force-stop org.timesafari.dailynotification.test

Clear App Data:

# Clear app data (resets to fresh install state)
adb shell pm clear org.timesafari.dailynotification.test